JPS6150416B2 - - Google Patents

Info

Publication number
JPS6150416B2
JPS6150416B2 JP52090699A JP9069977A JPS6150416B2 JP S6150416 B2 JPS6150416 B2 JP S6150416B2 JP 52090699 A JP52090699 A JP 52090699A JP 9069977 A JP9069977 A JP 9069977A JP S6150416 B2 JPS6150416 B2 JP S6150416B2
Authority
JP
Japan
Prior art keywords
numerical value
value
bits
converting
received
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
Application number
JP52090699A
Other languages
English (en)
Other versions
JPS5425106A (en
Inventor
Katsuhiro Nakamura
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
Nippon Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP9069977A priority Critical patent/JPS5425106A/ja
Publication of JPS5425106A publication Critical patent/JPS5425106A/ja
Publication of JPS6150416B2 publication Critical patent/JPS6150416B2/ja
Granted legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes

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)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

【発明の詳細な説明】
本発明はデイジタル・データの伝送あるいは蓄
積などによつて1ブロツク内に生じた2つ以下の
誤りを訂正する2重誤り訂正装置に関する。 以下、説明の便宜上、データ伝送の場合につい
て説明する。 データ伝送における誤りは、伝送路上の雑音に
よるものが多いことが認められている。従来、そ
のような雑音の影響から逃れるために送信側では
情報ビツト列に冗長ビツト列を付加して伝送路上
に送り出し、受信側では、その冗長性をもとにこ
れを復号することによつて誤りを検出し訂正する
という方式を採用している。 この冗長ビツト列を付加する方法して、従来一
般によく知られ利用されているものに、巡回符号
を用いる方法がある。巡回符号についての詳細
は、例えば、米国のMcGRAW―HILL BOOK
COMPANYから1968年に発行された刊行物
「Algebraic Coding Theory」のPP.8〜20および
PP.119〜144に詳しく述べられている。 この方法について簡潔に述べれば、情報ビツト
列a1,a2,……,akに対応する冗長ビツト列ak
+1,ak+2,……ak+nは、次のようにして定めら
れ、1ブロツク内に生じた2つ以下の誤りを自動
的に検出し訂正できるようになる。 まず、送信するビツト列の長さ(符号長)をN
(=K+m)として、前記情報ビツト列に対応す
る多項式I(x)=a1xN-1+a2x-2+…+aKN-k
を予め定められた1又は0を係数とするm次多項
式g(x)=xn+g1xn-1+…+gn-1x+1で割
り、剰余多項式R(x)=r1xm-1+r2xm-2+…+r
n-1x+rnを求める。この際の係数間の演算は2
を法として行ない、1+1=0+0=0,1+0
=0+1=1,1・1=1,0・1=1・0=
0・0=0とする。このとき、冗長ビツト列ak+
,ak+2,……,ak+nはak+1=r1,ak+2=r2
……,ak+n=rnとして定められる。なお、生成
多項式と呼ばれる前記m次多項式g(x)は、v
次の既約多項式g1(x)およびg2(x)の積とし
てg(x)=g1(x)・g2(x)のように表わさ
れ、しかも、g2(x3)がg1(x)で割り切れるよ
うに選ばれる。更に、既約多項式g1(x)は、通
常、既約多項式の中でもいわゆる原始多項式に選
ばれることが多い。原始多項式というのは、xc
−1を0<C2v−1の時割り切らずC=2v−1の
とき割り切る多項式のことでよく知られた多項式
である。この符号構成のしかたから前記情報ビツ
ト列を付加して得られる符号多項式 A(x)=a1xN-2+……+aN-1x+aN (1) は、前記多項式g1(x)およびg2(x)で必ず割
り切れるように構成されることになる。 一方、受信側では、このように構成された符号
を受信しながら、この受信符号多項式を前記多項
式g1(x)およびg2(x)で割り、その剰余多項
式S1(x=s11xv-1+s12xv-2+…+s1vおよびS2
(x)=s21xw-1+s22xw-2+…+s2vに対応した剰
余ビツトパターンS1=(s11,s12,…,s1v)およ
びS2(s21,…s22,…s2v)を調べる。次に、そ
れらが共に零ペクトル(0,0,…,0)なら
ば、誤りなし、少なくともどちらかが零ペクトル
でなければ、誤りありとして誤りの有無を検出
し、このあと、その剰余ビツトパターンをもとに
して訂正すべき受信ビツトを見つけて、誤りを訂
正している。この従来の訂正原理について以下に
説明する。 この剰余ビツトパターンS1,S2はシンドローム
とも呼ばれ、S1,S2から誤りの位置を見い出すた
めには、いわゆる有限体(つまり、ガロア体GF
(2v))の概念が応用される。有限体ないしガロ
ア体については前掲の刊行物「Algebraic
Coding Theory」のPP.87〜118に詳しく記され
ている。まず、送信データビツト列a1,a2,…,
Nのうち、a1とajが誤つたと仮定する。このと
き、受信側では、a1,a2,…(a1+1),…(aj
+1),…,aNを受信する。これを、前記符号多
項式A(x)を用いて多項式の形で示せば、A
(x)+xN-iN-jを受信したことになる。従つ
て、S1(x)およびS2(x)はxN-i+xN-jをそ
れぞれ前記多項式g1(x)およびg2(x)で割つ
た時の剰余多項式に等しい。ここで、Xuをg1
(x)で割つたときの剰余をαuで、g2(x)で割
つたときの剰余をβuで表わすことにすれば、α
u,βuはガロア体GF(2v)におけるg1(x)の
根αおよびg2(x)の根βをそれぞれu乗した元
とみなせることはよく知られている。一方、任意
の零でない高々(v−1)次の多項式は、原始多
項式g1(x)による剰余多項式とみなすことによ
つてαのべきと対応づけられることもよく知られ
ている。そこで、S1(x)およびS2(x)がそれ
ぞれ零でないとしてαN-r,αN-sに対応するもの
とすれば、ガロア体GF(2v)において、次式が
成立することになる。 αN-i+αN-j=αN-r(=S1) (1) βN-i+βN-j=αN-s(=S2) (2) 更に、g2(x3)がg1(x)で割り切れることか
ら β=α (3) も成立する。 なお、一般によく知られているように、符号長
Nは、g1(x)が原始多項式のとき、N=2v
1で与えられかつαN=αo=1が成立するので、
αのべき指数はN=2v−1を法とした値つまり
mod(2v−1)での値と考えられる。 さて、従来、誤り位置i,jを見い出すために
ガロア体GF(2v)の上での二次式 F(x)=(αN-1x−1)(αN-jx−1)の根α
i,αjを捜すという方法が用いられている。この
二次式は、シンドロームS1,S2を用いて次のよう
に表わされる。 まず、(1),(2),(3)式から次の(4)式が得られる。 αN-iαN-j =α2(N-r)+αr-s=S +S2/S1 (4) (1),(4)式より 前記二次式 F(x)=αN-iαN-jx2−(αN-i +αN-j)x+1 =(S +S2/S1)x2−S1x+1 (5) となる。つまり、(5)式の根の指数i,jが誤り位
置を示すことになる。 このような方法に従つた具体的な回路構成例が
生成多項式g(x)=(x4+x+1)(x4+x3+x2
+x+1)の場合につき、(株)産報から1971年に発
行された刊行物「データ通信」のPP.115〜119に
詳しく記述されている。 この構成においては、(5)式の係数を求めるため
に、ガロア体GF(2v)の上での演算S ,S2
S1)を算出する回路並びに(5)式にα,α,…,
αNを順次代入しながら根を捜すためのフイード
バツクシフトレジスタ回路を必要とするが、復号
に要する時間(クロツク数)が大きく、また、各
演算回路を制御するための制御パルスも種々必要
となり、全体の回路の素子数も大きくなるという
きらいがある。 本発明の目的は上述の従来の2重誤り訂正装置
の欠点を除去し新規な2重誤り訂正法に基づく簡
単な構成の復号時間の短かい2重誤り訂正装置を
提供することにある。 本発明の第1の2重誤り訂正装置は、奇数v次
の二つの多項式g1(x),g2(x)の積として表
わされる生成多項式をもつ巡回符号を用いた装置
であり、受信ビツト列を格納するためのバツフア
レジスタと、前記受信ビツト列から第1および第
2のシンドロームと呼ばれるビツトパターンを生
成するための手段と、前記第1および第2のシン
ドロームをそれぞれに対応する、第1の数値すな
わち前記g1(x)の根のべきのべき指数値、並び
に第2の数値すなわち前記g2(x)の根のべきの
べき指数値にビツト表現して変換するための第1
および第2の変換手段と、前記第1および第2の
数値を前記奇数vで定まる数N=2v−1を法と
して加算した結果を第3の数値として出力するた
めの第1の加算器と、前記第3の数値をこの第3
の数値をパラメータとする二変方程式の解として
定まる第4および第5の所定の数値に変換するた
めの第3の変換手段と、前記第4および第5の数
値に第1または第2の数値のうちの予め定められ
たどちらか一方を前記数Nを法とした結果を第6
および第7の数値として出力するための第2およ
び第3の加算器と、前記第1または第2のシンド
ロームが零ビツトパターンでないときでしかも前
記第3の数値が予め定められた特定の数値でない
ときにのみ前記第6および第7の数値番目の受信
ビツトを反転することによつて誤りビツトを訂正
する手段とから構成されている。 また、本発明の第2の2重誤り訂正装置は、奇
数次の二つの多項式の積として表わされる生成多
項式をもつ巡回符号を用いた装置であつて、受信
ビツト列を格納するためのバツフアレジスタと、
前記受信ビツト列から第1および第2のシンドロ
ームと呼ばれるビツトパターンを生成するための
手段と、前記第1および第2のシンドロームをそ
れぞれに対応する、第1の数値すなわち前記g1
(x)の根のべきのべき指数値、並びに第2の数
値すなわち前記g2(x)の根のべきのべき指数値
にビツト表現して変換するための第1および第2
の変換手段と、前記第1の数値から前記第2の所
定の数値を前記奇数vで定まる数N=2v−1を
法として減算した結果を第3の数値として出力す
るための減算器と、前記第3の数値をこの第3の
数値をパラメータとする二変数方程式の解として
定まる第4および第5の所定の数値に変換するた
めの第3の変換手段と、前記第4および第5の所
定の数値に前記第1および第2の数値をそれぞれ
前記数Nを法として加算した結果をそれぞれ第6
および第7の数値として出力するための第1およ
び第2の加算手段と、前記第1または第2のシン
ドロームが零ビツトパターンでないときでしかも
前記第3の数値が予じめ定められた特定の数値で
ないときにのみ前記第6および第7の数値番目の
受信ビツトを反転することによつて誤りビツトを
訂正する手段とから構成されている。 次に図面を参照して本発明をその原理と共に詳
細に説明する。 第1図は本発明の第1の実施例を示すブロツク
図、第2図および第3図はそれぞれ第1および第
2のシンドローム生成手段の一例として符号多項
式割算回路を用いた場合のブロツク図、第4図は
本発明の第2の実施例を示すブロツク図である。 まず、第1の2重誤り訂正装置について説明す
る。 第1図において、参照数字1は入力ラインを表
わし、参照数字2は受信したビツト列を格納する
ためのバツフアレジスタを示す。このバツフアレ
ジスタとしては、いわゆるシフトレジスタとかラ
ンダム・アクセス・メモリ等を用いることができ
るが、この図では、説明の都合上、シフトレジス
タを用いている。参照数字3および4は、受信ビ
ツト列から前記シンドロームを生成するための回
路で、例えば、符号長N=31、生成多項式 g(x)=g1(x)・g2(x)=(x5+x2+1)(x5
+x4+x3+x2+1)の符号に対しては、第2図お
よび第3図のような符号多項式割算回路を用いて
それぞれ第1および第2のシンドロームS1,S2
生成できることは、従来よく知られたことであ
る。なお、第2図および第3図の回路は、入力ビ
ツト列をビツト単位にシリアル処理してシンドロ
ームを生成する回路となつているが、従来からよ
く行なわれているように、数ビツト単位にパラレ
ル処理してシンドロームを生成するパラレル処理
用の回路を用いる場合もある。第2図および第3
図において、参照数字3―1〜3―5および4―
1〜4―5は1ビツトのレジスタを、参照数字3
―6,3―7および4―6〜4―9は2を法とし
た(mod2)加算回路、つまり、排他的論理和回
路を示す。 さて、シンドローム生成回路3および4でそれ
ぞれ生成されたシンドロームS1およびS2は、参照
数字5および6で示すビツトパターン変換手段に
よりそれぞれ前記(1)式で示した数(N−r)およ
び次の(6)式で示す数eに変換される。 なお、前記S2(x)は、前記g2(x)を原始多
項式に選ぶことによつてその根βのべきと対応づ
けるようにすることができるので、それをβN-e
で表わせば、前記(2)式は、 βN-1+βN-j=βN-e(=S2) (6) と、書き改めることができる。前記符号における
多項式g2(x)=x5+x4+x3+x2+1が原始多項
式であることはよく知られており、g1(x)が奇
数次の多項式であれば、一般にg2(x)を原始多
項式に選べることは明らかである。 さて、ビツトパターン変換手段5および6は、
例えば、読出し専用メモリ、すなわち、リードオ
ンリー・メモリ(ROM)を用いて実現すること
ができる。なお、(1)式および(6)式は、シンドロー
ムS1およびS2がそれぞれ零ビツトパターンでない
時の式であり、シンドロームS1またはS2が零ビツ
トパターンの時には、誤りが全くないか3ビツト
以上の訂正不能な誤りが生じた場合に限られる。
従つて、この場合には誤り訂正動作を行なわない
ようにしなければならない。このため、シンドロ
ームS1あるいはS2が零ビツトパターンか否かを検
出する手段が必要である。第1図では、その検出
手段の一例として前記ビツトパターン変換手段5
および6のリード・オンリー.メモリ(以下
ROMと言う)を用いている。つまり、S1あるい
はS2が零ビツトパターンでないとき、参照数字7
あるいは8で示されたコントロールラインにパル
スが出るように、ROMに書き込んである。もち
ろん、直接NAND(ナンド)回路等を用いて零ビ
ツトパターン検出器を構成してもよい。 表1は前記生成多項式 g(x)=g1(x)・g2(x) =(x5+x2+1)(x5+x4+x3+1) の場合について、ROMを用いて構成されたビツ
トパターン変換手段5および6の入出力関係を示
したものである。
【表】
【表】
【表】
【表】 なお、表1においてべき指数(N−r)および
eは、N=25−1=31を法としてときの値である
ため、5ビツトパターンで表現したとき、全て0
からなるビツトパターンと、全て1からなるビツ
トパターンは共に0(mod31)を示すが、どちら
を用いてもよいので、表1では全て0からなるビ
ツトパターンを0(mod31)として用いている。 さて、一符号内のi番目とj番目のビツト(i
≠j)に誤りが生じたとすると、 (6)式よりβ-(i-e)+β-(j-e)=1 (7) であり、また(1)式より α-(i-e)+α-(j-e)=αe-r (8) である。従つて、(3),(7),(8)式より(e−r)
(modN)が定まれば、この連立方程式を解くこ
とによつて(i−e)と(j−e)はmod Nに
おいて一意に定められる。 第1図において、参照数字9は、この(e−
r)(mod N=25−1)の値を求めるための加算
器である。(e−r)の値は、前記ビツトパター
ン変換手段5および6によつてそれぞれ得られた
(N−r)およびeの和(mod N)として得られ
る。なおN=2v−1を法とした加算器は、よく
知られているようにVビツトの通常の加算器のキ
ヤリー(c−arry)ビツトを1ビツトの値として
再度、その加算結果に加え合わせるように構成さ
れている。 加算器9で得られた数(e−r)(mod31)
は、ビツトパターン変換手段10により(7)式およ
び(8)式を満たす数(i−e)および(j−e)に
変換される。 ビツトパターン変換手段10もここではROM
を用いて実現されている。 なお、(e−r)の値によつては、(3),(7),(8)
式を満たす数(i−e)および(j−e)が存在
しないこともあるが、この場合には、1符号内に
全く誤りがないか2ビツト以外の誤りが生じてい
る場合である。 そこで、一符号内のi番目のビツトが1ビツト
だけ誤まつたものとすると、(1)式および(6)式に対
応する式は、 αN-j=αN-r(=S1) (9) βN-1=βN-e(=S2
(10)となるので、これより直ちに、 i=r=e(mod2u−1) (11) が導かれる。逆に、e=rでかつ2ビツト以下の
誤りが生じたものとすると、(9),(10)式を満すiは
存在するが、(1),(8)および(6)式を満すi,jは存
在しないので、1ビツトのみの誤りが生じている
ことがわかる。 ビツトパターン変換手段10では、以上のこと
を考慮してe−r=0(mod N=31)のときに
は、i−hおよびj−eを共に0(mod31)とし
てROMに書き込んである。また、(3),(7),(8)式
に解かないような(e−r)の値(但し、e−r
=oを除く)を検出するために、その一手段とし
てこのビツトパターン変換手段10のROMを用
い、(3),(7)および(8)式に解がある時だけ、参照数
字11で示されたたコントロールラインにパルス
がでるようにROMに2進数“1”がそれぞれ書
き込んである。 表2は前記多項式g(x)=g1(x)・g2
(x)=(x3+x2+1)(x5+x4+x3+x2+1)を生
成多項式とする符号の場合について、ROMを用
いて構成されたビツトパターン変換手段10の入
出力関係を示したものである。
【表】 なお、表2においては、1からなるビツトパタ
ーンでもつて0(mod31)を表わしているが、全
て0からなるビツトパターンを用いなかつた理由
については後述する。 このようにして、(e−r)(mod N)の値に
対応して一意に定まつた(i−e)および(j−
e)の値が得られると、誤り位置i,jは、 i=(i−e)+e(mod N) (9) j=(j−e)+e(mod N) (10) として求められるので、i番目とj番目の受信ビ
ツトaiおよびajを反転することによつて誤り訂
正を行なうことができる。 第1図において、参照数字12および13で示す加
算器は、それぞれビツトパターン変換手段10の
出力である(i−e)および(j−e)の値に、
ビツトパターン変換手段6の出力であるeの値N
を法として加え合わせ、誤り位置iおよびjの値
を出力するためのものである。 なお、1ビツトのみの誤りのときは、前述のよ
うに、ビツトパターン変換手段10はi−e=j
−e=0(mod N)として出力するので、加算
器12および13の出力は全く等しいことになる。
また、加算器12または13の出力がmod Nに
おいて0のときには、N番目のビツトが誤つてい
ることになるので、0でなくNの値が出力される
必要がある。そのためには、(i−e),(j−
e)あるいはeの値がmod Nにおいて0である
ときには、(i−e)および(j−e)の値また
はeの値のうちどちらかが全て1のパターン(つ
まりN=2v−1を示すパターン)で表わされて
いなければならない。このため、前述のように、
ビツトパターン変換手段10においては、全て1
からなるビツトパターンでもつて0(mod31)で
表わしている。 次に、加算器12および13の出力値i,jで
もつてi番目およびj番目の受信ビツトの誤りを
訂正する一例について説明する。なお、この訂正
は、ライン7,8および11からパルスが出てい
る場合にのみ行なう必要がある。 第1図の構成には、前記シフトレジスタ2から
シフトアウトされ受信ビツトの番号を出力するカ
ウンタ14と、このカウンタ14の出力と加算器
12および13の出力とを比較し一致した場合に
のみ出力パルスを発生するいわゆるコンパレータ
15および16とがさらに設けられている。コン
パレータ15および16の少なくとも一方に出力
パルスが生じたとき、オア・ゲート17を介して
ライン18にパルスが発生する。このライン18
に生じたパルスは、前記ライン7,8および11
にパルスが生じている時にのみ、アンド・ゲート
19を介してライン20に供給される。このライ
ン20にパルスが生じたとき、前記シフトレジス
タ2からシフトアウトされてきた受信ビツトは排
他的論理和回路21でビツト反転され、反転され
ることによつて訂正された受信ビツトがライン2
2へ供給される。 第1図で示した受信ビツトのi番目、j番目を
訂正する手段は、もちろんこの方法に限られるも
のではなく、いわゆるデコーダ回路を用いて直接
的にi番目とj番目のビツトを反転して訂正する
という周知の手段であつてもよい。 次に、前記符号長N=31、生成多項式 g(x)=g1(x).g2(x)=(x5+x2+1)(x5
+x4+x3+x2+1)=x10+x9+x8+x6+x5+x3
1の符号について本発明の装置による2重誤りを
訂正動作について説明する。この符号例では、生
成多項式の次数が10であるので、冗長ビツト数m
=10、情報ビツト数K=31−10=21となる。 一例として情報ビツトが
000000000000000000011であつたとすれば、前記
説明により冗長ビツトは、x11+x10をg(x)で
割つたときの剰余多項式の係数ビツトつまり
1011010010で与えられる。すなわち、
0000000000000000000111011010010が一符号とな
る。さて、伝送路で、例えば、第1番目と第3番
目のビツトが誤り、
1010000000000000000111011010010が受信された
とする。この受信ビツトは符号多項式x30+x28
x11+x10+x9+x7+x6+x4+xに対応する。本発
明の装置は、まず、この受信ビツトを前記シフト
レジスタ2に順次格納しつつ、前記シンドローム
生成手段3および4において、シンドロームS1
よびS2を第2図の符号多項式割算回路を用いて求
める。第2図aは受信符号多項式をx5+x2+1
で、第2図bはx5+x4+x3+x2+1で割る割算回
路であり、受信ビツトを全部入力し終つた時点で
剰余多項式の剰余ビツトS10,S11…S14および
S20,S21…S24が得られる。実際に求めてみる
と、S1=11100,S2=11100が得られる。従つて表
1より前記ビツトパターン変換手段5および6の
出力はそれぞれ00010,1および11001,1であ
る。従つて前記ライン7および8にはパルスが発
生し、前記加算器9の出力は、11011となる。こ
の結果前記ビツトパターン変換手段10の出力は
00111,01001,1となる。従つて、前記ライン1
1にはパルスが発生し前記加算器12および13
の出力は(00111)+(11001)=(00001);
(01001)+(11001)=(00011)(mod31)となり、
確かに誤り位置i=1およびJ=3を示してい
る。 前記シフトレジスタ2に格納された受信ビツト
の1番目と3番目のビツトを反転することによつ
て誤りを訂正する手順は前述のとおりである。 さて、以上説明してきた本発明の第1の実施例
に示す装置は、(1)式および(6)式をそれぞれ変形し
て得られる(8)式および(7)式に基づいた方式に従つ
ている。 しかし、(8)式および(7)式の代りに、(1)式および
(6)式から次のような式も導くことができる。 α-(i-r)+α-(j-r)=1 (11) β-(i-r)+β-(j-r)=β-(e-r) (12) (7)式および(8)式の代りにこの(11)および(12)式に基
づいて、2重誤り訂正装置を構成してもよい。そ
の構成図の一例は、第1図と全く両じであるが、
内容的に次の点が異なる。すなわち、まず、第1
図において、シンドローム生成手段3および4は
それぞれシンドロームS2およびS1の生成手段でビ
ツトパターン変換手段5および6の出力パターン
の値がそれぞれ(N−e)およびr(mod N)
である点が異なる。また、ビツトパターン変換手
段10は−(e−r)(mod N)の値を入力とし
(11)式および(12)式により一意に定められる(i−
r)および(j−r)(mod N)の値を出力とす
るものとする。従つて、加算器12および13は
それぞれ(i−r)+rおよび(j−r)+rを
mod Nにおいて加算器である。他はすべて前述
の構成と同じである。従つて、(11)式および(12)式に
基づいた2重誤り訂正装置も1符号内の2ビツト
以下の誤りを訂正することができる。 次に本発明の第2の2重誤り訂正装置について
説明する。 原理的な面を先に述べると、第1の2重誤り訂
正装置に関して述べたように、1符号内のi番目
とj番目のビツトに誤りが生じたとき、(7)式、(8)
式および(11)式、(12)式が成立する。従つて、Nを法
とした(e−r)の値又は(r−e)の値をもと
にして、Nを法とした{(i−e),(j−e)}お
よび{(i−r),(j−r)}の値の組が一意に定
まる。但し、前述したように、1ビツト誤り(i
=j)のときは、i−e=j−e=i−r=j−
rであるものとする。 第1の実施例では、この2つの値の組のうちど
ちらか一方を用いて誤り位置iおよびjを求めて
いた。このため、第1図から分るように、加算器
12および13は共にビツトパターン変換器6の
出力を入力とし、ビツトパターン変換器6のフア
ン・アウトを大きくとる(出力ライン数が極めて
大きくなる)必要がある。 第2の2重誤り訂正装置は、この欠点を正すべ
く提案されたものであり、前記{(i−e),(j
−e)}および{(i−r),(j−r)}の組か
ら、{(i−e),(j−r)}または{(i−r),
(j−e)}の組を作り、このどちらか一方を用い
て誤り位置iおよびjを求めるという方法に従
う。この際、問題となるのは、(i−e)と(j
−e)との間または(i−r)と(j−r)との
間には、どちらがどちらという区別はもともとな
いことである。i−e=j−e=i−r=j−r
のときは、もちろん問題はないが、そうでないと
き、つまり、i≠jの場合には、{C1,C2}とい
う組を作つたとき、(C1−C2)の値が±(e−r)
の値(mod N)に等しくないように選ぶ必要が
ある。もし、そのように選んだとすれば、{(i−
e),(i−r)}または{(i−e),(j−r)}
のどちらかを作つたことになるからである。 次に、第4図を参照して本発明の第2の2重誤
り訂正装置を示す第2の実施例について説明す
る。第4図において、参照数字1′〜22′で示さ
れたブロツクあるいはラインは、それぞれ第1図
における参照数字1〜22で示されたブロツクあ
るいはラインに対応しているが、ただ、参照数字
9′で示されたブロツクが、eの値からrの値を
またはrの値からeの値を、Nを法として減算し
た結果を出力する減算器を示していることと、ビ
ツトパターン変換手段10′がNを法とした(j
−e)の値または((j−r)および(i−e)
の値を示すビツトパターンを出力するビツトパタ
ーン変換手段であることとさらに、加算器12′
はビツトパターン変換手段6′からでなくビツト
パターン変換手段5′からの出力を1つの入力と
している点とが異なる。つまり、加算器12′お
よび13′においては、ビツトパターン変換手段
10′からの出力が(i−r)および(j−e)
の場合には、 (i−r)+r=i (mod N) (13) (j−e)+e=j (mod N) (14) 両式に従つて、また(j−r)および(i−e)
の場合には、 (j−r)+=j (mod N) (15) (i−e)+e=i (mod N) (16) の両式に従つて誤り位置iおよびjを求めてい
る。 なお、N=2v−1を法として、例えば、eか
らrを減算する減算器は、vビツトで表現された
eとvビツトで表現されたrを全ビツト反転した
ものとを入力とするNを法とした加算器で実現さ
れることは明らかである。 また、第1図の場合と同様であるが、シンドロ
ームS1が零ビツトパターンでない場合にのみコン
トロールライン7′であるいは8′を介しておよび
減算器9′の出力である(e−r)または(r−
e)の値が(7)式および(8)式あるいは(11)式および(11)
式を成立させる値である場合にのみコントロール
ライン11′を介してパルスが発生し誤り訂正動
作が実行されるように、アンドゲート19′が設
けられている。これは、第1の2重誤り訂正装置
の場合と同様の理由による。 他のブロツクの機能も第1図の場合と全く同様
である。 従つて、第4図のように構成された装置が、一
符号内の2ビツト以下の誤りを訂正する装置とな
つていることは明らかである。 なお、本発明では、生成多項式g(x)=g1
(x)・g2(x)=(x5+x2+1)(x5+x4+x3+x2
1)の場合を例によつてその構成を説明したが、
他の生成多項式の場合についても、同様の機能を
達成できるように構成し得ることは容易に理解で
きる。 以上、説明してきたように、本発明の装置は従
来よりも極めて簡単な構成でもつて実現でき、誤
りの位置も迅速に検出することができるという特
徴を有している。
【図面の簡単な説明】
第1図は本発明の第1の実施例を示すブロツク
図、第2図および第3図は本発明の一構成手段と
して用いられる第1および第2のシンドローム生
成手段を示す回路図および第4図は本発明の第2
の実施例を示すブロツク図である。第1図および
第4図において、参照数字1および1′は入力ラ
イン、参照数字2および2′はバツフアレジス
タ、参照数字3および4並びに3′および4′は第
1および第2並びに第1′および第2′のシンドロー
ム生成手段、参照数字5および6並びに5′およ
び6′は、第1および第2並びに第1′および第
2′のビツトパターン変換手段、参照数字7および
8並びに7′および8′はコントロールライン、参
照数字9はNを法とした第1の加算器、参照数字
9′はNを法とした減算器、参照数字10および
10′は第3および第3′のビツトパターン変換手
段、参照数字11および11′は他のコントロー
ルライン参照数字12および13並びに12′お
よび13′は第2および第3並びに第1′および第
2′の加算器、参照数字14および14′はカウン
タ、参照数字15および16並びに15′および
16′は第1および第2並びに第1′および第2′の
コンパレータ、参照数字17および17′はオ
ア・ゲート参照数字18および18′はオア・ゲ
ートの出力ライン、参照数字19および19′は
アンド・ゲート、参照数字20および20′はア
ンド・ゲートの出力ライン、参照数字21および
21′は排他的論理和回路、参照数字22および
22′は出力ラインをそれぞれ表わす。また、第
2図および第3図において、参照数字3―1〜3
―5および4―1〜4―5は、1ビツトのデータ
を蓄えるレジスタを、参照数字3―6,3―7お
よび4―6〜4―9は2を法とした加算回路つま
り排他的論理回路を表わす。

Claims (1)

  1. 【特許請求の範囲】 1 奇数v次の二つの多項式g1(x)およびg2
    (x)の積として表わされる生成多項式をもつ巡
    回符号を用いた2重誤り訂正装置において、受信
    ビツト列を格納するためのバツフアレジスタと、
    前記受信ビツト列から第1および第2のシンドロ
    ームと呼ばれるビツトパターンを生成するための
    手段と、前記第1および第2のシンドロームをそ
    れぞれのシンドロームに対応する前記g1(x)の
    根αのべきのべき指数値を示す第1の数値および
    前記g2(x)の根βのべきのべき指数値を示す第
    2の数値にビツト表現して変換するための第1お
    よび第2の変換手段と、前記第1および第2の数
    値を前記奇数vで定まる数N=2v−1を法とし
    て加算した結果Cを第3の数値として出力するた
    めの第1の加算器と、前記第3の数値をこの第3
    の数値をパラメータとする二変数方程式すなわ
    ち、【式】又は 【式】の解として定まる第4およ び第5の数値X,Yに変換するための第3の変換
    手段と、前記第4および第5の数値に前記第1ま
    たは第2の数値のうち予め定められたどちらか一
    方を前記数Nを法として加算した結果を第6およ
    び第7の数値として出力するための第2および第
    3の加算器と、前記第1または第2のシンドロー
    ムが零ビツトパターンでないときでしかも前記第
    3の数値が予め定められた特定の数値でないとき
    にのみ前記第6および第7の数値番目の受信ビツ
    トを反転することによつて誤りビツトを訂正する
    手段とから構成されたことを特徴とする2重誤り
    訂正装置。 2 奇数v次の二つの多項式g1(x)およびg2
    (x)の積として表わされる生成多項式をもつ巡
    回符号を用いた2重誤り訂正装置において、受信
    ビツト列を格納するためのバツフアレジスタと、
    前記受信ビツト列から第1および第2のシンドロ
    ームと呼ばれるビツトパターンを生成するための
    手段と、前記第1および第2のシンドロームをそ
    れぞれのシンドロームに対応する前記g1(x)の
    根αのべきのべき指数値を示す第1の数値および
    前記g2(x)の根βのべきのべき指数を示す第2
    の数値にビツト表現して変換するための第1およ
    び第2の変換手段と、前記第1の数値から前記第
    2の数値を前記奇数vで定まる数N=2v−1を
    法として減算した結果C′を第3の数値として出
    力するための減算器と、前記第3の数値をこの第
    3の数値をパラメータとする二変数方程式すなわ
    ち、【式】および のそれぞれの解(X,Y)および(X′,Y′)と
    から組合せて定まる第4および第5の数値X′,
    Y又はX,Yに変換するための第3の変換手段
    と、前記第4および第5の数値に前記第1および
    第2の数値をそれぞれ前記数Nを法として加算し
    た結果をそれぞれ第6の数値および第7の数値と
    して出力するための第1および第2の加算手段
    と、前記第1または第2のシンドロームが零ビツ
    トパターンでないときでしかも前記第3の数値が
    予め定められた特定の数値でないときにのみ前記
    第6および第7の数値番目の受信ビツトを反転す
    ることによつて誤りビツトを訂正する手段とから
    構成されたことを特徴とする2重誤り訂正装置。
JP9069977A 1977-07-27 1977-07-27 Correcting device for double error Granted JPS5425106A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9069977A JPS5425106A (en) 1977-07-27 1977-07-27 Correcting device for double error

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9069977A JPS5425106A (en) 1977-07-27 1977-07-27 Correcting device for double error

Publications (2)

Publication Number Publication Date
JPS5425106A JPS5425106A (en) 1979-02-24
JPS6150416B2 true JPS6150416B2 (ja) 1986-11-04

Family

ID=14005764

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9069977A Granted JPS5425106A (en) 1977-07-27 1977-07-27 Correcting device for double error

Country Status (1)

Country Link
JP (1) JPS5425106A (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5846741A (ja) * 1981-09-11 1983-03-18 Nec Corp 復号器
FR2533091A1 (fr) * 1982-09-13 1984-03-16 Cii Honeywell Bull Systeme de detection et de correction d'erreurs de transmission d'un message binaire utilisant un code cyclique detecteur et correcteur d'erreurs de type reed-solomon entrelace
JPS59128844A (ja) * 1983-01-14 1984-07-25 Mitsubishi Electric Corp Bch符号の復号器
JPS61269535A (ja) * 1985-05-24 1986-11-28 Mita Ind Co Ltd シンドロ−ム計算装置
JPS61273019A (ja) * 1985-05-27 1986-12-03 Mita Ind Co Ltd シンドロ−ム計算装置

Also Published As

Publication number Publication date
JPS5425106A (en) 1979-02-24

Similar Documents

Publication Publication Date Title
US5440570A (en) Real-time binary BCH decoder
EP0114938B1 (en) On-the-fly multibyte error correction
US10243589B2 (en) Multi-bit error correction method and apparatus based on a BCH code and memory system
KR102352158B1 (ko) 리스트 디코딩 생성을 통한 이진 bch 코드들의 bm-기반 빠른 체이스 디코딩에서 빠른 다항식 업데이트를 위한 방법을 수행하기 위한 asic
JPH07312560A (ja) 誤り訂正符号化装置及び誤り訂正復号装置及び誤り訂正符号付きデータ伝送システム及び誤り訂正符号の復号方法
JP2010518464A (ja) 半導体記憶装置
JPH02189032A (ja) エラー訂正方法
JPH10107650A (ja) 誤り検出回路および誤り訂正回路
EP1102406A2 (en) Apparatus and method for decoding digital data
Morii et al. Error-trapping decoding for cyclic codes over symbol-pair read channels
JPS6150416B2 (ja)
JP5602312B2 (ja) 誤り訂正復号装置
KR940011663B1 (ko) 오류정정 시스템
Umanesan et al. Parallel decoding cyclic burst error correcting codes
US10623018B2 (en) Method of arrangement of an algorithm in cyclic redundancy check
JPS6217256B2 (ja)
JP3099890B2 (ja) Bch符号の誤り訂正装置
JPS6135731B2 (ja)
JP2006033233A (ja) リード・ソロモン復号方法及び装置
KR0167390B1 (ko) 복호화 장치
JP2553571B2 (ja) ガロア体演算装置
JP2006041745A (ja) 誤り位置検出方法及び装置
KR100246342B1 (ko) 리드솔로몬오류수정장치
JP2752510B2 (ja) 誤り訂正復号器
JPH0133055B2 (ja)