JPH10107650A - 誤り検出回路および誤り訂正回路 - Google Patents

誤り検出回路および誤り訂正回路

Info

Publication number
JPH10107650A
JPH10107650A JP8278879A JP27887996A JPH10107650A JP H10107650 A JPH10107650 A JP H10107650A JP 8278879 A JP8278879 A JP 8278879A JP 27887996 A JP27887996 A JP 27887996A JP H10107650 A JPH10107650 A JP H10107650A
Authority
JP
Japan
Prior art keywords
error
polynomial
circuit
crc
data
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.)
Granted
Application number
JP8278879A
Other languages
English (en)
Other versions
JP3249405B2 (ja
Inventor
Yasushi Nishimura
裕史 西村
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP27887996A priority Critical patent/JP3249405B2/ja
Priority to US08/935,106 priority patent/US6049903A/en
Publication of JPH10107650A publication Critical patent/JPH10107650A/ja
Application granted granted Critical
Publication of JP3249405B2 publication Critical patent/JP3249405B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/098Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit using single parity bit
    • 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/11Error 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 using multiple parity bits

Landscapes

  • Physics & 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)

Abstract

(57)【要約】 【課題】 回路規模が増大させることなく、誤り検出お
よび訂正に要する時間を短縮することが可能な誤り検出
回路および誤り訂正回路を提供する。 【解決手段】 CRC符号化回路110は、入力される
有効ビット数分の受信データを示す受信多項式Yh (x)
に対してCCITT CRC-16の生成多項式G(x) による演算を
行ない剰余多項式Sh (x) を求めるもので、求めた剰余
多項式Sh (x) (遅延素子S0〜S15から得られるデ
ータ)をCRC逆演算回路120にパラレル入力する。
CRC逆演算回路120は、CRC符号化回路110と
同様の構成からなるCRC演算回路であるが、データの
シフト方向が逆になっていて剰余多項式Sh (x) に対し
てx -1をかけて生成多項式G(x) で割る演算を行なうこ
とにより、受信データの誤りを検出するようにしたもの
である。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、CRC符号が付
加されたディジタル受信データの誤り検出/訂正を行な
う誤り検出回路および誤り訂正回路に関する。
【0002】
【従来の技術】従来よりディジタル通信では、送信デー
タから例えばCCITT CRC-16などのCRC符号を生成し、
この生成した符号を送信データに付加して送信を行な
う。これに対し、受信側では例えば誤りトラップ法によ
り付加されたCRC符号を用いて受信データの誤り訂正
を行ない、データ伝送の品質を向上させている。
【0003】図4に、CCITT CRC-16のCRC符号を用い
て1ビット誤り訂正を行なう誤りトラップ法を用いた従
来の誤り訂正回路を示す。この図に示す誤り訂正回路
は、CRC符号化回路10、NOR回路20、AND回
路30および周期単位時間遅延回路40からなる。
【0004】CRC符号化回路10は、16個の遅延素
子S0〜S15からなるシフトレジスタを備え、受信多
項式Y(x) で表される受信データに対してCCITT CRC-16
のCRC生成多項式G(x) による割り算を行ない、剰余
多項式S(x) を求める。
【0005】ここで送信データを符号多項式W(x) と
し、この送信データに単一誤りE(x)=x i が生じたと
すると、受信データを示す受信多項式Y(x) は、下式で
で表わされる。
【0006】
【数1】 このような受信多項式Y(x) で表される受信データに対
して、上述したようなCRC符号化回路10の符号化
(CRC生成多項式G(x) による割り算)を行なうと、
剰余多項式S(x) は、
【0007】
【数2】 と表される。ここで、i<deg G(x) =mとすると、剰
余多項式S(x) は明らかにx i である。すなわち、剰余
多項式S(x) は、誤り多項式(単一誤り)を示してい
る。
【0008】また、i≧mの時は、図5(b)に示すよ
うな受信データをCRC符号化回路10に入力して剰余
多項式S(x) を求めた後、図5(a)に示すような受信
データに続く「0」データを単一誤りが現れるまで入力
して巡回置換を行なうことにより、受信データの単一誤
りの検出および訂正が行なわれる。
【0009】しかしながら、上記構成による従来の誤り
訂正回路による受信データの誤り訂正では、受信データ
の長さにかかわらず、CRC生成多項式の周期回数分の
計算が必要なため、遅延時間が大きくなりリアルタイム
通信を阻害する要因となっていた。
【0010】これに対し従来は、例えばパラレル演算回
路を用いることにより、演算に要する時間を短縮する手
法が採られていたが、パラレル演算回路を用いる回路規
模が増大してしまうという新たな問題が生じた。
【0011】
【発明が解決しようとする課題】従来の誤り検出回路お
よび誤り訂正回路では、受信データ長にかかわらず、C
RC生成多項式の周期分の遅延が生じるため、誤り検出
および訂正に要する時間が大きくなってしまうという問
題があった。また、この問題を解決するためにパラレル
演算回路を用いると、回路規模が増大してしまうという
新たな問題が生じた。
【0012】この発明は上記の問題を解決すべくなされ
たもので、回路規模を増大させることなく、誤り検出お
よび訂正に要する時間を短縮することが可能な誤り検出
回路および誤り訂正回路を提供することを目的とする。
【0013】
【課題を解決するための手段】上記の目的を達成するた
めに、この発明に係わる誤り検出回路は、受信多項式Y
(x) に含まれる有効ビット数分の多項式Yh (x) をCR
C生成多項式G(x) で割った時の剰余項Sh (x) を求め
る符号化手段と、この符号化手段で求めた剰余項S
h (x) に対して、x -1を掛けてCRC生成多項式G(x)
で割る演算を繰り返して誤りビット位置を求める誤り検
出手段とを具備して構成するようにした。
【0014】また、上記誤り検出手段は、前記剰余項S
h (x) に対して、x -1を掛けてCRC生成多項式G(x)
で割る演算を繰り返した回数から誤りビット位置を求め
ることを特徴としている。
【0015】また、この発明に係わる誤り訂正回路は、
受信多項式Y(x) に含まれる有効ビット数分の多項式Y
h (x) をCRC生成多項式G(x) で割った時の剰余項S
h (x) を求める符号化手段と、この符号化手段で求めた
剰余項Sh (x) に対して、x-1を掛けてCRC生成多項
式G(x) で割る演算を繰り返して誤りビット位置を求め
る誤り検出手段と、少なくとも前記有効ビット数分の受
信データを記憶する受信データ記憶手段と、前記誤り検
出手段にて求めた誤りビット位置に基づいて、前記受信
データ記憶手段に記憶される受信データの誤りビットに
対して、誤り訂正を行なう誤り訂正手段とを具備して構
成するようにした。
【0016】また、この発明に係わる誤り訂正回路は、
受信多項式Y(x) に含まれる有効ビット数分の多項式Y
h (x) をCRC生成多項式G(x) で割った時の剰余項S
h (x) を求める符号化手段と、この符号化手段で求めた
剰余項Sh (x) に対して、x-1を掛けてCRC生成多項
式G(x) で割る演算を繰り返して誤りビットを検出する
誤り検出手段と、少なくとも前記有効ビット数分の受信
データを記憶し、この記憶した受信データを前記誤り検
出手段の繰返し演算に応じてビット単位で記憶した順と
は逆の順序で出力する受信データ記憶手段と、前記誤り
検出手段が誤りビットを検出した際に、前記受信データ
記憶手段から出力されるビットに対して誤り訂正を行な
う誤り訂正手段とを具備して構成するようにした。
【0017】上記構成の誤り検出回路および誤り訂正回
路では、有効ビット数分の多項式Yh (x) をCRC生成
多項式G(x) で割った時の剰余項Sh (x) に対して、x
-1を掛けてCRC生成多項式G(x) で割る演算を繰り返
して誤りビット位置を求めるようにしている。
【0018】以下、上述した演算方法により誤りビット
が検出される原理について説明する。この発明は、従来
の技術の項で説明した誤りトラップ法で用いる受信多項
式Y(x) が、有効ビット数の受信データを示す多項式Y
h (x) にk個の「0」データを付加してCRC生成多項
式の周期長となるようにしたものであることに着目した
ものである。。
【0019】まず、送信データを符号多項式W(x) 、誤
り多項式をE(x) とした時、誤りトラップ法で求められ
る剰余多項式S(x) は、
【0020】
【数3】 である。
【0021】次に、有効ビット数分の受信データを多項
式Yh (x) 、誤り多項式をE(x) とすると、この発明で
求められる剰余多項式Sh (x) は、
【0022】
【数4】 である。
【0023】多項式Yh (x) は、受信多項式Y(x) にx
-kを掛けたものなので、
【0024】
【数5】 となる。
【0025】誤りトラップ法での受信多項式Y(x) は、
前述したように有効ビット数の受信データである多項式
h (x) にk個の「0」データを付加したものなので、
誤りトラップ法の剰余多項式S(x) にx -kを掛けたもの
をCRC生成多項式G(x) で割った剰余多項式S´(x)
は、
【0026】
【数6】 となる。
【0027】よって、
【0028】
【数7】 である。
【0029】このため、上述したように剰余項Sh (x)
を求め、この剰余項Sh (x) にx -1を掛けてCRC生成
多項式G(x) で割る演算を繰り返して誤りビット位置を
求めることにより、従来の誤りトラップ法と同様に誤り
ビットの位置を検出することができる。
【0030】したがって、この発明によれば、最大でも
有効ビット数分の演算を行なえば、上記誤りビットの位
置が検出できるため、短時間で上記検出および訂正を行
なうことができる。
【0031】
【発明の実施の形態】以下、図面を参照して、この発明
の実施形態について説明する。図1は、この発明の第1
の実施形態に係わる誤り訂正回路の構成を示すもので、
誤りビット検出回路100と、第1のセレクタ200
と、第2のセレクタ300と、双方向シフトレジスタ4
00と、誤り訂正器500とからなる。
【0032】誤りビット検出回路100は、受信データ
の誤りビットを検出するもので、図2に示すようにCR
C符号化回路110、CRC逆演算回路120、NOR
回路130およびAND回路140からなり、受信デー
タと、伝送レートクロック信号と、演算用クロック信号
がそれぞれ入力される。なお、ここでは、以下詳述する
ようにCCITT CRC-16の符号を用いた場合を例に説明す
る。
【0033】CRC符号化回路110は、入力される有
効ビット数分の受信データを示す受信多項式Yh (x) に
対してCCITT CRC-16の生成多項式G(x) による演算を行
ない剰余多項式Sh (x) を求めるもので、EX−ORゲ
ート111〜113と、遅延素子S0〜S15とからな
る。
【0034】EX−ORゲート111の第1の入力端子
には受信データが入力され、第2の入力端子には後述の
遅延素子S15の遅延出力が入力される。そして、EX
−ORゲート111の演算出力は、EX−ORゲート1
12,113の第1の入力端子、および遅延素子S0に
入力される。遅延素子S0〜S15は、各遅延素子の遅
延出力が添え数字の小さい方から大きい方にシフトレジ
ストするように直列に接続されている。
【0035】また、遅延素子S4と遅延素子S5との間
には、EX−ORゲート112が、遅延素子S11と遅
延素子S12との間にはEX−ORゲート113がそれ
ぞれ設けられている。
【0036】EX−ORゲート112は、上述したよう
に第1の入力端子にEX−ORゲート111の演算出力
が入力され、第2の入力端子には遅延素子S4の遅延出
力が入力され、演算結果を遅延素子S5に入力する。同
様にEX−ORゲート113は、第1の入力端子にEX
−ORゲート111の演算出力が入力され、第2の入力
端子には遅延素子S11の遅延出力が入力され、演算結
果を遅延素子S12に入力する。
【0037】以上のような構成によりCRC符号化回路
110は、有効ビット数分の受信データ(図5のデータ
部とCRCチェックビット部)に対して生成多項式G
(x) による演算を行ない剰余多項式Sh (x) を求める。
この剰余多項式Sh (x) (遅延素子S0〜S15から得
られるデータ)は、CRC逆演算回路120にパラレル
出力される。
【0038】CRC逆演算回路120は、上記剰余多項
式Sh (x) に対してx -1をかけて生成多項式G(x) で割
る演算を行なうことにより、受信データの誤りを検出す
るもので、EX−ORゲート121,122、および遅
延素子T0〜T15からなる。なお、この回路は上述の
CRC符号化回路110と同様の構成からなるCRC演
算回路であるが、データのシフト方向が逆になってい
る。
【0039】遅延素子T0〜T15は、同じ添え数字の
遅延素子S0〜S15から剰余多項式Sh (x) を示すデ
ータが上述したようにパラレル入力され、CRC符号化
回路110とは逆に、各遅延素子の出力が添え数字の大
きいから小さい方にシフトレジストするように直列に接
続されている。遅延素子T0の遅延出力は、EX−OR
ゲート121および122の第1の入力端子と、遅延素
子T15に入力される。
【0040】また、遅延素子T4と遅延素子T5との間
には、EX−ORゲート121が、遅延素子T11と遅
延素子T12との間にはEX−ORゲート122がそれ
ぞれ設けられている。
【0041】EX−ORゲート121は、上述したよう
に第1の入力端子に遅延素子T0の遅延出力が入力さ
れ、第2の入力端子には遅延素子T5の遅延出力が入力
され、演算結果を遅延素子T4に入力する。同様にEX
−ORゲート122は、第1の入力端子に遅延素子T0
の遅延出力が入力され、第2の入力端子には遅延素子T
12の遅延出力が入力され、演算結果を遅延素子T11
に入力する。
【0042】このような構成からなるCRC逆演算回路
120は、データのシフト毎に遅延素子T0の遅延出力
をAND回路140の第1の入力端子に入力し、遅延素
子T1〜T15の遅延出力をNOR回路130に入力す
る。
【0043】NOR回路130は、上述したようにデー
タのシフト毎に遅延素子T1〜T15の遅延結果が入力
され、これらのデータがすべて「0」の時(誤り無)
に、「1」をAND回路140の第2の入力端子に出力
する。
【0044】AND回路140は、上述したようにデー
タのシフト毎に遅延素子T0の遅延結果が入力され、こ
のデータが「1」(誤り有)で、なおかつNOR回路1
30の出力が「1」の時(誤り無)に、「1」を出力す
る。
【0045】すなわち、CRC逆演算回路120は、誤
りビットが所定の位置にきた場合に、誤り検出信号とし
て「1」を出力する。この誤り検出信号は後述の誤り訂
正器500に入力される。
【0046】第1のセレクタ200は、データ出力レー
トクロック、伝送レートクロックおよび演算用クロック
がそれぞれ入力され、これらのクロックの内いずれか1
つを選択的に双方向シフトレジスタ400に入力する。
【0047】第2のセレクタ300は、受信データと、
後述の誤り訂正器500にて訂正されたデータが入力さ
れ、いずれか一方を選択的に双方向シフトレジスタ40
0のデータ入力端子に入力する。
【0048】双方向シフトレジスタ400は、第2のセ
レクタ300を介して入力される受信データを有効ビッ
ト数分だけ記憶するシフトレジスタであって、第1のセ
レクタ200からのクロックに応じて読み込んだデータ
を双方向(読み込んだ順序、あるいは読み込んだ順序と
は逆の順序)に出力することが可能なシフトレジスタで
ある。
【0049】誤り訂正器500は、例えばEX−ORゲ
ートからなり、前述の誤りビット検出回路100から誤
り検出信号(「1」)が入力される場合に、双方向シフ
トレジスタ400から読み込んだ順序とは逆の順序で出
力されるデータに対して反転処理を施してデータ訂正を
行なう。
【0050】上記構成における誤り訂正回路の動作を以
下に説明する。図示しない受信部からの受信データが、
伝送レートクロックによって誤りビット検出回路100
と、第2のセレクタ300を介して双方向シフトレジス
タ400に入力される。
【0051】誤りビット検出回路100では、受信デー
タが伝送レートクロックによってCRC符号化回路11
0に入力され、図4に示したような生成多項式の周期分
のデータのうち、有効ビット数分の受信データYh (x)
に対する剰余多項式Sh (x)が求められる。この剰余多
項式Sh (x) (遅延素子S0〜S15のデータ)は、C
RC逆演算回路120の対応する遅延素子T0〜T15
にそれぞれ入力される。
【0052】そして、CRC逆演算回路120では、伝
送レートクロックよりも高速な演算用クロックを用いて
CRC符号化回路110よりパラレル入力されたデータ
(剰余多項式Sh (x) )を、CRC符号化回路110と
は逆方向に巡回させることにより受信データの誤りビッ
トを検出する。
【0053】これに並行して、双方向シフトレジスタ4
00では、上記演算用クロックを用いて、一旦読み込ん
だ受信データを入力された順序とは逆の順序で誤り訂正
器500に順次出力する。
【0054】すなわち、このような双方向シフトレジス
タ400からの受信データの出力動作と、誤りビット検
出回路100の誤り検出動作は、ともに演算用クロック
に同期して行なわれる。
【0055】このため、双方向シフトレジスタ400か
ら誤りビットのデータが出力されると同時に、誤りビッ
ト検出回路100が誤りを検出する。このため、上記誤
りビットのデータが誤り訂正器500において訂正され
ることになる。
【0056】このように、双方向シフトレジスタ400
から出力された受信データは、誤り訂正器500を介す
ることにより誤り訂正が施され、第2のセレクタ300
を介して再び双方向シフトレジスタ400に入力され
る。
【0057】やがて、双方向シフトレジスタ400に読
み込まれた有効ビット数分の受信データが一巡して誤り
ビットの訂正が終わると、データ出力レートクロックを
用いて受信データを読み込んだ順序で後段の信号処理部
(図示しない)に出力する。
【0058】以上のように、上記構成の誤り訂正回路で
は、生成多項式G(x) を用いて有効ビット数分の受信デ
ータYh (x) の剰余多項式Sh (x) を求める。そして、
この剰余多項式Sh (x) にx -1をかけて生成多項式G
(x) で割る演算を繰り返す。これにより、受信した有効
ビット数分の受信データに対して、受信した順序とは逆
の順序で誤りビットの検出を行ない、誤り訂正を行なう
ようにしている。
【0059】したがって、上記構成の誤り訂正回路によ
れば、剰余多項式Sh (x) を求めたのち、有効ビット数
分のクロック数で誤りビット検出/訂正ができるため、
誤り訂正に要する遅延時間は従来に比して大幅に短縮さ
れることになる。
【0060】また、従来、遅延に起因してエコーが発生
するためエコーサプレス回路などを用いてエコーを除去
していたが、遅延時間の短縮によりこの類いの回路が不
要となるため、回路規模の縮小化に寄与することができ
る。また、パラレル演算回路を用いていないため、回路
規模の増大を招く虞もない。
【0061】尚、この発明は上記実施の形態に限定され
るものではない。例えば、上記実施の形態では、誤りビ
ットのデータを訂正するのに、読み込んだデータを双方
向に出力可能なシフトレジスタを用いて訂正するように
したが、カウンタ回路やデコーダ回路を組合わせること
により誤りビットを訂正するようにしてもよい。
【0062】以下、図3を参照して、第2の実施例につ
いて説明する。この図に示す誤り訂正回路は、前述の誤
りビット検出回路100と、フリップフロップ600
と、セレクタ700と、誤りビット訂正回路800と、
カウンタ回路910と、デコーダ回路920とからな
る。
【0063】誤りビット検出回路100は、第1に実施
形態と同様に受信データと、伝送レートクロック信号
と、演算用クロック信号がそれぞれ入力され、受信デー
タの誤りビットを検出する。誤りビット検出回路100
からの誤りビット検出を示す信号は同期用のフリップフ
ロップ600を介して、カウンタ回路910に入力され
る。
【0064】セレクタ700は、データ出力レートクロ
ック、および伝送レートクロックがそれぞれ入力され、
これらのクロックの内いずれか一方を選択的に誤りビッ
ト訂正回路800に入力する。
【0065】誤りビット訂正回路800は、有効ビット
数分のD−フリップフロップがそれぞれデータを反転さ
せるためのEX−ORゲートを介してシリアルに接続さ
れたバッファ回路で、セレクタ700からのクロックに
応じて受信データの入出力を行なう。また、上記EX−
ORゲートにはデコーダ回路920からの反転制御信号
が必要に応じて入力される。
【0066】カウンタ回路910は、上述したように誤
りビット検出回路100からの誤り検出を示す信号がフ
リップフロップ600を介して入力され、誤りビット検
出回路100の誤りビット検出動作開始から誤り検出ま
でに要した演算用クロック数をカウントする。
【0067】デコーダ回路920は、カウンタ回路91
0で求められたカウント値が入力され、このカウント値
をデコードして誤りビットを記憶するD−フリップフロ
ップを求める。そして、このフリップフロップに対応す
るEX−ORゲートに反転制御信号を入力する。
【0068】上記構成における誤り訂正回路の動作を以
下に説明する。図示しない受信部からの受信データが、
伝送レートクロックによって誤りビット検出回路100
と、誤りビット訂正回路800に入力される。
【0069】誤りビット検出回路100は、前述の第1
の実施形態で説明したように、伝送レートクロックより
も高速な演算用クロックを用いて受信データの誤りビッ
トを検出する。
【0070】この時、カウンタ回路910は、誤りビッ
ト検出回路100の誤りビット検出動作開始から誤り検
出までに要した演算用クロック数をカウントし、カウン
ト結果をデコーダ回路920に入力する。これに対し
て、デコーダ回路920は、上記カウント値をデコード
して誤りビットを記憶するD−フリップフロップを求め
る。
【0071】やがて、誤りビット検出回路100が誤り
ビットを検出して検出動作が終了すると、セレクタ70
0はデータ出力用クロックを誤りビット訂正回路800
の各D−フリップフロップに入力して誤りビット訂正回
路800に記憶された有効ビット数分の受信データを出
力する。
【0072】また、これと同時に、デコーダ回路920
が求めておいた誤りビットを記憶するD−フリップフロ
ップに対応するEX−ORゲートに反転制御信号を入力
する。これにより、誤りビットのデータが反転され、誤
り訂正が行なわれる。
【0073】以上のように、上記構成の誤り訂正回路で
は、誤りビット検出回路100の誤りビット検出動作開
始から誤り検出までに要した演算用クロック数から誤り
ビットの位置を特定し、誤りビット訂正回路800に記
憶される受信データに対して訂正を施すようにしてい
る。このような誤りビットの訂正回路であっても、前述
の第1の実施形態と同様に、誤りビット検出/訂正に要
する遅延時間を短縮することができる。
【0074】尚、以上の実施形態ではCCITT CRC-16の生
成多項式を用いて単一誤りの訂正を行なう場合を例に説
明を行なったが、他誤り訂正機能を有するのCRC生成
多項式を用いても同様の効果が期待できることはいうま
でもない。また、この発明は単一誤りの訂正を行なう場
合に限定されるものではなく、2ビット以上の誤りを訂
正する誤り訂正回路に適用することも可能である。
【0075】その他、この発明の要旨を逸脱しない範囲
で種々の変形を施しても同様に実施可能であることはい
うまでもない。
【0076】
【発明の効果】以上述べたように、この発明では、有効
ビット数分の多項式Yh (x) を生成多項式G(x) で割っ
た時の剰余項Sh (x) に対して、x -1を掛けて生成多項
式G(x) で割る演算を繰り返して誤りビット位置を求め
るようにしている。
【0077】したがって、この発明によれば、CRC生
成多項式の周期回数分の計算を行なわなくても、最大で
も有効ビット数分の演算を行なえば上記誤りビットの位
置を検出することができる。このため、パラレル演算回
路を用いた場合のように回路規模を増大させることな
く、誤り検出および訂正に要する時間を短縮することが
可能な誤り検出回路および誤り訂正回路を提供できる。
【図面の簡単な説明】
【図1】この発明に係わる誤り訂正回路の第1の実施の
形態の構成を示す回路ブロック図。
【図2】図1に示した誤り訂正回路の誤りビット検出回
路の構成を示す回路ブロック図。
【図3】この発明に係わる誤り訂正回路の第2の実施の
形態の構成を示す回路ブロック図。
【図4】従来の誤り訂正回路の構成を示す回路ブロック
図。
【図5】CCITT CRC-16をCRC符号として使用するデジ
タル通信の信号フォーマットを説明するための図。
【符号の説明】
100…誤りビット検出回路 110…CRC符号化回路 111〜113,121,122…EX−ORゲート 120…CRC逆演算回路 130…NOR回路 140…AND回路 200…第1のセレクタ 300…第2のセレクタ 400…双方向シフトレジスタ 500…誤り訂正器 600…フリップフロップ 700…セレクタ 800…誤りビット訂正回路 910…カウンタ回路 920…デコーダ回路 S0〜S15,T0〜T15…遅延素子

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 受信多項式Y(x) に含まれる有効ビット
    数分の多項式Yh (x) をCRC生成多項式G(x) で割っ
    た時の剰余項Sh (x) を求める符号化手段と、 この符号化手段で求めた剰余項Sh (x) に対して、x -1
    を掛けてCRC生成多項式G(x) で割る演算を繰り返し
    て誤りビット位置を求める誤り検出手段とを具備するこ
    とを特徴とする誤り検出回路。
  2. 【請求項2】 前記誤り検出手段は、前記剰余項S
    h (x) に対して、x -1を掛けてCRC生成多項式G(x)
    で割る演算を繰り返した回数から誤りビット位置を求め
    ることを特徴とする請求項1に記載の誤り検出回路。
  3. 【請求項3】 受信多項式Y(x) に含まれる有効ビット
    数分の多項式Yh (x) をCRC生成多項式G(x) で割っ
    た時の剰余項Sh (x) を求める符号化手段と、 この符号化手段で求めた剰余項Sh (x) に対して、x -1
    を掛けてCRC生成多項式G(x) で割る演算を繰り返し
    て誤りビット位置を求める誤り検出手段と、 少なくとも前記有効ビット数分の受信データを記憶する
    受信データ記憶手段と、 前記誤り検出手段にて求めた誤りビット位置に基づい
    て、前記受信データ記憶手段に記憶される受信データの
    誤りビットに対して、誤り訂正を行なう誤り訂正手段と
    を具備することを特徴とする誤り訂正回路。
  4. 【請求項4】 受信多項式Y(x) に含まれる有効ビット
    数分の多項式Yh (x) をCRC生成多項式G(x) で割っ
    た時の剰余項Sh (x) を求める符号化手段と、 この符号化手段で求めた剰余項Sh (x) に対して、x -1
    を掛けてCRC生成多項式G(x) で割る演算を繰り返し
    て誤りビットを検出する誤り検出手段と、 少なくとも前記有効ビット数分の受信データを記憶し、
    この記憶した受信データを前記誤り検出手段の繰返し演
    算に応じてビット単位で記憶した順とは逆の順序で出力
    する受信データ記憶手段と、 前記誤り検出手段が誤りビットを検出した際に、前記受
    信データ記憶手段から出力されるビットに対して誤り訂
    正を行なう誤り訂正手段とを具備することを特徴とする
    誤り訂正回路。
