JPH0916422A - 誤り検出・訂正方法 - Google Patents
誤り検出・訂正方法Info
- Publication number
- JPH0916422A JPH0916422A JP7162717A JP16271795A JPH0916422A JP H0916422 A JPH0916422 A JP H0916422A JP 7162717 A JP7162717 A JP 7162717A JP 16271795 A JP16271795 A JP 16271795A JP H0916422 A JPH0916422 A JP H0916422A
- Authority
- JP
- Japan
- Prior art keywords
- error
- matrix
- syndrome
- bit
- vector
- 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.)
- Withdrawn
Links
Landscapes
- Detection And Correction Of Errors (AREA)
Abstract
(57)【要約】
【目的】 情報語中の特定のブロックを強く保護する誤
り訂正方法を提供する。 【構成】 入力データ1は符号化回路2によって検査ビ
ットが付加され、チャネル3を通して通信路4に送出さ
れる。通信路4を経て受信された情報語はチャネル5を
通して復号回路6に入力される。復号回路6では、受信
した情報語Dにパリティ検査マトリクスHの転置行列H
T を乗算してシンドロームSを生成し、さらにこのシン
ドロームSのパターンに基づいて、誤り訂正を行う。誤
りが訂正され、復号が完了した情報は出力データ7とし
て出力される。また偶数誤りがある場合は、誤り検出出
力24が出力される。パリティ検査マトリクスHは6−
1に示すような構造を持ち、1ビット誤り訂正に加え
て、情報語中の特定のブロック中のすべての誤り訂正、
2ビット誤り検出の機能を有する。
り訂正方法を提供する。 【構成】 入力データ1は符号化回路2によって検査ビ
ットが付加され、チャネル3を通して通信路4に送出さ
れる。通信路4を経て受信された情報語はチャネル5を
通して復号回路6に入力される。復号回路6では、受信
した情報語Dにパリティ検査マトリクスHの転置行列H
T を乗算してシンドロームSを生成し、さらにこのシン
ドロームSのパターンに基づいて、誤り訂正を行う。誤
りが訂正され、復号が完了した情報は出力データ7とし
て出力される。また偶数誤りがある場合は、誤り検出出
力24が出力される。パリティ検査マトリクスHは6−
1に示すような構造を持ち、1ビット誤り訂正に加え
て、情報語中の特定のブロック中のすべての誤り訂正、
2ビット誤り検出の機能を有する。
Description
【0001】
【産業上の利用分野】本発明は、誤りを自動訂正して装
置・システムの信頼性を向上させるための誤り訂正方法
に関し、特に、温度、振動、ノイズ等による作業環境の
劣悪な状況下において正常動作させなければならない産
業用装置・システム、または医療、航空宇宙、公共シス
テム等、信頼性の要求される装置・システムにおいて利
用される誤り訂正方法に関する。
置・システムの信頼性を向上させるための誤り訂正方法
に関し、特に、温度、振動、ノイズ等による作業環境の
劣悪な状況下において正常動作させなければならない産
業用装置・システム、または医療、航空宇宙、公共シス
テム等、信頼性の要求される装置・システムにおいて利
用される誤り訂正方法に関する。
【0002】
【従来の技術】誤りを自動訂正する方法としては、例え
ば次のように、従来より多くの方法が存在する。 (1)回路・装置を三重化してその出力の多数決をとる
方法。 (2)回路・装置を二重化して各回路・装置に検査機能
をもたせ、検査機能により一方が誤りを検出したら他方
の出力を正常な出力とする方法。 (3)誤りを検出したら再度動作をやり直す方法。 (4)誤り訂正符号を適用して誤りの自動訂正を行う方
法。
ば次のように、従来より多くの方法が存在する。 (1)回路・装置を三重化してその出力の多数決をとる
方法。 (2)回路・装置を二重化して各回路・装置に検査機能
をもたせ、検査機能により一方が誤りを検出したら他方
の出力を正常な出力とする方法。 (3)誤りを検出したら再度動作をやり直す方法。 (4)誤り訂正符号を適用して誤りの自動訂正を行う方
法。
【0003】本発明は、このうち誤り訂正符号による方
法に関するものである。誤り訂正符号は従来より符号理
論として研究され、各種機能を有する符号が計算機、通
信、AV機器の分野において多く実用に供されている。
特に、高速な自動誤り訂正が要求される計算機の分野に
おいては、半導体メモリを使用した装置を対象に、ノイ
ズ等によるソフトエラーを考慮して、1ビット誤り訂正
・2ビット誤り検出の機能を有する符号が主に使用され
ている。
法に関するものである。誤り訂正符号は従来より符号理
論として研究され、各種機能を有する符号が計算機、通
信、AV機器の分野において多く実用に供されている。
特に、高速な自動誤り訂正が要求される計算機の分野に
おいては、半導体メモリを使用した装置を対象に、ノイ
ズ等によるソフトエラーを考慮して、1ビット誤り訂正
・2ビット誤り検出の機能を有する符号が主に使用され
ている。
【0004】ここで、誤り訂正符号の基本的な技術につ
いて、簡単に説明する。図12は誤り訂正符号を使用し
た一般的な自動誤り訂正方式を示す図である。図12に
おいて、入力データ91は符号化回路92に与えられ
る。符号化回路92は後述のパリティ検査マトリクスに
基づいて、検査ビットを付加する。このように符号化さ
れた情報を「情報語」と呼ぶ。情報語は送信情報として
チャネル93を介して通信路94へ送られる。通信路9
4は送信情報を伝達し、通信先への受信情報を与える。
受信情報はチャネル95を介して復号回路96へ送ら
れ、復号回路96は受信情報を解読して再生情報すなわ
ち出力データ97を生成する。
いて、簡単に説明する。図12は誤り訂正符号を使用し
た一般的な自動誤り訂正方式を示す図である。図12に
おいて、入力データ91は符号化回路92に与えられ
る。符号化回路92は後述のパリティ検査マトリクスに
基づいて、検査ビットを付加する。このように符号化さ
れた情報を「情報語」と呼ぶ。情報語は送信情報として
チャネル93を介して通信路94へ送られる。通信路9
4は送信情報を伝達し、通信先への受信情報を与える。
受信情報はチャネル95を介して復号回路96へ送ら
れ、復号回路96は受信情報を解読して再生情報すなわ
ち出力データ97を生成する。
【0005】しかし通信路94の途中には、誤動作や外
部ノイズ等の外乱要因(図中ノイズ源99として示す)
があり、チャネル95に現れる受信情報は必ずしも正し
くなく、誤りを含む可能性を有する。この誤りを訂正す
るのが復号回路96の役割である。なお、この図は通信
システムを想定したものであるが、実際にはメモリシス
テムにも誤り訂正符号を応用することも多い。その場合
は、通信路94が実際のメモリ素子となり、チャネル9
3はメモリへの書き込み、チャネル95はメモリからの
読み出しに相当すると考えればよい。
部ノイズ等の外乱要因(図中ノイズ源99として示す)
があり、チャネル95に現れる受信情報は必ずしも正し
くなく、誤りを含む可能性を有する。この誤りを訂正す
るのが復号回路96の役割である。なお、この図は通信
システムを想定したものであるが、実際にはメモリシス
テムにも誤り訂正符号を応用することも多い。その場合
は、通信路94が実際のメモリ素子となり、チャネル9
3はメモリへの書き込み、チャネル95はメモリからの
読み出しに相当すると考えればよい。
【0006】情報語を一般にnビットの2進数であらわ
し、D=(d0 , d1,...,dn-1 )とするとき、この中
には符号により決定されるrビットの検査ビットを含
む。符号化の方法は、0と1の2進数を要素とするr行
n列のパリティ検査マトリクス(以下Hマトリクスと呼
ぶ)で表現する。誤りを含まない情報語DとHマトリク
スの間には次の関係が成立する。すなわち、Dとして予
め次の関係が成立するようにその検査ビットが決められ
ている。
し、D=(d0 , d1,...,dn-1 )とするとき、この中
には符号により決定されるrビットの検査ビットを含
む。符号化の方法は、0と1の2進数を要素とするr行
n列のパリティ検査マトリクス(以下Hマトリクスと呼
ぶ)で表現する。誤りを含まない情報語DとHマトリク
スの間には次の関係が成立する。すなわち、Dとして予
め次の関係が成立するようにその検査ビットが決められ
ている。
【0007】
【数2】 D・HT =0 ‥‥‥‥(2) ここで、HT はHの行と列を入れ換えた転置行列であ
る。このとき、何らかの原因でD中に誤りが生起する
と、上記(2)式左辺の計算結果は0(rビットの零ベ
クトル)ではなくなる。この結果は、シンドロームSと
呼ばれ、rビットからなるベクトルで表現される。すな
わち、S=0であれば誤りなしと判定し、S≠0であれ
ば誤りを検出し、そのSのパターンをHに基づき解析す
ることにより誤りの位置と大きさを求め訂正する。これ
が、符号による誤り訂正の原理である。必要とする機能
を有する符号をいかに構成するかは、いかにマトリクス
Hを構成するかということに等しい。
る。このとき、何らかの原因でD中に誤りが生起する
と、上記(2)式左辺の計算結果は0(rビットの零ベ
クトル)ではなくなる。この結果は、シンドロームSと
呼ばれ、rビットからなるベクトルで表現される。すな
わち、S=0であれば誤りなしと判定し、S≠0であれ
ば誤りを検出し、そのSのパターンをHに基づき解析す
ることにより誤りの位置と大きさを求め訂正する。これ
が、符号による誤り訂正の原理である。必要とする機能
を有する符号をいかに構成するかは、いかにマトリクス
Hを構成するかということに等しい。
【0008】最近、メモリ素子の急激な発展により1素
子あたり4、8、16ビット等の複数ビットの同時入出
力を有する素子が中心的になりつつある。このような素
子を使用した装置・システムにおいては、特許第123
9430号(昭和59年11月13日)等に見られるよ
うな1ビット誤り訂正・2ビット誤り検出・1バイト誤
り検出、あるいは特許第1236411号(昭和59年
10月17日)に見られるような1バイト誤り訂正・2
バイト誤り検出の機能を有する符号が使用されるように
なっている。ここでバイトとは前記4、8、16等の複
数ビットの単位を意味する。
子あたり4、8、16ビット等の複数ビットの同時入出
力を有する素子が中心的になりつつある。このような素
子を使用した装置・システムにおいては、特許第123
9430号(昭和59年11月13日)等に見られるよ
うな1ビット誤り訂正・2ビット誤り検出・1バイト誤
り検出、あるいは特許第1236411号(昭和59年
10月17日)に見られるような1バイト誤り訂正・2
バイト誤り検出の機能を有する符号が使用されるように
なっている。ここでバイトとは前記4、8、16等の複
数ビットの単位を意味する。
【0009】前述のように、情報語には種々の物理的要
因により誤りが発生し、訂正が必要となる。誤りは情報
語のどの部分にも発生し得るが、情報語中には一般に非
常に重要な情報部分を含むことが多くあり、この部分に
生じた誤りはすべて訂正したい場合がある。例えば、情
報語中のアドレス情報、制御情報やデータベース等にお
けるポインタ情報等がこれに該当し、他のデータ部分に
比較し非常に重要な情報を含む。この部分における誤り
は、その後の処理に重大な影響を及ぼすことは明らかで
ある。従って、当該重要部分に対し、語中の他の部分に
生じた誤りによる影響をできるだけ受けないような手段
を講じる必要がある。すなわち、情報語中の特定部分を
他と比較して強く保護する必要があり、情報語中で保護
の度合いが異なる部分を内在した符号が要求されてい
る。
因により誤りが発生し、訂正が必要となる。誤りは情報
語のどの部分にも発生し得るが、情報語中には一般に非
常に重要な情報部分を含むことが多くあり、この部分に
生じた誤りはすべて訂正したい場合がある。例えば、情
報語中のアドレス情報、制御情報やデータベース等にお
けるポインタ情報等がこれに該当し、他のデータ部分に
比較し非常に重要な情報を含む。この部分における誤り
は、その後の処理に重大な影響を及ぼすことは明らかで
ある。従って、当該重要部分に対し、語中の他の部分に
生じた誤りによる影響をできるだけ受けないような手段
を講じる必要がある。すなわち、情報語中の特定部分を
他と比較して強く保護する必要があり、情報語中で保護
の度合いが異なる部分を内在した符号が要求されてい
る。
【0010】このような背景の下では、前述の1ビット
誤り訂正・2ビット誤り検出符号や1バイト誤り訂正・
2バイト誤り検出符号では十分その要求を満足できない
ことは明らかである。
誤り訂正・2ビット誤り検出符号や1バイト誤り訂正・
2バイト誤り検出符号では十分その要求を満足できない
ことは明らかである。
【0011】一般に、情報語中において保護する度合い
をディジット単位に変化させた符号として、従来、例え
ば、IEEE Transactions on Information Theory, vol.
IT-3, no.4, pp. 600-607, October 1967 に掲載された
B. Masnick と J. Wolfによる論文“On Linear Unequa
l Error Protection Codes”に示すような Unequal Err
or Protection Code(UEP符号)が提案され理論的研
究が行われてきた。
をディジット単位に変化させた符号として、従来、例え
ば、IEEE Transactions on Information Theory, vol.
IT-3, no.4, pp. 600-607, October 1967 に掲載された
B. Masnick と J. Wolfによる論文“On Linear Unequa
l Error Protection Codes”に示すような Unequal Err
or Protection Code(UEP符号)が提案され理論的研
究が行われてきた。
【0012】
【発明が解決しようとする課題】しかし、これまでのU
EP符号は復号が大変複雑であり、また検査ビットを非
常に多く必要とすることから経済的観点より大きな問題
を有していた。
EP符号は復号が大変複雑であり、また検査ビットを非
常に多く必要とすることから経済的観点より大きな問題
を有していた。
【0013】特に、計算機用情報語を考えると、語中で
決められた位置に存在するアドレス情報、コントロール
情報等の複数ビットのブロックに対し、ブロック中の各
ビットは一様な度合いで誤りから保護するモデルで十分
な場合が多い。ただし、ブロック内に対する保護の度合
いとブロック外に対する保護の度合いは異なり、当然前
者が強い。このときも、ブロック外の各ビットに対する
保護は一様でよい。さらに、外部からの物理的影響によ
る情報語中の任意のビットに生じる1ビット誤りを訂正
する機能を付加し、これに先の固定位置に存在するブロ
ック内で生起したすべての誤りを訂正する機能を有する
符号モデルで実用的に十分である。
決められた位置に存在するアドレス情報、コントロール
情報等の複数ビットのブロックに対し、ブロック中の各
ビットは一様な度合いで誤りから保護するモデルで十分
な場合が多い。ただし、ブロック内に対する保護の度合
いとブロック外に対する保護の度合いは異なり、当然前
者が強い。このときも、ブロック外の各ビットに対する
保護は一様でよい。さらに、外部からの物理的影響によ
る情報語中の任意のビットに生じる1ビット誤りを訂正
する機能を付加し、これに先の固定位置に存在するブロ
ック内で生起したすべての誤りを訂正する機能を有する
符号モデルで実用的に十分である。
【0014】このような単純なモデルであれば、必然的
に復号が容易であり検査ビット数も少ないはずである。
この1ビット誤り訂正・2ビット誤り検出の機能は、半
導体メモリ素子における(たとえ、複数ビット出力素子
においても)主な誤りはランダムな1ビット誤りであ
り、またメモリ以外においても外部雑音による誤りは1
ビットであることが多いことに根拠を置いている。
に復号が容易であり検査ビット数も少ないはずである。
この1ビット誤り訂正・2ビット誤り検出の機能は、半
導体メモリ素子における(たとえ、複数ビット出力素子
においても)主な誤りはランダムな1ビット誤りであ
り、またメモリ以外においても外部雑音による誤りは1
ビットであることが多いことに根拠を置いている。
【0015】情報語に対する保護の度合いに関する以上
のような考察を踏まえ、従来の複雑な符号に代わる、実
用的な誤り訂正方法が求められている。本発明は、この
ような点に鑑みてなされたものであり、誤りに対して特
に保護を必要とする情報語中の一部分について、この部
分に生じたすべての誤りを正しく訂正する機能を有し、
また高速かつ経済的に実現し得る誤り訂正方法を提供す
ることを目的とする。
のような考察を踏まえ、従来の複雑な符号に代わる、実
用的な誤り訂正方法が求められている。本発明は、この
ような点に鑑みてなされたものであり、誤りに対して特
に保護を必要とする情報語中の一部分について、この部
分に生じたすべての誤りを正しく訂正する機能を有し、
また高速かつ経済的に実現し得る誤り訂正方法を提供す
ることを目的とする。
【0016】特に、本発明ではブロック中のいかなる誤
りも訂正し、また情報語中に生じたランダムな1ビット
誤りを訂正し2ビット誤りを検出するだけでなく、ブロ
ックの誤りと1ビットの誤りまたは2ビット誤りが同時
に生起した場合でも、これらを検出し、誤ってブロック
中の誤りとして誤訂正することを避けた符号を開示す
る。すなわち、ブロック内の保護の度合いは、ブロック
内で生じたすべての誤りは訂正できること、またブロッ
ク外で生じた1ビットまたは2ビットの誤りが加わって
もこれらを検出し、ブロック内の情報は保護されるこ
と、の点で最も強い度合いである。一方、ブロック外で
は任意のランダムな1ビット誤りであればこれを正しく
訂正し、2ビットの誤りであれば確実に検出するという
保護の度合いであり、前者に比較すれば小さい。これに
より、当該ブロックを誤りから強く保護した符号を提供
するものである。
りも訂正し、また情報語中に生じたランダムな1ビット
誤りを訂正し2ビット誤りを検出するだけでなく、ブロ
ックの誤りと1ビットの誤りまたは2ビット誤りが同時
に生起した場合でも、これらを検出し、誤ってブロック
中の誤りとして誤訂正することを避けた符号を開示す
る。すなわち、ブロック内の保護の度合いは、ブロック
内で生じたすべての誤りは訂正できること、またブロッ
ク外で生じた1ビットまたは2ビットの誤りが加わって
もこれらを検出し、ブロック内の情報は保護されるこ
と、の点で最も強い度合いである。一方、ブロック外で
は任意のランダムな1ビット誤りであればこれを正しく
訂正し、2ビットの誤りであれば確実に検出するという
保護の度合いであり、前者に比較すれば小さい。これに
より、当該ブロックを誤りから強く保護した符号を提供
するものである。
【0017】
【課題を解決するための手段】本発明では上記課題を解
決するために、検査ビットが付加され、かつb(b>
2)ビットのブロックを1個有する情報語に対する誤り
検出・訂正方法において、パリティ検査マトリクスH
決するために、検査ビットが付加され、かつb(b>
2)ビットのブロックを1個有する情報語に対する誤り
検出・訂正方法において、パリティ検査マトリクスH
【0018】
【数3】
【0019】ただし前記パリティ検査マトリクスHの各
部分行列は、Ib =b×b単位行列、Ir =r×r単位
行列、P=偶数重みを有する(r−b)次の相異なるb
個の列ベクトルから構成される(r−b)×bの行列、
Q=整数1の2進表現を最大(2r-b-1 −b−1)個の
列ベクトルにもつ最大b×(2r-b-1 −b−1)の行
列、Me =偶数重みを有する最大(2r-b-1 −b−1)
個の列ベクトルから構成される最大(r−b)×(2
r-b-1 −b−1)の行列、ただし前記Me の列ベクトル
は、前記行列Pを構成するb個の列ベクトルpi (0≦
i≦b−1)において、p0 とpj (1≦j≦b−1)
の和ベクトルuj を求め、偶数重みを有する(r−b)
次ベクトルのうち、前記列ベクトルp0 と前記和ベクト
ルuj を除く相異なる非零列ベクトルを最大(2r-b-1
−b−1)個選んで前記Me の列ベクトルとし、0=最
大(2r-b-1 −(r−b))個のb次の零列ベクトルか
ら構成される零行列、MO =3以上の奇数重みを有する
(r−b)次の相異なる列ベクトルから構成される最大
(r−b)×(2r-b-1 −(r−b))行列、に基づい
て符号化された前記情報語に、前記パリティ検査マトリ
クスHの転置行列を乗算してrビットのシンドロームS
を生成し、すべては零でない前記シンドロームSに基づ
いて、誤りの検出・訂正を行う誤り検出・訂正方法が提
供される。
部分行列は、Ib =b×b単位行列、Ir =r×r単位
行列、P=偶数重みを有する(r−b)次の相異なるb
個の列ベクトルから構成される(r−b)×bの行列、
Q=整数1の2進表現を最大(2r-b-1 −b−1)個の
列ベクトルにもつ最大b×(2r-b-1 −b−1)の行
列、Me =偶数重みを有する最大(2r-b-1 −b−1)
個の列ベクトルから構成される最大(r−b)×(2
r-b-1 −b−1)の行列、ただし前記Me の列ベクトル
は、前記行列Pを構成するb個の列ベクトルpi (0≦
i≦b−1)において、p0 とpj (1≦j≦b−1)
の和ベクトルuj を求め、偶数重みを有する(r−b)
次ベクトルのうち、前記列ベクトルp0 と前記和ベクト
ルuj を除く相異なる非零列ベクトルを最大(2r-b-1
−b−1)個選んで前記Me の列ベクトルとし、0=最
大(2r-b-1 −(r−b))個のb次の零列ベクトルか
ら構成される零行列、MO =3以上の奇数重みを有する
(r−b)次の相異なる列ベクトルから構成される最大
(r−b)×(2r-b-1 −(r−b))行列、に基づい
て符号化された前記情報語に、前記パリティ検査マトリ
クスHの転置行列を乗算してrビットのシンドロームS
を生成し、すべては零でない前記シンドロームSに基づ
いて、誤りの検出・訂正を行う誤り検出・訂正方法が提
供される。
【0020】本発明ではさらに、誤りの検出・訂正にお
いて、前記シンドロ−ムSが、前記パリティ検査マトリ
クスHを構成する列ベクトルhi (0≦i≦n−1)に
一致する場合は、対応する前記情報語のi番目のビット
を訂正し、前記シンドロ−ムSが、前記列ベクトルhi
のいずれとも一致しない場合は、前記シンドロームSの
上位bビットからなるベクトルSF に前記行列Pの転置
行列PT を乗算して得られるベクトルSF ・PT が、前
記シンドロームSの下位(r−b)ビットからなるベク
トルSP に一致するとき、前記ブロックの誤りと判定
し、前記シンドロームSの上位bビットを誤りパターン
として前記ブロックの誤りを訂正する誤り検出・訂正方
法が提供される。
いて、前記シンドロ−ムSが、前記パリティ検査マトリ
クスHを構成する列ベクトルhi (0≦i≦n−1)に
一致する場合は、対応する前記情報語のi番目のビット
を訂正し、前記シンドロ−ムSが、前記列ベクトルhi
のいずれとも一致しない場合は、前記シンドロームSの
上位bビットからなるベクトルSF に前記行列Pの転置
行列PT を乗算して得られるベクトルSF ・PT が、前
記シンドロームSの下位(r−b)ビットからなるベク
トルSP に一致するとき、前記ブロックの誤りと判定
し、前記シンドロームSの上位bビットを誤りパターン
として前記ブロックの誤りを訂正する誤り検出・訂正方
法が提供される。
【0021】
【作用】パリティ検査マトリクスHに基づいて検査ビッ
トが付加され、かつbビットのブロックを1個有する情
報語を受信すると、受信した情報語にパリティ検査マト
リクスHの転置行列を乗算し、生成されたシンドローム
Sに基づいて、誤りの検出・訂正を行う。
トが付加され、かつbビットのブロックを1個有する情
報語を受信すると、受信した情報語にパリティ検査マト
リクスHの転置行列を乗算し、生成されたシンドローム
Sに基づいて、誤りの検出・訂正を行う。
【0022】また、誤りの検出・訂正においては、最初
にシンドロームSとパリティ検査マトリクスHの列を比
較し、1ビット誤りを検出して訂正する。さらにSF ・
PTとSp とを比較し、ブロック内の誤りを検出して訂
正する。
にシンドロームSとパリティ検査マトリクスHの列を比
較し、1ビット誤りを検出して訂正する。さらにSF ・
PTとSp とを比較し、ブロック内の誤りを検出して訂
正する。
【0023】
【実施例】以下、本発明の実施例を図面に基づいて説明
する。図1は本発明の概略構成を示すブロック図であ
る。図1において、入力データ1は符号化回路2によっ
て検査ビットが付加され、チャネル3を通して通信路4
に送出される。通信路4を経て受信された情報語はチャ
ネル5を通して復号回路6に入力される。復号回路6で
は、受信した情報語Dにパリティ検査マトリクスHの転
置行列HT を乗算してシンドロームSを生成し(図中6
−1)、さらにこのシンドロームSのパターンに基づい
て、誤り訂正を行う(図中6−2)。誤りが訂正され、
復号が完了した情報は出力データ7として出力され、別
途用途に使用される。偶数誤りがある場合は、誤り検出
出力24が出力され、例外処理の起動などに使用され
る。
する。図1は本発明の概略構成を示すブロック図であ
る。図1において、入力データ1は符号化回路2によっ
て検査ビットが付加され、チャネル3を通して通信路4
に送出される。通信路4を経て受信された情報語はチャ
ネル5を通して復号回路6に入力される。復号回路6で
は、受信した情報語Dにパリティ検査マトリクスHの転
置行列HT を乗算してシンドロームSを生成し(図中6
−1)、さらにこのシンドロームSのパターンに基づい
て、誤り訂正を行う(図中6−2)。誤りが訂正され、
復号が完了した情報は出力データ7として出力され、別
途用途に使用される。偶数誤りがある場合は、誤り検出
出力24が出力され、例外処理の起動などに使用され
る。
【0024】ここで、本発明における符号化と復号の方
法は、前記のパリティ検査マトリクスH(以下Hマトリ
クス)によって特徴付けられる。Hマトリクスは、図中
6−1に示すような特徴ある構造を有し、その詳細を図
2を使用して説明する。
法は、前記のパリティ検査マトリクスH(以下Hマトリ
クス)によって特徴付けられる。Hマトリクスは、図中
6−1に示すような特徴ある構造を有し、その詳細を図
2を使用して説明する。
【0025】図2は本発明の誤り訂正方法の情報語のフ
ォ−マット、およびパリティ検査マトリクスHの構成を
示す図である。図2(a)は長さnビットを有する情報
語のフォーマットを示す。すなわち、長さbビットを有
するブロックを先頭に位置付け、rビットからなる検査
ビットを最後に置く。ブロックは、検査ビットと重なら
なければどこの位置でもよいが、ここでは一般性を失う
ことなく先頭に置くこととする。もし、実際に先頭位置
でなければ、それに応じてHマトリクスの中の対応する
部分マトリクスをHの中で移動すればよい。
ォ−マット、およびパリティ検査マトリクスHの構成を
示す図である。図2(a)は長さnビットを有する情報
語のフォーマットを示す。すなわち、長さbビットを有
するブロックを先頭に位置付け、rビットからなる検査
ビットを最後に置く。ブロックは、検査ビットと重なら
なければどこの位置でもよいが、ここでは一般性を失う
ことなく先頭に置くこととする。もし、実際に先頭位置
でなければ、それに応じてHマトリクスの中の対応する
部分マトリクスをHの中で移動すればよい。
【0026】図2(b)は、このような情報語をベクト
ルで表現したものである。d0 からdb-1 がbビットの
ブロック情報であり、dn-r からdn-1 がrビットの検
査ビットである。
ルで表現したものである。d0 からdb-1 がbビットの
ブロック情報であり、dn-r からdn-1 がrビットの検
査ビットである。
【0027】図2の(c)はパリティ検査マトリクス
(Hマトリクス)の構成を示す。Hマトリクスは、部分
マトリクスHF 、H1 、H2 、Ir からなる。図2の
(d)に示すように、HF はb列からなり、上段にb×
bの単位行列I b 、下段に異なる偶数重みを有するb個
の列ベクトルから構成される(r−b)×bの行列Pよ
りなる。ここで「重み」とは、列ベクトルの要素のうち
値が1である要素の数を意味する。H1 上段の行列Q
は、整数1の2進表現を最大(2r- b-1 −b−1)個列
ベクトルに持つ、最大b×(2r-b-1 −b−1)の行列
である。整数1の2進表現とは、すなわちベクトルの最
初の要素のみが1で、残りの要素はすべて0であるよう
なベクトルを意味する。H1 の下段は偶数重み列ベクト
ルから構成される最大(r−b)×(2r-b-1 −b−
1)の行列Me である。行列Me は次のステップ〔S1
1〕〜〔S14〕の方法で求められる。 〔S11〕行列Pのb個の列ベクトルをそれぞれp0 ,
p1...,b b-1とする。 〔S12〕p0 ,pi (1≦i≦b−1)の和をui と
する。 〔S13〕重みが偶数のベクトルのうち、p0 ,u
i (1≦i≦b−1)を除く非零列ベクトルを最大2
r-b-1 −b−1個用意する。 〔S14〕これらを用いて行列Me を次のように求め
る。
(Hマトリクス)の構成を示す。Hマトリクスは、部分
マトリクスHF 、H1 、H2 、Ir からなる。図2の
(d)に示すように、HF はb列からなり、上段にb×
bの単位行列I b 、下段に異なる偶数重みを有するb個
の列ベクトルから構成される(r−b)×bの行列Pよ
りなる。ここで「重み」とは、列ベクトルの要素のうち
値が1である要素の数を意味する。H1 上段の行列Q
は、整数1の2進表現を最大(2r- b-1 −b−1)個列
ベクトルに持つ、最大b×(2r-b-1 −b−1)の行列
である。整数1の2進表現とは、すなわちベクトルの最
初の要素のみが1で、残りの要素はすべて0であるよう
なベクトルを意味する。H1 の下段は偶数重み列ベクト
ルから構成される最大(r−b)×(2r-b-1 −b−
1)の行列Me である。行列Me は次のステップ〔S1
1〕〜〔S14〕の方法で求められる。 〔S11〕行列Pのb個の列ベクトルをそれぞれp0 ,
p1...,b b-1とする。 〔S12〕p0 ,pi (1≦i≦b−1)の和をui と
する。 〔S13〕重みが偶数のベクトルのうち、p0 ,u
i (1≦i≦b−1)を除く非零列ベクトルを最大2
r-b-1 −b−1個用意する。 〔S14〕これらを用いて行列Me を次のように求め
る。
【0028】Me =〔v1 ,v2 ........,vm 〕(m
≦2r-b-1 −b−1) また、H2 は、上段に最大b×(2r-b-1 −(r−
b))の零行列0、下段に重み1を除く相異なる奇数重
み列ベクトルから構成される最大(r−b)×(2
r-b-1 −(r−b))の行列M0 からなる。さらにIr
はr×rの単位行列である。HF 、Ir はそれぞれブロ
ック、検査ビット部に対応している。
≦2r-b-1 −b−1) また、H2 は、上段に最大b×(2r-b-1 −(r−
b))の零行列0、下段に重み1を除く相異なる奇数重
み列ベクトルから構成される最大(r−b)×(2
r-b-1 −(r−b))の行列M0 からなる。さらにIr
はr×rの単位行列である。HF 、Ir はそれぞれブロ
ック、検査ビット部に対応している。
【0029】なお本符号の情報語の最大ビット長nmax
は、
は、
【0030】
【数4】 nmax =2r-b +b−1 ‥‥‥‥(4) にて表すことが出来る。後述の機能を有する符号として
は、これが理論的最大長であることが証明できる。
は、これが理論的最大長であることが証明できる。
【0031】本発明で開示する符号、すなわち図2に示
すHマトリクスは、次の3つの機能を有している。 〔機能1〕1ビット誤り訂正 〔機能2〕2ビット誤り検出 〔機能3〕ブロック中のすべての誤り訂正 これらの機能をすべて有する符号であれば、前述のブロ
ック中のすべての誤りの他に、ブロック外で1ビット誤
りが加わっても、これらを確実に検出できることは、容
易に証明できる。さらに、ブロック中のすべての誤りの
他にブロック外で2ビット誤りが加わっても、これらを
確実に検出し、少なくともブロックの誤りとして誤訂正
しないことも同様に証明できる。また、本機能を有する
符号は、ブロックの誤りに加え、ブロック外で1ビット
の誤りが生じても、これらを検出するだけではなく、正
しく訂正できる符号であることも証明できる。
すHマトリクスは、次の3つの機能を有している。 〔機能1〕1ビット誤り訂正 〔機能2〕2ビット誤り検出 〔機能3〕ブロック中のすべての誤り訂正 これらの機能をすべて有する符号であれば、前述のブロ
ック中のすべての誤りの他に、ブロック外で1ビット誤
りが加わっても、これらを確実に検出できることは、容
易に証明できる。さらに、ブロック中のすべての誤りの
他にブロック外で2ビット誤りが加わっても、これらを
確実に検出し、少なくともブロックの誤りとして誤訂正
しないことも同様に証明できる。また、本機能を有する
符号は、ブロックの誤りに加え、ブロック外で1ビット
の誤りが生じても、これらを検出するだけではなく、正
しく訂正できる符号であることも証明できる。
【0032】次に、本発明の符号、すなわち第2図に示
すHマトリクスが、上記3つの機能を満足していること
を証明する。〔機能1〜3〕の訂正および検出ができる
ためには、一般に、それぞれの誤りによるシンドローム
が、すべて相異なることが証明できればよい。
すHマトリクスが、上記3つの機能を満足していること
を証明する。〔機能1〜3〕の訂正および検出ができる
ためには、一般に、それぞれの誤りによるシンドローム
が、すべて相異なることが証明できればよい。
【0033】まず、〔機能1〕の1ビット誤り訂正が実
現できることは、Hマトリクス中のすべての列ベクトル
が相異なることから証明できる。すなわち、1ビット誤
りによるシンドロームは、(2)式の左辺を計算して、
そのrビットのベクトルとして求められ、これがHマト
リクスのいずれかの列ベクトルと一致すれば、その列に
対応するビットが誤りとして訂正できる。従って、H中
の列ベクトルがすべて異なれば、1ビットの誤りが特定
でき、訂正できることになる。
現できることは、Hマトリクス中のすべての列ベクトル
が相異なることから証明できる。すなわち、1ビット誤
りによるシンドロームは、(2)式の左辺を計算して、
そのrビットのベクトルとして求められ、これがHマト
リクスのいずれかの列ベクトルと一致すれば、その列に
対応するビットが誤りとして訂正できる。従って、H中
の列ベクトルがすべて異なれば、1ビットの誤りが特定
でき、訂正できることになる。
【0034】次に〔機能2〕の2ビット誤り検出につい
ては、2ビット誤りによるシンドロームが1ビット誤り
およびブロック誤りによるシンドロームと一致しないこ
とを示す必要がある。本符号のHマトリクスが、すべて
奇数重みの列ベクトルから構成されており、2ビット誤
りのシンドロームは偶数重みとなることから、1ビット
誤りのシンドロームと一致することはない。次に、
H1 、H2 、Ir に相当する情報部にそれぞれ2ビット
誤りが生じたとき、ブロック誤りによるシンドロームと
異なることは明らかである。また、H1 に相当する情報
部に1ビットの誤りと、H2 に相当する情報部に1ビッ
トの誤りが生じたとき、そのシンドロームは、上位bビ
ットが整数1の2進表現のパターン、下位(r−b)ビ
ットは重み奇数のパターンとなり、明らかにブロック誤
りによるシンドロームと異なる。同様に、H2 とIr に
相当する部分で、それぞれ1ビット誤りが生じた場合
も、ブロック誤りによるシンドロームと異なることは容
易に言える。最後に、H1 とIrに相当する情報部にそ
れぞれ1ビット誤りが生じた場合、シンドロームとして
上位bビットに重み2、下位r−bビットに重み偶数の
パターンとなるときが問題であるが、上記〔S11〕〜
〔S14〕で述べたような行列PとMe の関係により、
このシンドロームがブロック誤りによるシンドロームと
一致することはない。
ては、2ビット誤りによるシンドロームが1ビット誤り
およびブロック誤りによるシンドロームと一致しないこ
とを示す必要がある。本符号のHマトリクスが、すべて
奇数重みの列ベクトルから構成されており、2ビット誤
りのシンドロームは偶数重みとなることから、1ビット
誤りのシンドロームと一致することはない。次に、
H1 、H2 、Ir に相当する情報部にそれぞれ2ビット
誤りが生じたとき、ブロック誤りによるシンドロームと
異なることは明らかである。また、H1 に相当する情報
部に1ビットの誤りと、H2 に相当する情報部に1ビッ
トの誤りが生じたとき、そのシンドロームは、上位bビ
ットが整数1の2進表現のパターン、下位(r−b)ビ
ットは重み奇数のパターンとなり、明らかにブロック誤
りによるシンドロームと異なる。同様に、H2 とIr に
相当する部分で、それぞれ1ビット誤りが生じた場合
も、ブロック誤りによるシンドロームと異なることは容
易に言える。最後に、H1 とIrに相当する情報部にそ
れぞれ1ビット誤りが生じた場合、シンドロームとして
上位bビットに重み2、下位r−bビットに重み偶数の
パターンとなるときが問題であるが、上記〔S11〕〜
〔S14〕で述べたような行列PとMe の関係により、
このシンドロームがブロック誤りによるシンドロームと
一致することはない。
【0035】最後に〔機能3〕のブロック中のすべての
誤り訂正が実現できることは、HFの上段がIb である
ことから、ブロック中にいかなる誤りが生じても、上位
bビットのシンドロームがそれぞれ異なることから容易
に証明できる。ただし、この時のシンドロームが、前記
1ビット誤りのシンドロームと一致しないことを証明し
なければならない。
誤り訂正が実現できることは、HFの上段がIb である
ことから、ブロック中にいかなる誤りが生じても、上位
bビットのシンドロームがそれぞれ異なることから容易
に証明できる。ただし、この時のシンドロームが、前記
1ビット誤りのシンドロームと一致しないことを証明し
なければならない。
【0036】まず、Ir に相当する情報部(検査ビット
部)で生じた1ビット誤りによるシンドロームを考え
る。ブロック誤りのシンドロームに近いものは、Ib と
同じ部分マトリクスを有するIr 中(検査ビット部)に
存在する。この部分における1ビット誤りによるシンド
ロームは、その上位bビットに重み1を有するが、その
下位(r−b)ビットはすべて零であることから、ブロ
ックの誤りによるシンドロームとは明らかに異なる。
部)で生じた1ビット誤りによるシンドロームを考え
る。ブロック誤りのシンドロームに近いものは、Ib と
同じ部分マトリクスを有するIr 中(検査ビット部)に
存在する。この部分における1ビット誤りによるシンド
ロームは、その上位bビットに重み1を有するが、その
下位(r−b)ビットはすべて零であることから、ブロ
ックの誤りによるシンドロームとは明らかに異なる。
【0037】また、ブロック誤りによるシンドロームが
H1 に相当する情報部の1ビット誤りと一致しないこと
は、行列Pと行列Me の関係から明らかである。同様に
H2 に相当する情報部の1ビット誤りのシンドロームと
一致しないことは、H2 の上段に零行列を有することか
ら容易に証明できる。
H1 に相当する情報部の1ビット誤りと一致しないこと
は、行列Pと行列Me の関係から明らかである。同様に
H2 に相当する情報部の1ビット誤りのシンドロームと
一致しないことは、H2 の上段に零行列を有することか
ら容易に証明できる。
【0038】以上により、第2図に示すHマトリクス
が、〔機能1〜3〕のすべてを満足することが証明でき
た。図3は、本発明の誤り訂正方法の処理手順を示すフ
ローチャートである。本発明によれば、受信された情報
語の誤りの検出および訂正は、次のステップによって行
われる。 〔S1〕情報語にHマトリクスの転置行列を乗じ、r次
のベクトルであるシンドロームSを計算する。 〔S2〕シンドロームSが零ベクトル(すべての要素が
零であるベクトル)かどうかを判断する。零ベクトルで
あれば、情報語に誤りがないものとし、復号を完了す
る。零ベクトルでない場合はステップS3へ進む。 〔S3〕シンドロームSと、Hマトリクスを構成するn
個の列ベクトルhi (0≦i≦n−1)各々とを比較す
る。もしシンドロームSがi番目の列ベクトルh i と一
致した場合は、ステップS4に進む。もし一致する列ベ
クトルがない場合は、ステップS5に進む。 〔S4〕情報語中のi番目のビットすなわちdi を訂正
し、復号を完了する。 〔S5〕シンドロームSの上位bビットからなるベクト
ルSF に、Hマトリクスの部分行列Pの転置行列PT を
乗算し、シンドロームSの下位(r−b)ビットからな
るベクトルSP と比較を行う。ここで、
が、〔機能1〜3〕のすべてを満足することが証明でき
た。図3は、本発明の誤り訂正方法の処理手順を示すフ
ローチャートである。本発明によれば、受信された情報
語の誤りの検出および訂正は、次のステップによって行
われる。 〔S1〕情報語にHマトリクスの転置行列を乗じ、r次
のベクトルであるシンドロームSを計算する。 〔S2〕シンドロームSが零ベクトル(すべての要素が
零であるベクトル)かどうかを判断する。零ベクトルで
あれば、情報語に誤りがないものとし、復号を完了す
る。零ベクトルでない場合はステップS3へ進む。 〔S3〕シンドロームSと、Hマトリクスを構成するn
個の列ベクトルhi (0≦i≦n−1)各々とを比較す
る。もしシンドロームSがi番目の列ベクトルh i と一
致した場合は、ステップS4に進む。もし一致する列ベ
クトルがない場合は、ステップS5に進む。 〔S4〕情報語中のi番目のビットすなわちdi を訂正
し、復号を完了する。 〔S5〕シンドロームSの上位bビットからなるベクト
ルSF に、Hマトリクスの部分行列Pの転置行列PT を
乗算し、シンドロームSの下位(r−b)ビットからな
るベクトルSP と比較を行う。ここで、
【0039】
【数5】 SF ・PT =SP ‥‥‥‥(5) であれば、ブロック内にのみ誤りが存在すると認識し、
ステップS6へ進んで訂正を行う。一致しない場合は、
誤り検出とする。 〔S6〕シンドロームSの上位bビット、すなわちSF
を誤りパターンとして、ブロックを訂正し、復号完了す
る。
ステップS6へ進んで訂正を行う。一致しない場合は、
誤り検出とする。 〔S6〕シンドロームSの上位bビット、すなわちSF
を誤りパターンとして、ブロックを訂正し、復号完了す
る。
【0040】以上のアルゴリズムによれば、最初にステ
ップS1とS2によって、誤りがないかどうかを判断
し、ステップS3とS4によって任意の位置の1ビット
誤りを訂正する。さらにステップS5によって、ブロッ
ク内の誤りであるか、ブロック外の誤りとの組合せであ
るかを判断する。ブロック内の誤りであれば、ステップ
S6にて、すべての誤りを訂正する。
ップS1とS2によって、誤りがないかどうかを判断
し、ステップS3とS4によって任意の位置の1ビット
誤りを訂正する。さらにステップS5によって、ブロッ
ク内の誤りであるか、ブロック外の誤りとの組合せであ
るかを判断する。ブロック内の誤りであれば、ステップ
S6にて、すべての誤りを訂正する。
【0041】以下に本発明を具体的に実現する構成につ
いて述べる。図4は本発明の実施例である通信システム
の構成を示すブロック図である。入力データ1は符号化
回路2によって検査ビットが付加され、チャネル3を通
して通信路4に送出される。通信路4を経て受信された
情報語はチャネル5を通してシンドローム生成回路8へ
入力され、シンドローム9を作成する。また、このシン
ドロームはシンドロームデコード回路10へ入力され、
具体的な誤り指示を与える誤りポインタ信号群11を出
力し、訂正回路12にて受信情報の誤りを反転し訂正す
る。訂正された情報はチャネル7を介して出力され、別
途用途に使用される。
いて述べる。図4は本発明の実施例である通信システム
の構成を示すブロック図である。入力データ1は符号化
回路2によって検査ビットが付加され、チャネル3を通
して通信路4に送出される。通信路4を経て受信された
情報語はチャネル5を通してシンドローム生成回路8へ
入力され、シンドローム9を作成する。また、このシン
ドロームはシンドロームデコード回路10へ入力され、
具体的な誤り指示を与える誤りポインタ信号群11を出
力し、訂正回路12にて受信情報の誤りを反転し訂正す
る。訂正された情報はチャネル7を介して出力され、別
途用途に使用される。
【0042】次に、以上の構成において、さらに具体的
な符号例を用いて、実際に符号化回路、復号回路が構成
できることを示す。図5は、b=4,r=8とした場合
におけるHマトリクスを示す図である。情報語の長さ
は、(4)式よりnmax =19ビットが最大となり、図
5のDのように、ブロック長は4ビット、検査長は8ビ
ット、ブロックと検査部を除く部分の長さは7ビットと
なる。従って、d0 〜d18の情報語に対し、d0 〜d3
がブロック内のデータ、d11〜d18が検査ビットとな
る。情報語の各ビットと、Hマトリクスの各列とは、図
5のように対応している。Hマトリクスを構成する部分
行列の要件について図2の説明の中で述べたが、本実施
例においては、行列P、Q、Me およびMo は図5に示
す通りである。
な符号例を用いて、実際に符号化回路、復号回路が構成
できることを示す。図5は、b=4,r=8とした場合
におけるHマトリクスを示す図である。情報語の長さ
は、(4)式よりnmax =19ビットが最大となり、図
5のDのように、ブロック長は4ビット、検査長は8ビ
ット、ブロックと検査部を除く部分の長さは7ビットと
なる。従って、d0 〜d18の情報語に対し、d0 〜d3
がブロック内のデータ、d11〜d18が検査ビットとな
る。情報語の各ビットと、Hマトリクスの各列とは、図
5のように対応している。Hマトリクスを構成する部分
行列の要件について図2の説明の中で述べたが、本実施
例においては、行列P、Q、Me およびMo は図5に示
す通りである。
【0043】図6は、本実施例における符号化回路2の
詳細を示す回路図である。この回路は図5に示すHマト
リクスからd11〜d18の検査ビットを構成するものであ
り、次の関係式から生成される。
詳細を示す回路図である。この回路は図5に示すHマト
リクスからd11〜d18の検査ビットを構成するものであ
り、次の関係式から生成される。
【0044】
【数6】
【0045】ここで、プラス記号を丸印で囲った記号は
排他的論理和を表す。図6は、d0 〜d10の11ビット
からなるデータが、情報語Dのビットd0 〜d10として
そのまま出力され、検査ビットd12〜d14は、それぞれ
d1,d2,d3 のデータ信号から直接生成されることを示
している。2−11、2−15、2−16、2−17、
2−18は、上式からそれぞれ検査ビットを生成する回
路であり、多入力パリティチェッカである。すなわち、
論理1の入力信号の数が偶数である場合は、出力が0と
なり、奇数である場合は出力は1となる。なお2入力の
場合は、いわゆる排他的論理和ゲートに等しい。
排他的論理和を表す。図6は、d0 〜d10の11ビット
からなるデータが、情報語Dのビットd0 〜d10として
そのまま出力され、検査ビットd12〜d14は、それぞれ
d1,d2,d3 のデータ信号から直接生成されることを示
している。2−11、2−15、2−16、2−17、
2−18は、上式からそれぞれ検査ビットを生成する回
路であり、多入力パリティチェッカである。すなわち、
論理1の入力信号の数が偶数である場合は、出力が0と
なり、奇数である場合は出力は1となる。なお2入力の
場合は、いわゆる排他的論理和ゲートに等しい。
【0046】図7はシンドローム生成回路8の詳細を示
す回路図である。この回路は図5に示すHマトリクスを
もとにして次に示す関係式で構成される。
す回路図である。この回路は図5に示すHマトリクスを
もとにして次に示す関係式で構成される。
【0047】
【数7】
【0048】s0 〜s7 はシンドロームSの各要素であ
り、8−0〜8−7はそれぞれ上式にもとづいて構成さ
れる多入力パリティチェッカである。復号回路8が受け
取る受信情報には、符号化回路から出力される送信情報
と区別するためにダッシュ(’)を付している。つま
り、符号化された直後の送信情報には誤りはないが、受
信情報には通信路(あるいはメモリ)を通過する段階
で、何らかの誤りが混入されている可能性があるため、
両者を区別して取り扱う。
り、8−0〜8−7はそれぞれ上式にもとづいて構成さ
れる多入力パリティチェッカである。復号回路8が受け
取る受信情報には、符号化回路から出力される送信情報
と区別するためにダッシュ(’)を付している。つま
り、符号化された直後の送信情報には誤りはないが、受
信情報には通信路(あるいはメモリ)を通過する段階
で、何らかの誤りが混入されている可能性があるため、
両者を区別して取り扱う。
【0049】次に、作成したシンドロームに基づき、誤
り訂正を行う回路について述べる。図8はシンドローム
デコード回路10の構成を示すブロック図である。15
は、rビットのシンドローム信号群9を入力して1 ビッ
ト誤りに対する誤りビットポインタを生成する1ビット
誤りポインタ生成回路であり、特に情報語の下位n−b
ビットの誤りの位置を示すポインタ信号群17を出力す
る。
り訂正を行う回路について述べる。図8はシンドローム
デコード回路10の構成を示すブロック図である。15
は、rビットのシンドローム信号群9を入力して1 ビッ
ト誤りに対する誤りビットポインタを生成する1ビット
誤りポインタ生成回路であり、特に情報語の下位n−b
ビットの誤りの位置を示すポインタ信号群17を出力す
る。
【0050】19は、rビットのシンドロームからブロ
ック誤りを検出するブロック誤り検出回路であり、20
はそこから出力されるブロック誤り検出信号EB であ
る。21は、ブロック誤りポインタ生成回路であり、ブ
ロック誤り検出信号EB がオンになると、上位bビット
のシンドローム18を用いて、ブロック中の各ビットに
対する誤りポインタを作成する。16はそのポインタ信
号群であり、1ビット誤りポインタ生成回路15で生成
されたブロック外の1ビット誤りに対するポインタ信号
群17と合わせた計nビット分の信号が、最終的な誤り
ポインタ信号群11としてシンドロームデコード回路1
0から出力される。
ック誤りを検出するブロック誤り検出回路であり、20
はそこから出力されるブロック誤り検出信号EB であ
る。21は、ブロック誤りポインタ生成回路であり、ブ
ロック誤り検出信号EB がオンになると、上位bビット
のシンドローム18を用いて、ブロック中の各ビットに
対する誤りポインタを作成する。16はそのポインタ信
号群であり、1ビット誤りポインタ生成回路15で生成
されたブロック外の1ビット誤りに対するポインタ信号
群17と合わせた計nビット分の信号が、最終的な誤り
ポインタ信号群11としてシンドロームデコード回路1
0から出力される。
【0051】22は、2ビット誤り検出回路であり、2
ビット誤りを検出すると2ビット誤り検出信号24を出
力する。この2ビット誤り検出信号24はブロック中の
2ビット誤りに対しても、出力される。
ビット誤りを検出すると2ビット誤り検出信号24を出
力する。この2ビット誤り検出信号24はブロック中の
2ビット誤りに対しても、出力される。
【0052】次に、図5に示す具体的な符号に対するデ
コード法とその回路について示すとともに、一般に、r
ビットのシンドロームSから図2に示す符号の一般的な
構成に対してデコードする方法についても併せて述べ
る。
コード法とその回路について示すとともに、一般に、r
ビットのシンドロームSから図2に示す符号の一般的な
構成に対してデコードする方法についても併せて述べ
る。
【0053】まず、S=0のとき、(2)式で示すよう
に、受信情報には誤りなしと判断する。S≠0のとき、
誤り検出とみなし、rビットのシンドロームがHマトリ
クス列ベクトルに一致するとき、その列ベクトルに対応
するビットの誤りとみなし、訂正のための信号を出力す
る。
に、受信情報には誤りなしと判断する。S≠0のとき、
誤り検出とみなし、rビットのシンドロームがHマトリ
クス列ベクトルに一致するとき、その列ベクトルに対応
するビットの誤りとみなし、訂正のための信号を出力す
る。
【0054】図9は図5に示す符号における1ビット誤
りポインタ生成回路15の具体的回路を示す図である。
19ビットの全情報に対し入力の8ビットのシンドロー
ムが、どのHマトリクスの列ベクトルのパターンに一致
するかを調べる論理回路である。本実施例では、シンド
ロームを上位bビットのシンドロームSF と、残りの
(r−b)ビットのシンドロームSP とに2分割し、S
F のパターンとしてはすべて零のパターンと重み1のパ
ターンしかないことから、15−19から15−23に
示す4入力ANDゲートを5個用意する。またSP につ
いては、Hマトリクスの第5行・第5列以降を見て、1
2個の相異なる列ベクトルパターンがあることから、1
5−24から15−35に示す4入力ANDゲートを1
2個用意する。そして15−4から15−18に示す2
入力ANDゲートによって、ブロック部を除くHマトリ
クスの各列ベクトルパターンに一致するように、15−
19から15−35のゲート出力を合成する。このよう
にして15ビットのポインタ信号群17(e4 〜e18)
が生成される。
りポインタ生成回路15の具体的回路を示す図である。
19ビットの全情報に対し入力の8ビットのシンドロー
ムが、どのHマトリクスの列ベクトルのパターンに一致
するかを調べる論理回路である。本実施例では、シンド
ロームを上位bビットのシンドロームSF と、残りの
(r−b)ビットのシンドロームSP とに2分割し、S
F のパターンとしてはすべて零のパターンと重み1のパ
ターンしかないことから、15−19から15−23に
示す4入力ANDゲートを5個用意する。またSP につ
いては、Hマトリクスの第5行・第5列以降を見て、1
2個の相異なる列ベクトルパターンがあることから、1
5−24から15−35に示す4入力ANDゲートを1
2個用意する。そして15−4から15−18に示す2
入力ANDゲートによって、ブロック部を除くHマトリ
クスの各列ベクトルパターンに一致するように、15−
19から15−35のゲート出力を合成する。このよう
にして15ビットのポインタ信号群17(e4 〜e18)
が生成される。
【0055】図10は、ブロック誤りポインタ生成回路
21、ブロック誤り検出回路19、2ビット誤り検出回
路22の詳細を示す回路図である。図10の中段はブロ
ック誤り検出回路19であり、ブロックに生じたすべて
の誤りに対し、ブロック誤り検出信号20を出力する回
路である。このとき、図2に基づく符号からブロック誤
り検出の論理を求める方法について述べる。Hマトリク
スにおけるHF の構成から、次の関係式が成立する。
21、ブロック誤り検出回路19、2ビット誤り検出回
路22の詳細を示す回路図である。図10の中段はブロ
ック誤り検出回路19であり、ブロックに生じたすべて
の誤りに対し、ブロック誤り検出信号20を出力する回
路である。このとき、図2に基づく符号からブロック誤
り検出の論理を求める方法について述べる。Hマトリク
スにおけるHF の構成から、次の関係式が成立する。
【0056】
【数8】 DF ・Ib T =SF DF ・PT =SP ‥‥‥‥(8) ここで、DF は重要情報であるbビットの長さを有する
ブロック情報である。式(8)からDF を消去すると、
ブロック情報である。式(8)からDF を消去すると、
【0057】
【数9】 SF ・PT =SP ‥‥‥‥(9) の関係が成立する。従って、非零のシンドロームが式
(9)の関係を満足するとき、ブロック誤りであること
を検出する。具体的には、図5の符号の場合、
(9)の関係を満足するとき、ブロック誤りであること
を検出する。具体的には、図5の符号の場合、
【0058】
【数10】 S=〔SF |SP 〕 ‥‥‥‥(10) ただし、SF =〔s0,s1,s2,s3 〕 SP =〔s4,s5,s6,s7 〕 より、次の関係が得られる。
【0059】
【数11】
【0060】よって、次の信号EB が1となるとき、ブ
ロック誤り検出となる。
ロック誤り検出となる。
【0061】
【数12】
【0062】ここで、〔 〕は、その内に記述された関
係式が成立するとき「1」という値をとることを表し、
∩はANDを表す。図10上段の21は、ブロック誤り
検出信号EB (図中20)を基にブロック誤りをビット
単位に指摘するブロック誤りポインタ生成回路である。
EB が1のとき、明らかにSF はブロック誤りパターン
に等しいことから、ブロック誤りを各ビット単位に容易
に展開することができる。このときシンドロームSが非
零であることの条件を信号23により付与して、21−
0から21−3の3入力ANDゲートにより、e0 〜e
3 のポインタ信号群16を得る。
係式が成立するとき「1」という値をとることを表し、
∩はANDを表す。図10上段の21は、ブロック誤り
検出信号EB (図中20)を基にブロック誤りをビット
単位に指摘するブロック誤りポインタ生成回路である。
EB が1のとき、明らかにSF はブロック誤りパターン
に等しいことから、ブロック誤りを各ビット単位に容易
に展開することができる。このときシンドロームSが非
零であることの条件を信号23により付与して、21−
0から21−3の3入力ANDゲートにより、e0 〜e
3 のポインタ信号群16を得る。
【0063】図10下段の22は2ビット誤り検出回路
を示し、非零のシンドロームに対し、シンドロームの重
みが偶数のとき、2ビット誤り、さらに一般的に言う
と、偶数ビット誤りを検出したことになる。このための
論理を構成するために、図10では、22−2に示す8
入力ORゲートにシンドローム全ビットを入力する。ゲ
ート22−2の出力が1のとき、シンドロームが非零で
あることを意味する。ここで、22−1のパリティチェ
ッカでシンドロームの重みが偶数であること(すなわ
ち、パリティチェッカの反転出力が1となること)を確
認し、22−3のゲートでシンドロームの非零条件とA
NDをとって、最終的な2ビット誤り検出信号24を得
る。
を示し、非零のシンドロームに対し、シンドロームの重
みが偶数のとき、2ビット誤り、さらに一般的に言う
と、偶数ビット誤りを検出したことになる。このための
論理を構成するために、図10では、22−2に示す8
入力ORゲートにシンドローム全ビットを入力する。ゲ
ート22−2の出力が1のとき、シンドロームが非零で
あることを意味する。ここで、22−1のパリティチェ
ッカでシンドロームの重みが偶数であること(すなわ
ち、パリティチェッカの反転出力が1となること)を確
認し、22−3のゲートでシンドロームの非零条件とA
NDをとって、最終的な2ビット誤り検出信号24を得
る。
【0064】図11は訂正回路12の詳細を示す回路図
である。誤りポインタ信号群11に基づき、受信信号中
に存在する誤りを反転して訂正する回路である。前述の
ように誤りポインタ信号群11は、ポインタ信号群16
と17からなり、情報語の上位bビットのブロックに対
してはポインタ信号群17により、また残りのn−bビ
ットに対してはポインタ信号群16により訂正を行う。
すなわち、あるポインタ信号ei (0≦i≦n−1)が
‘1’であれば、対応する受信信号di ' を排他的論理
和回路で反転して訂正を行う。また、ポインタ信号が
‘0’であれば、その受信信号には誤りは存在しないと
して受信信号がそのまま出力される。訂正後の出力信号
群は7として示される。なおシンドロームSが零ではな
く、かつ誤りポインタ信号ei (0≦i≦n−1)がい
ずれも零であるときは、訂正不能な誤りがあることを意
味している。このような検出信号を出力することは、本
実施例の中では図示されてはいないが、単純な論理回路
によって実現し得るものである。
である。誤りポインタ信号群11に基づき、受信信号中
に存在する誤りを反転して訂正する回路である。前述の
ように誤りポインタ信号群11は、ポインタ信号群16
と17からなり、情報語の上位bビットのブロックに対
してはポインタ信号群17により、また残りのn−bビ
ットに対してはポインタ信号群16により訂正を行う。
すなわち、あるポインタ信号ei (0≦i≦n−1)が
‘1’であれば、対応する受信信号di ' を排他的論理
和回路で反転して訂正を行う。また、ポインタ信号が
‘0’であれば、その受信信号には誤りは存在しないと
して受信信号がそのまま出力される。訂正後の出力信号
群は7として示される。なおシンドロームSが零ではな
く、かつ誤りポインタ信号ei (0≦i≦n−1)がい
ずれも零であるときは、訂正不能な誤りがあることを意
味している。このような検出信号を出力することは、本
実施例の中では図示されてはいないが、単純な論理回路
によって実現し得るものである。
【0065】図6から図11の回路図で明らかなよう
に、本発明の誤り訂正方法を実行する回路は、比較的単
純な組合せ論理回路のみで構成されている。したがって
集積回路にて容易に実現可能で、その符号化および復号
の動作は高速である。このような回路を通信制御回路に
組み込むことにより、信頼性の高いシステムが実現でき
る。
に、本発明の誤り訂正方法を実行する回路は、比較的単
純な組合せ論理回路のみで構成されている。したがって
集積回路にて容易に実現可能で、その符号化および復号
の動作は高速である。このような回路を通信制御回路に
組み込むことにより、信頼性の高いシステムが実現でき
る。
【0066】以上は、図5に示すb=4,r=8で、デ
ータ長が19ビット、検査長8ビットの符号を中心に示
したが、今まで述べたように本発明に係わる符号の構成
は、任意のbおよびr,nに対し構成可能であることは
明らかである。また、重要な情報を有するブロックは、
実施例では情報語の先頭に位置するものとしたが、ブロ
ックは任意の位置で同様に構成することができる。すな
わち、図2に示す本発明の一般的符号構成に対し、ブロ
ックの始まる位置に部分マトリクスHF を移動すればよ
いことから明らかである。また、実施例で述べたすべて
の回路構成は全く同一でよく、HF を移動したことによ
り、その分、一部の回路で入力信号の順序が移動するだ
けである。
ータ長が19ビット、検査長8ビットの符号を中心に示
したが、今まで述べたように本発明に係わる符号の構成
は、任意のbおよびr,nに対し構成可能であることは
明らかである。また、重要な情報を有するブロックは、
実施例では情報語の先頭に位置するものとしたが、ブロ
ックは任意の位置で同様に構成することができる。すな
わち、図2に示す本発明の一般的符号構成に対し、ブロ
ックの始まる位置に部分マトリクスHF を移動すればよ
いことから明らかである。また、実施例で述べたすべて
の回路構成は全く同一でよく、HF を移動したことによ
り、その分、一部の回路で入力信号の順序が移動するだ
けである。
【0067】また、実施例の説明においては、通信シス
テムへの応用を想定したが、本発明をメモリシステムに
応用することもできる。その場合は、通信路4が実際の
メモリ素子となり、チャネル3はメモリへの書き込み、
チャネル5はメモリからの読み出しに相当すると考えれ
ばよい。符号化回路2や復号回路6の動作は通信システ
ムの場合も、メモリシステムの場合も全く同様であり、
これらをメモリ制御回路の一部分として組み込むことが
可能である。
テムへの応用を想定したが、本発明をメモリシステムに
応用することもできる。その場合は、通信路4が実際の
メモリ素子となり、チャネル3はメモリへの書き込み、
チャネル5はメモリからの読み出しに相当すると考えれ
ばよい。符号化回路2や復号回路6の動作は通信システ
ムの場合も、メモリシステムの場合も全く同様であり、
これらをメモリ制御回路の一部分として組み込むことが
可能である。
【0068】
【発明の効果】以上説明したように本発明では、アドレ
ス情報、制御情報等、その部分に誤りが生じると以降の
動作に甚大な影響を与えるような重要な情報部分を情報
語中に含むとき、これを強く保護するための従来にない
新たな符号構成と、その高速な訂正回路構成を与えるも
のである。これにより、この部分の任意の誤りが生じて
も、これらを高速かつ経済的に訂正することができ、本
符号による誤り訂正手法を採用した装置、システムの信
頼度を格段に向上させることができる。
ス情報、制御情報等、その部分に誤りが生じると以降の
動作に甚大な影響を与えるような重要な情報部分を情報
語中に含むとき、これを強く保護するための従来にない
新たな符号構成と、その高速な訂正回路構成を与えるも
のである。これにより、この部分の任意の誤りが生じて
も、これらを高速かつ経済的に訂正することができ、本
符号による誤り訂正手法を採用した装置、システムの信
頼度を格段に向上させることができる。
【図1】本発明の概略構成を示すブロック図である。
【図2】本発明の誤り訂正方法の情報語のフォ−マッ
ト、およびパリティ検査マトリクスHの構成を示す図で
ある。
ト、およびパリティ検査マトリクスHの構成を示す図で
ある。
【図3】本発明の誤り訂正方法の処理手順を示すフロー
チャートである。
チャートである。
【図4】本発明の実施例である通信システムの構成を示
すブロック図である。
すブロック図である。
【図5】本発明において、b=3,r=7とした場合の
Hマトリクスの例を示す図である。
Hマトリクスの例を示す図である。
【図6】符号化回路2の詳細を示す回路図である。
【図7】シンドローム生成回路8の詳細を示す回路図で
ある。
ある。
【図8】シンドロームデコード回路10の構成を示すブ
ロック図である。
ロック図である。
【図9】1ビット誤りポインタ生成回路15の詳細を示
す回路図である。
す回路図である。
【図10】ブロック誤りポインタ生成回路21、ブロッ
ク誤り検出回路19、2ビット誤り検出回路22の詳細
を示す回路図である。
ク誤り検出回路19、2ビット誤り検出回路22の詳細
を示す回路図である。
【図11】訂正回路12の詳細を示す回路図である。
【図12】誤り訂正符号を使用した一般的な自動誤り訂
正方式を示す図である。
正方式を示す図である。
1 入力データ 2 符号化回路、 3、5 チャネル 4 通信路 6 復号回路 6−1 シンドローム生成 6−2 誤り訂正 7 出力データ 24 誤り検出出力
Claims (6)
- 【請求項1】検査ビットが付加され、かつb(b>2)
ビットのブロックを1個有する情報語に対する誤り検出
・訂正方法において、 パリティ検査マトリクスH 【数1】 ただし前記パリティ検査マトリクスHの各部分行列は、 Ib =b×b単位行列、 Ir =r×r単位行列、 P=偶数重みを有する(r−b)次の相異なるb個の列
ベクトルから構成される(r−b)×bの行列、 Q=整数1の2進表現を最大(2r-b-1 −b−1)個の
列ベクトルにもつ最大b×(2r-b-1 −b−1)の行
列、 Me =偶数重みを有する最大(2r-b-1 −b−1)個の
列ベクトルから構成される最大(r−b)×(2r-b-1
−b−1)の行列、 ただし前記Me の列ベクトルは、 前記行列Pを構成するb個の列ベクトルpi (0≦i≦
b−1)において、p0 とpj (1≦j≦b−1)の和
ベクトルuj を求め、 偶数重みを有する(r−b)次ベクトルのうち、前記列
ベクトルp0 と前記和ベクトルuj を除く相異なる非零
列ベクトルを最大(2r-b-1 −b−1)個選んで前記M
e の列ベクトルとし、 0=最大(2r-b-1 −(r−b))個のb次の零列ベク
トルから構成される零行列、 MO =3以上の奇数重みを有する(r−b)次の相異な
る列ベクトルから構成される最大(r−b)×(2
r-b-1 −(r−b))行列、 に基づいて符号化された前記情報語に、前記パリティ検
査マトリクスHの転置行列を乗算してrビットのシンド
ロームSを生成し、 すべては零でない前記シンドロームSに基づいて、誤り
の検出・訂正を行う誤り検出・訂正方法。 - 【請求項2】前記誤りの検出・訂正は、 前記シンドロ−ムSが、前記パリティ検査マトリクスH
を構成する列ベクトルhi (0≦i≦n−1)に一致す
る場合は、対応する前記情報語のi番目のビットを訂正
し、 前記シンドロ−ムSが、前記列ベクトルhi のいずれと
も一致しない場合は、前記シンドロームSの上位bビッ
トからなるベクトルSF に前記行列Pの転置行列PT を
乗算して得られるベクトルSF ・PT が、前記シンドロ
ームSの下位(r−b)ビットからなるベクトルSP に
一致するとき、前記ブロックの誤りと判定し、前記シン
ドロームSの上位bビットを誤りパターンとして前記ブ
ロックの誤りを訂正することを特徴とする請求項1記載
の誤り訂正方法。 - 【請求項3】前記誤りの検出・訂正は、 前記シンドロームSが非零で重みが偶数であることによ
って、2ビット誤りを検出することを特徴とする請求項
1記載の誤り検出・訂正方法。 - 【請求項4】前記S・GF T が前記ベクトルSP に一致
しないことによって、訂正不可能な誤りを検出すること
を特徴とする請求項2記載の誤り検出・訂正方法。 - 【請求項5】前記誤り検出・訂正方法は、情報通信シス
テムに使用されることを特徴とする請求項1記載の誤り
検出・訂正方法。 - 【請求項6】前記誤り検出・訂正方法は、メモリシステ
ムに使用されることを特徴とする請求項1記載の誤り検
出・訂正方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7162717A JPH0916422A (ja) | 1995-06-28 | 1995-06-28 | 誤り検出・訂正方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7162717A JPH0916422A (ja) | 1995-06-28 | 1995-06-28 | 誤り検出・訂正方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0916422A true JPH0916422A (ja) | 1997-01-17 |
Family
ID=15759956
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7162717A Withdrawn JPH0916422A (ja) | 1995-06-28 | 1995-06-28 | 誤り検出・訂正方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0916422A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007511139A (ja) * | 2004-05-06 | 2007-04-26 | モトローラ・インコーポレイテッド | データをエンコード及びデコードする方法及び装置 |
-
1995
- 1995-06-28 JP JP7162717A patent/JPH0916422A/ja not_active Withdrawn
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007511139A (ja) * | 2004-05-06 | 2007-04-26 | モトローラ・インコーポレイテッド | データをエンコード及びデコードする方法及び装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4036338B2 (ja) | 誤りバイト数を制限したバイト内複数スポッティバイト誤り訂正・検出方法及び装置 | |
| EP0031183B1 (en) | Multi-processor computer system | |
| US7278085B1 (en) | Simple error-correction codes for data buffers | |
| US5856987A (en) | Encoder and decoder for an SEC-DED-S4ED rotational code | |
| CN103426482A (zh) | 存储器控制器、存储装置及纠错方法 | |
| JPS63197124A (ja) | 誤り検査システム | |
| CN101454982B (zh) | 数据传送系统、差错检测方法和帮助差错检测的系统 | |
| US20070277085A1 (en) | Error detection device for an address decoder, and device for error detection for an address decoder | |
| JPH07235880A (ja) | デジタルデータ符号化方式 | |
| JPH0661872A (ja) | 通信システム | |
| US6295626B1 (en) | Symbol based algorithm for hardware implementation of cyclic redundancy check | |
| US7093183B2 (en) | Symbol level error correction codes which protect against memory chip and bus line failures | |
| JPH0736717A (ja) | 単一記号エラーと単一ビット・エラー検出のためのエラー訂正方法及び装置 | |
| US7124351B2 (en) | Software instructions utilizing a hardwired circuit | |
| US20050257115A1 (en) | Decoding for algebraic geometric code associated with a fiber product | |
| US7100103B2 (en) | Efficient method for fast decoding of BCH binary codes | |
| JP3248098B2 (ja) | シンドローム計算装置 | |
| US6442747B1 (en) | Method of synthesizing a cycle redundancy code generator circuit using hardware description language | |
| US12608269B2 (en) | Method for memory storage and access | |
| JP2732862B2 (ja) | データ伝送試験装置 | |
| JP3142745B2 (ja) | エラー訂正コード変換システム及び方法 | |
| US8136009B2 (en) | Circuit arrangement and method for error detection and arrangement for monitoring of a digital circuit | |
| JPH06140941A (ja) | 誤り訂正システム | |
| JPH0916423A (ja) | 誤り訂正方法 | |
| JP3743915B2 (ja) | スポッティバイト誤り訂正・検出方法及び装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20020903 |