JP27887996A 1996-09-30 1996-09-30 誤り訂正回路および誤り訂正方法 Expired - Fee Related JP3249405B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP27887996A JP3249405B2 (ja) 1996-09-30 1996-09-30 誤り訂正回路および誤り訂正方法
US08/935,106 US6049903A (en) 1996-09-30 1997-09-29 Digital data error detection and correction system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27887996A JP3249405B2 (ja) 1996-09-30 1996-09-30 誤り訂正回路および誤り訂正方法

Publications (2)

Publication Number Publication Date
JPH10107650A true JPH10107650A (ja) 1998-04-24
JP3249405B2 JP3249405B2 (ja) 2002-01-21

Family

ID=17603393

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27887996A Expired - Fee Related JP3249405B2 (ja) 1996-09-30 1996-09-30 誤り訂正回路および誤り訂正方法

Country Status (2)

Country Link
US (1) US6049903A (ja)
JP (1) JP3249405B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000269826A (ja) * 1999-03-15 2000-09-29 Fujitsu Ltd 誤り検出装置及び方法
KR20010057408A (ko) * 1999-12-22 2001-07-04 박종섭 병렬 순회 용장 코드 계산장치
US7712009B2 (en) 2005-09-21 2010-05-04 Semiconductor Energy Laboratory Co., Ltd. Cyclic redundancy check circuit and semiconductor device having the cyclic redundancy check circuit
US7915756B2 (en) 2007-06-07 2011-03-29 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device
US8321777B2 (en) 2006-12-28 2012-11-27 Samsung Electronics Co., Ltd. Cyclic redundancy check code generating circuit, semiconductor memory device, and method of driving semiconductor memory device
US8432254B2 (en) 2008-01-31 2013-04-30 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000004169A (ja) * 1998-06-15 2000-01-07 Ricoh Co Ltd Crc演算方法及びcrc演算回路
US6427219B1 (en) * 1998-06-24 2002-07-30 Conexant Systems, Inc. Method and apparatus for detecting and correcting errors using cyclic redundancy check
US7197098B2 (en) * 2000-12-29 2007-03-27 Intel Corporation High-speed serial data recovery
US6928608B2 (en) * 2001-08-14 2005-08-09 Optix Networks Ltd. Apparatus and method for accelerating cyclic redundancy check calculations
US7047475B2 (en) * 2003-02-04 2006-05-16 Hewlett-Packard Development Company, L.P. CRC encoding scheme for conveying status information
US7320101B1 (en) * 2003-08-19 2008-01-15 Altera Corporation Fast parallel calculation of cyclic redundancy checks
US7613991B1 (en) 2003-08-19 2009-11-03 Altera Corporation Method and apparatus for concurrent calculation of cyclic redundancy checks
US20090077145A1 (en) * 2007-09-14 2009-03-19 Cswitch Corporation Reconfigurable arithmetic unit
JP5301299B2 (ja) * 2008-01-31 2013-09-25 株式会社半導体エネルギー研究所 半導体装置
CN101409565B (zh) * 2008-09-04 2012-02-01 上海华为技术有限公司 一种译码方法、装置和编译码系统
US8543888B2 (en) * 2009-06-09 2013-09-24 Microchip Technology Incorporated Programmable cyclic redundancy check CRC unit
RU2453902C2 (ru) * 2010-07-02 2012-06-20 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Северо-Кавказский государственный технический университет" (ФГБОУ ВПО "СевКавГТУ") Устройство для коррекции ошибок в полиномиальной системе классов вычетов
RU2664409C1 (ru) * 2017-06-20 2018-08-17 Акционерное общество "Калужский научно-исследовательский институт телемеханических устройств" Способ кодовой цикловой синхронизации с мягкими решениями
RU2754348C1 (ru) * 2021-02-09 2021-09-01 Олег Петрович Ильин Дешифратор команд телеуправления

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4677623A (en) * 1983-11-11 1987-06-30 Hitachi, Ltd. Decoding method and apparatus for cyclic codes
US5367544A (en) * 1989-05-04 1994-11-22 Northern Telecom Limited Data stream frame synchronisation
US5136592A (en) * 1989-06-28 1992-08-04 Digital Equipment Corporation Error detection and correction system for long burst errors
US5878057A (en) * 1995-10-06 1999-03-02 Tektronix, Inc. Highly parallel cyclic redundancy code generator
JPH09116541A (ja) * 1995-10-16 1997-05-02 Toshiba Corp 通信制御装置
US5807413A (en) * 1996-08-02 1998-09-15 Exxon Research And Engineering Company Synthetic diesel fuel with reduced particulate matter emissions

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000269826A (ja) * 1999-03-15 2000-09-29 Fujitsu Ltd 誤り検出装置及び方法
KR20010057408A (ko) * 1999-12-22 2001-07-04 박종섭 병렬 순회 용장 코드 계산장치
US7712009B2 (en) 2005-09-21 2010-05-04 Semiconductor Energy Laboratory Co., Ltd. Cyclic redundancy check circuit and semiconductor device having the cyclic redundancy check circuit
US8627170B2 (en) 2005-09-21 2014-01-07 Semiconductor Energy Laboratory Co., Ltd. Cyclic redundancy check circuit and semiconductor device having the cyclic redundancy check circuit
US9009563B2 (en) 2005-09-21 2015-04-14 Semiconductor Energy Laboratory Co., Ltd. Cyclic redundancy check circuit and semiconductor device having the cyclic redundancy check circuit
US9294126B2 (en) 2005-09-21 2016-03-22 Semiconductor Energy Laboratory Co., Ltd. Cyclic redundancy check circuit and semiconductor device having the cyclic redundancy check circuit
US8321777B2 (en) 2006-12-28 2012-11-27 Samsung Electronics Co., Ltd. Cyclic redundancy check code generating circuit, semiconductor memory device, and method of driving semiconductor memory device
US8966338B2 (en) 2006-12-28 2015-02-24 Samsung Electronics Co., Ltd. Cyclic redundancy check code generating circuit, semiconductor memory device, and method of driving semiconductor memory device
US7915756B2 (en) 2007-06-07 2011-03-29 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device
US8432254B2 (en) 2008-01-31 2013-04-30 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device

Also Published As

Publication number Publication date
US6049903A (en) 2000-04-11
JP3249405B2 (ja) 2002-01-21

Similar Documents

Publication Publication Date Title
JP3249405B2 (ja) 誤り訂正回路および誤り訂正方法
US5440570A (en) Real-time binary BCH decoder
US5343481A (en) BCH error-location polynomial decoder
US5430739A (en) Real-time Reed-Solomon decoder
JPH0728227B2 (ja) Bch符号の復号装置
JPS60180222A (ja) 符号誤り訂正装置
US4488302A (en) Burst error correction using cyclic block codes
EP0660535B1 (en) Apparatus for uniformly correcting erasure and error of received word by using a common polynomial
CA2031643C (en) Bch code decoder and method for decoding a bch code
EP0911983A1 (en) Reed solomon error correcting circuit and method and device for euclidean mutual division
US5408476A (en) One bit error correction method having actual data reproduction function
US5694405A (en) Encoder and decoder of an error correcting code
JP2003078421A (ja) 符号系列の先頭位置検出方法とその装置、それを用いた復号方法とその装置
JPH05175852A (ja) 誤り訂正符復号装置
US6647530B1 (en) Apparatus and method for viterbi decoding
TWI523437B (zh) Bch碼編碼與癥狀計算共用設計電路及決定該共用設計電路的方法
JP3099890B2 (ja) Bch符号の誤り訂正装置
JP2600130B2 (ja) 誤り訂正回路
JP3398560B2 (ja) 短縮化誤り訂正復号装置
JP2710176B2 (ja) 誤り位置及び誤りパターン導出回路
GB2252702A (en) Channel coding for speech
JP2500141B2 (ja) 誤り訂正方法及び装置
KR950008485B1 (ko) 단일에러정정용 리드-솔로몬 복호기
JPH0636286B2 (ja) 誤り訂正方法及び装置
KR0176809B1 (ko) 오류정정 장치

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071109

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081109

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081109

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091109

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101109

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101109

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111109

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111109

Year of fee payment: 10

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111109

Year of fee payment: 10

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111109

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121109

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees