JPWO2009019763A1 - 誤り検出装置及び誤り訂正/誤り検出復号装置並びに方法 - Google Patents

誤り検出装置及び誤り訂正/誤り検出復号装置並びに方法 Download PDF

Info

Publication number
JPWO2009019763A1
JPWO2009019763A1 JP2009526290A JP2009526290A JPWO2009019763A1 JP WO2009019763 A1 JPWO2009019763 A1 JP WO2009019763A1 JP 2009526290 A JP2009526290 A JP 2009526290A JP 2009526290 A JP2009526290 A JP 2009526290A JP WO2009019763 A1 JPWO2009019763 A1 JP WO2009019763A1
Authority
JP
Japan
Prior art keywords
error
remainder
error detection
decoding
bit
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
JP2009526290A
Other languages
English (en)
Other versions
JP5126230B2 (ja
Inventor
徳啓 池田
徳啓 池田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2009019763A1 publication Critical patent/JPWO2009019763A1/ja
Application granted granted Critical
Publication of JP5126230B2 publication Critical patent/JP5126230B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/093CRC update after modification of the information word
    • 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

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

所定ビット長のデータ列を多項式とみなし、該多項式を誤り検出符号生成用の多項式(生成多項式)で除算し、余りが0となるように該データ列に誤り検出符号が付加されたデータ列を入力され、該入力データにおける誤りの有無を検出する誤り検出方法である。この誤り検出方法は、それぞれのビット位置に応じた多項式を生成多項式で除算したときの剰余値を予め計算してメモリに保存するステップ、入力データ列と共に、各データの正規のビット位置を示すビット位置情報を入力するステップ、入力データ列のうち0でないデータの正規のビット位置に対応する剰余値をメモリより求め、求めた各剰余値をビット対応に加算するステップ、加算結果が全てのビットで0となる場合には入力データ列に誤りなしと判定し、それ以外では誤り有りと判定するステップ、を有している。

Description

本発明は、誤り検出装置及び誤り訂正/誤り検出復号装置並びに方法に関わる。
誤り検出符号は、データ通信システムなどデータを誤り無く伝送することが要求されるシステムや外部記憶装置など誤り無くデータの読み出しを行うことが要求されるシステムに使用され、伝送誤りや読み出し誤りを検出するために使用される。
図13は誤り検出を適用した通信システムの構成例である。送信側1において、誤り検出符号化部1bは、情報生成部1aが生成した所定ビット長のデータ列に誤り検出符号化処理を施し、誤り訂正符号化部1cは所定の符号化方式により入力データ列を誤り訂正符号化して通信路2を介して受信側3に送信する。受信側3において、誤り訂正復号部3aは入力した符号化データ列を誤り訂正復号処理により復号し、復号データ列を誤り検出復号部3bに入力する。誤り検出復号部3bは復号データ列に誤り検出復号処理を施して誤りの有無を検出し、誤りが有れば送信側に再送要求信号RRQを送出する。情報抽出部3cは誤りが無ければデータを抽出して出力する。
誤り検出符号としては、たとえば巡回冗長検査(CRC : Cyclic Redundancy Check)符号が連続した誤りを検出することが可能なためよく利用される。CRCは、送信側でNビットの情報ビットを多項式に見立てて生成多項式で除算を行い、得られたmビットの剰余(パリティ)を情報ビットに付加した(N+m)ビットとし、生成多項式で割り切れるデータに符号化して送信する。受信側では、受信データを前記生成多項式で除算を行い、剰余が0である場合は誤りなし、それ以外の場合は誤りありとして誤り検出を行う。たとえば、生成多項式G(x) を16ビットとし、
x16K(x) ÷ G(x) = Q(x) あまりR(x)
であれば、
W(x) = x16K(x)+R(x)
をCRC符号語とする。ここでx16K(x)はNビットのデータ列K(x)の低次側に16ビットの"0"を付加したデータ列を意味する。受信側では、この符号語W(x)に誤りE(x)が付加されたW′(x) = W(x)+E(x)を受信すると、W′(x)をG(x)で除算し、その剰余が0であれば誤りなし、0以外であれば誤りありと検出する。具体的には、
W′(x) / G(x)
を演算し、割り切れるかどうかを検出する。
CRCの符号化、復号化に際して、上述のように除算を行う必要があるが、この除算器はハードウエアで構成することにより比較的簡単な回路で構成することが出来る。m次の生成多項式
Figure 2009019763
で除算を行う場合の回路構成の一例は図14(A)に示すようになる。図において、giは0または1の係数となり、gi=1の場合は線をつなぐ、gi=0の場合は線をつながない構成となる。図14(B)はたとえば生成多項式G(x) =x16+x12+x5+1とした場合のCRC演算装置の除算器の例である。この除算器は、16段のシフトレジスタSRと、0ビット位置、5ビット位置、12ビット位置の入力側に設けられ、前段の出力データとフィードバックデータの排他的論理和演算を行う排他的論理和回路(Exclusive OR回路)EOR1〜EOR3と、15ビット位置の出
力側に設けられたスイッチSWで構成されている。スイッチSWをフィードバック側(A側)に切り替えた状態でデータ列を高次から1ビットずつEOR1に入力することで除算を行うことができる。
図14(A)の構成によれば、多項式W′(x)の各次数における係数を次数が高いものの係数から順にシフトレジスタの低次側から入力することにより、商多項式がシフトレジスタの高次から出力され、全ての次数を入力するとシフトレジスタに、剰余多項式が保存される。この様にシフトレジスタと排他的論理和により簡単な回路で除算器を構成することが出来る。ところで、図14の除算器の構成では回路は単純化されるものの、入力データを高次のビットから順次入力する必要がある。このため、正規の順序で並んでいないビット列が入力する場合、例えばインタリーブによりデータ列が並び替えられてビット列が入力する場合、除算器に入力する前にメモリ等を用いてデータ列を正規の順序に並び替える必要がある。
図15は正規の順序で並んでいないビット列が入力する場合のCRCチェック回路の構成図であり、図14(A)の除算器4aの前段にデータ順序並び替え用のRAM 4bと、除算器4aで求めた剰余が0であるか否かを判断してチェック結果を出力するオール零検出回路4cが設けられている。データ順序並び替え用のRAM 4bにはビット列(入力データ)と共に各ビットの正規の順番(データ番号)が入力される。これにより、RAM 4bは、ビット毎の入力データをデータ番号が指示する位置に書き込み、しかる後、順番に読み出すことによりビット列を正規の順番に並び替えて出力する。すなわち、インタリーブ等の並び替え操作が複雑であれば、全入力データを一旦メモリに蓄えた後に正順になるようにメモリから読み出しを行なって除算器4aに入力する必要があり、このため、データ並び替えの時間が必要となる。例えば、Nビット入力の場合、Nクロック時間経過しなければCRC演算を開始できない為に、結果として2Nクロック時間経過しなければCRCチェック結果を得ることができない。
ところで、復号回数が多くなるほど誤り率特性が向上する復号器がある。かかる復号器では誤りが無くなるまで入力されたデータの復号を繰り返し、誤りが無くなった時点で該データの復号を停止し、次の入力データの復号を開始するようになっている。図16は、誤り訂正符号にターボ符号を採用し、誤り検出符号にCRC符号を用いた通信システム例である。
送信側5において、CRC付加部5bは情報生成部5aが生成した所定ビット長のデータ列にCRC付加処理を施し、ターボ符号化部5cはターボ符号化処理によりCRCが付加された入力データ列に誤り訂正符号化処理を施して通信路(伝送路)6に送出する。受信側7において、ターボ復号器7aは入力した符号化データ列をターボ復号処理により復号し、復号結果をCRC検出部7bに入力する。
ターボ復号器7aは、繰り返し復号を行うことにより誤り率特性をよくすることが出来る。このため、ターボ復号器7aは、規定回数だけ繰り返し復号処理を行い、その誤り訂正復号結果に対してCRC検出部7bは誤り検出を行い、誤りがあれば、送信側5に再送要求RRQを送出し、誤りが無ければ情報抽出部7cに情報抽出を指示する。また、ターボ復号器7aは、復号回数が規定回数になる前に誤りが無くなれば、直ちに復号処理を停止して次の符号化データ列の復号を開始することにより復号処理の効率化を図っている。このため、CRC検出部7bは1回の復号毎に復号結果に対して誤りの有無を検出し、誤り検出結果をターボ復号器7aにフィードバックする。ターボ復号器7aは「誤り有り」が入力すれば繰り返し復号を行い、「誤り無し」が入力すれば規定回数に到達してなくても復号動作を停止、次の符号化データの復号を開始する。
図17はターボ符号器5cの構成図であり、uはCRCビットが付加されたNビットの入力データ、xa,xb,xcはターボ符号器5cで入力データuを符号化した符号化データである。符号化データxaは入力データuそのものであり、符号化データxbは入力データuを
符号器8aで畳み込み符号化したデータ、符号化データxcは情報データuをインタリーバ8bでインタリーブ(π)して符号器8cで畳み込み符号化したデータである。すなわち、ターボ符号器から出力される符号化データは、入力データu(=xa)にパリティビットxb,xcが付加された符号化率1/3の組織符号である。
図18はターボ復号器7aの構成図である。ターボ復号は、符号化データxa,xb,xcの受信信号Ys,Yp1,Yp2のうち、まずYs,Yp1を使って、第1の要素復号器9aで復号を行う。次に、第1の要素復号器9aから出力された復号結果(尤度)とYsとYp2とを用いて第2の要素復号器DEC9bで同様の復号を行う。ただし、Yp2は原データuをインタリーブしたものを符号化したxcに対応する受信信号なので、Ys並びに第1の要素復号器9aから出力される尤度を第2の要素復号器9bに入力する前にインタリーバ9c、9dでインタリーブ(π)する。
第2の要素復号器9bから出力された尤度はデインタリーバ9eでデインタリーブ(π-1)された後、第1の要素復号器9aへの入力としてフィードバックされる。第1の要素復号器9aはフィードバックされた尤度u′とYs,Yp1を使って復号を行い、以後復号回数が規定回数になるまで第1,第2の要素復号器9a,9bで上記復号を繰り返し、あるいは、誤りが無くなるまで上記復号を繰り返す。
図19は図18の第1、第2の要素復号器を1つの要素復号器9aで共用させたターボ復号器の構成図であり、スイッチ9fは復号動作が奇数番目であるか、偶数番目であるかにより要素復号器9a への入力信号を切り換える。通信路値RAM9gは通信路より受信した信号Ys,Yp1,Yp2を記憶し、適宜これらの信号をスイッチ9fを介して要素復号器9aへ入力すると共に、インタリーバ9cに入力する。復号結果RAM9hは復号結果を保存し、インタリーバ9d、デインタリーバ9eに入力する。硬判定部9iは復号結果を“0”、“1”に硬判定し、判定結果をCRC検出部7b(図16)に入力する。
図19のターボ復号器では、最初、スイッチ9fにおいて実線で示した接続で第1回目の復号を行う。このとき復号結果は正規の順番(正順)で出力される。次に、スイッチ9fにおいて破線で示した接続で復号を行う。この第2回目の復号処理では、情報ビットYs及び復号結果にインタリーブを施して復号を行う。このとき復号結果出力もインタリーブ順序となる。以後、これら復号処理を繰り返すが、復号結果を見ると、繰り返し毎に出力順序が正順→インタリーブ順(IL順)→正順→インタリーブ順→…と繰り返される。
図20は復号回数とCRCチェック結果の取得タイミングの説明図であり、4回目の繰り返し復号結果で誤りが検出されない場合を示している。CRCチェック結果は図15において説明したように、復号結果である入力データが正規の順序であれば復号終了と同時にCRCチェック結果(誤りの有無)を出力できる。しかし、入力データのビット列がインタリーブされて並び替えられていると、正規の順序に並び替えてからCRCチェックをする必要があり、CRCチェック結果の出力タイミングが遅れる。このため、ターボ復号における復号回数とCRCチェック結果の取得タイミングは図20に示すようになる。
すなわち、ターボ復号の結果をCRCチェックする場合、奇数回目の復号結果はデータが正順であることから、そのままCRC演算装置の除算器に入力することが出来、ターボ復号が終わると同時にCRCチェック結果を出力することが可能である。一方、インタリーブ順に復号結果を出力する場合、データを正順に並べ替える必要があるため、復号結果を一旦メモリに蓄えてからCRC演算装置の除算器に入力する必要があり、CRCチェック結果の取得タイミングが遅れる。このため、第4回目の復号結果に誤りが検出されなくなり、ターボ復号動作を停止しようとしても、既にCRC演算中に次の(第5回目の)ターボ復号を行っており、ターボ復号器を過度に動作させてしまう。換言すれば、無用のターボ復号動作を1回余分に実行することになり、ターボ復号の処理効率が低下している。
従来技術として、シンドローム演算時におけるデータの順序がチェックデータの作成時と異なっていても正しくシンドローム演算を行なうことが可能なシンドローム演算技術が
提案されている(特許文献1)。しかし、この従来技術は入力データのビット列がインタリーブ操作などで並び替えられている場合において、正規の順序に並び替えることなくCRCチェック結果を高速に出力する技術ではない。
以上から本発明の目的は、入力データのビット列が並び替えられている場合、その順で(正規の順序に並び替えることなく)CRCチェック結果を出力することである。
本発明の別の目的は、復号結果に誤りが無くなった時、直ちにCRCチェック結果を出力することである。
本発明の別の目的は、復号器の復号回数を減少することである。
本発明の別の目的は、小規模のハードウェア構成で目的とするCRC演算装置を実現できるようにすることである。
特開平5−165660
・誤り検出方法
本発明の第1は、所定ビット長のデータ列を多項式とみなし、該多項式を誤り検出符号生成用の多項式(生成多項式)で除算し、余りが0となるように該データ列に誤り検出符号が付加されたデータ列を入力され、該入力データにおける誤りの有無を検出する誤り検出方法であり、それぞれのビット位置に応じた多項式を前記生成多項式で除算したときの剰余値を予め計算してメモリに保存するステップ、入力データ列と共に、各データの正規のビット位置を示すビット位置情報を入力するステップ、入力データ列のうち0でないデータの正規のビット位置に対応する剰余値を前記メモリより求め、求めた各剰余値をビット対応に加算するステップ、加算結果が全てのビットで0となる場合には入力データ列に誤りなしと判定し、それ以外では誤り有りと判定するステップを有している。
前記剰余値の保存ステップにおいて、一定数のビット間隔の各ビット位置に応じた剰余値を保存し、保存されていないビット位置の剰余値を保存されている剰余値を用いて補間する。
・誤り訂正/誤り検出復号方法
本発明の第2は、所定ビット長のデータ列を多項式とみなし、該多項式を誤り検出符号生成用の多項式(生成多項式)で除算し、余りが0となるように該データ列に誤り検出符号を付加し、しかる後、所定の符号化方式により符号化した符号化データ列を復号する誤り訂正/誤り検出復号方法であり、誤り検出部において、それぞれのビット位置に応じた多項式を前記生成多項式で除算したときの剰余値を予め計算してメモリに保存するステップ、復号部において符号化データ列を繰り返し復号するステップ、復号結果を示すデータ列と共に、各データの正規のビット位置を示すビット位置情報を誤り検出部に入力するステップ、該誤り検出部において、復号結果のうち0でないデータの正規のビット位置に対応する剰余値を前記メモリより求め、求めた各剰余値をビット対応に加算し、加算結果が全てのビットで0となる場合には入力データ列に誤りなしと判定し、それ以外では誤り有りと判定するステップ、復号部は誤りが検出されなくなったとき前記符号化データの復号を停止するステップを有している。
・誤り検出装置
本発明の第3は、所定ビット長のデータ列を多項式とみなし、該多項式を誤り検出符号生成用の多項式(生成多項式)で除算し、余りが0となるように該データ列に誤り検出符号が付加されたデータ列を入力され、該入力データにおける誤りの有無を検出する誤り検出装置であり、それぞれのビット位置に応じた多項式を前記生成多項式で除算したときの剰余値を保存する剰余メモリ、入力データ列と共に、各データの正規のビット位置を示すビット位置情報を入力され、入力データ列のうち0でないデータの正規のビット位置に対応する剰余値を前記剰余メモリより求め、求めた各剰余値をビット対応に加算する加算部、加算結果が全てのビットで0となる場合には入力データ列に誤りなしと判定し、それ以
外では誤り有りと判定する誤り有無判定部を有している。
・誤り訂正/誤り検出復号装置
本発明の第4は、所定ビット長のデータ列を多項式とみなし、該多項式を誤り検出符号生成用の多項式(生成多項式)で除算し、余りが0となるように該データ列に誤り検出符号を付加し、しかる後、所定の符号化方式により符号化した符号化データ列を復号する誤り訂正/誤り検出復号装置であり、前記符号化データ列を繰り返し復号する復号部、復号結果に対する誤りの有無を検出し、誤り検出結果を復号部に通知する誤り検出部を備え、前記復号部は、符号化データ列を繰り返し復号して復号結果を出力する復号器、復号結果の各データの正規なビット位置を出力するビット位置管理部、復号器の復号処理の継続、停止を制御する制御部を備え、前記誤り検出部は、それぞれのビット位置に応じた多項式を前記生成多項式で除算したときの剰余値を保存する剰余メモリ、復号結果と共に、該復号結果の各データの正規のビット位置を示すビット位置情報を入力され、復号結果のうち0でないデータの正規のビット位置に対応する剰余値を前記剰余メモリより求め、求めた各剰余値をビット対応に加算する加算部、加算結果が全てのビットで0となる場合には入力データ列に誤りなしと判定し、それ以外では誤り有りと判定する誤り有無判定部を備えている。
CRC演算装置の原理構成図である。 データ入力開始からチェック結果出力までのタイミング説明図である。 本発明の第1実施例の構成図である。 第2実施例のビット番号iとP,kの関係説明図である。 第2実施例の剰余メモリの内容説明図である。 第2実施例のCRC演算装置の構成図である。 剰余値補間部の各部の入力ビット数、出力ビット数を明示した説明図である。 剰余計算部の構成説明図である。 第1実施例のCRC演算装置をターボ復号結果の誤り検出に使用した第3実施例の構成図である。 第3実施例におけるターボ復号器の復号結果とCRCチェック結果の出力タイミングを示す説明図である。 第4実施例のCRCチェック装置の構成図である。 入力ビット列が並列化されて入力される場合の説明図である。 誤り検出を適用した通信システムの構成例である。 除算回路の構成例である。 正規の順序で並んでいないビット列が入力する場合のCRCチェック回路の構成図である。 誤り訂正符号にターボ符号を採用し、誤り検出符号にCRC符号を用いた通信システム例である。 ターボ符号器の構成図である。 ターボ復号器の構成図である。 第1、第2の要素復号器を1つの要素復号器で共用させたターボ復号器の構成図である。 復号回数とCRCチェック結果の取得タイミングの説明図である。
(A)本発明の原理
本発明は、並び替え処理が施されたデータに対して、その順で(並び順を元に戻さずとも)CRC演算を行うことができるようにするものである。
例えば、インタリーブ処理等によりランダム化された順序でデータが入力される場合のCRC演算方式において、データの入力順序によらずに、演算を行うことで、誤り検出結果をすばやく出力することを可能にするものである。なお、以下の演算は全て「ビット対応のモジュロ2演算」を示している。「ビット対応の演算」とは同一ビット位置同士の演算を意味し、モジュロ2加算の演算子は「+」を使用する。モジュロ2加算は具体的には排他的論理和演算であり、したがって、ビット対応のモジュロ2加算とは、同一ビット位置同士の排他的論理和演算を意味する。また、回路構成を示す図中に表れる+演算記号も同様にビット対応の排他的論理和演算を意味する。
CRC演算に用いられる剰余演算は、入力データを多項式と見立てて、A(x)と表現し、m次の生成多項式G(x)で割った剰余を求めることである。
Nビットの入力ビット列、
Figure 2009019763

Figure 2009019763
にて多項式表現する。また、m次の生成多項式は、
Figure 2009019763
で表されているものとする。
第iビット位置に応じた多項式xiをG(x)で割った剰余をRi(x)とおくと、
Figure 2009019763
と表される。ここで、xiは1の後にi個の"0"を付加したデータ列(多項式)を意味する。また、Qi(x)はxiをG(x)で割った商多項式である。これにより、A(x)を書き直すと、
Figure 2009019763
となる。(5)式の右辺第二項は生成多項式G(x)で割り切れることから、A(x)をG(x)で割った剰余R(x)は、(5)式の右辺第一項をG(x)で割った剰余となるが、第一項は、G(x)で割り切れないために、R(x)は
Figure 2009019763
となる。このため、Ri(x)が予めわかっていれば、入力がどんな順番でもai Ri(x)を計算して、全ビットの結果の総和を求めることにより剰余値R(x)を算出ることが出来る。
図1は以上の原理に従ったCRC演算装置の構成図であり、このCRC演算装置には1ビットづつビットデータaiと共に該データの正規のビット位置iを示すビット位置情報(データ番号)が入力する。剰余メモリ11は予めxiを生成多項式G(x)で割ったmビットの剰余Ri(x)をビット位置i(i=0〜N、N+1は入力データ列のビット数)に対応させて記憶しており、ビット位置情報iが入力すると該ビット位置iに応じた剰余Ri(x)を出力する。乗算器12は、aiが1であれば剰余Ri(x)をそのまま出力し、aiが0であればmビットの0を出力する。加算部13はそれまでの加算結果(初期値はmビットの0)と乗算器12の出力をビット対応にモジュロ2加算(排他的論理和演算)して加算結果をレジスタ14に保存する。以後、入力データの全ビットについて上記処理を繰り返し、最後のモジュロ2加算結果を剰余R(x)として出力する。誤り検出部15は、剰余R(x)が全てのビットで0となる場合には入力データ列に誤りなしと判定し、それ以外では誤り有りと判定し、判定結果を出力する。
以上のようにすれば、入力順序が正規の順でなくて並び替えられていても、N+1ビットのデータ入力完了とほぼ同時にCRCチェック結果を出力することが可能となり、データ入力開始から、チェック結果出力までの時間が、図2の(a)に示すように従来2×N時間掛かっていたものが、(b)に示すようにN時間で終了することとなる。このため、ターボ復号の繰り返し復号終了後に直ちにCRCチェック結果を出力でき、復号結果の誤り無しの場合、ターボ復号器を直ちに停止することが可能となり、余計な復号器動作を必要としない。
(B)第1実施例
図3は本発明の第1実施例の構成図であり、図1と同一部分には同一符号を付している。異なる点は、剰余メモリ11の内容を明示している点、各部11〜15の入力ビット数、出力ビット数を明示している点であり、剰余Ri(x)のビット数mは24ビットである。
剰余値R(x)は、(6)式の右辺を求めることにより実施し、Ri(x)の値はあらかじめテーブルとして剰余メモリ11に記憶している。入力データaiはデータ番号iと共に入力され、データ番号iによってROMテーブルを参照し、剰余Ri(x)を算出する。算出されたRi(x)は入力データaiと乗算し、乗算結果をレジスタ14に保存されているそれまでの加算結果(初期値はmビットの0)と加算し、加算結果をレジスタ14に保存する。上記の動作を全ビットについて行なえば、データ入力完了後に、剰余値R(x)が求まる。誤り検出部15は該剰余値R(x)が0であるかの判定を行い、0である場合は、チェック結果OKを出力し、0以外である場合は、チェック結果NGを出力する。
すなわち、第1実施例のCRC演算装置は、(1)入力データ列の各データaiと共に、各データの正規のビット位置を示すビット位置情報iを入力され、(2)N+1ビットの入力データ列のうち0でないデータの正規ビット位置iに対応する剰余値Ri(x)を求め、求めた各剰余値Ri(x)をビット対応にモジュロ2加算し、(3)加算結果を剰余値R(x)とし、該剰余値R(x)が全てのビットで0となる場合には入力データ列に誤りなしと判定し、それ以外では誤り有りと判定する。これにより、第1実施例によれば、ターボ復号の繰り返し復号終了後に直ちにCRCチェック結果を出力することができる。
(C)第2実施例
第1実施例では、入力されるデータの最大ビット長N+1のそれぞれについて剰余値Ri(x)を保管する必要があり、Nが大きくなると、例えばN=10,000となると、剰余メモリ11のサイズが大きくなる問題がある。そこで、第2実施例ではPビットおきに剰余値を剰余メモリに記憶することで剰余メモリ11のサイズの削減を図る。
Pを任意の定数として、図4に示すようにビット位置を示すiを
Figure 2009019763
のように、分解する。ただし、P=2sである。
このとき、必要となる剰余値Ri(x)はxiを生成多項式G(x)で割った剰余である。xiはxPnを生成多項式G(x)で割った商多項式をQPn(x)、剰余多項式をRPn(x)として表すと、
Figure 2009019763
となることから、剰余値Ri(x)はRPn(x)・xkをG(x)で割った剰余と等しくなる。そのため、図5に示すようにP毎のビット位置nに対応させてRPn(x)をテーブル化して記憶しておき、ビット位置i(i=P・n+k)のPに応じたRPn(x)をテーブルから求めてxkを乗算し、乗算結果RPn(x)・xkをG(x)で除算して余りを求め、該余りを剰余値Ri(x)とする。
RPn(x)・xkはテーブルから得られたRPn(x)を左へkビットシフトし、空きビットに0を挿入する演算により求める。
図6は以上の原理に従った第2実施例のCRC演算装置の構成図であり、図1と同一部分には同一符号を付している。異なる点は、一定数P毎のビット位置P×nに応じた剰余値RPn(x)を保存し、保存されていないビット位置の剰余値を保存されている剰余値を用いて補間する剰余値補間部20と、ビット位置i(i=P・n+k)を入力されてP、kに分離する分離部30を設けている点である。
剰余値補間部20は、一定数P毎のビット位置P×nに応じた剰余値RPn(x)を保存する剰
余メモリ21、ビット位置i(i=P・n+k)のPに応じたRPn(x)をkビットシフトするシフト部22、シフトして得られたRPn(x)・xkを生成多項式G(x)で除算して余りRi(x)を出力する剰余計算部23を備えている。
CRC演算装置には1ビットづつビットデータaiと共に該データの正規のビット位置i (=P・n+k)を示すビット位置情報(データ番号)が入力する。分離部30はビット位置iをP、kに分離し、剰余メモリ21はnに応じた剰余RPn(x)を出力する。シフト部22はRPn(x)をkビットシフトしてRPn(x)・xkを演算し、剰余計算部23はRPn(x)・xkを生成多項式G(x)で除算して余りRi(x)を出力する。
乗算器12は、aiが1であれば剰余Ri(x)をそのまま出力し、aiが0であればmビットの0を出力する。加算部13はレジスタ14に保存されているそれまでの加算結果(初期値はmビットの0)と乗算器12の出力をビット対応にモジュロ2加算して加算結果をレジスタ14に保存する。以後、入力データの全ビットについて上記処理を繰り返し、最後のモジュロ2加算結果を剰余R(x)として出力する。誤り検出部15は、剰余R(x)が全てのビットで0となる場合には入力データ列に誤りなしと判定し、それ以外では誤り有りと判定し、判定結果を出力する。
剰余値をmビットとするとシフト演算結果は、最大m+P−1ビットとなり、m=24,P=32(=26)とすれば、シフト演算結果は55ビットとなる。図7(A)、(B)はm=24,P=32(=26),s=6,N=12とした場合における剰余値補間部20の各部の入力ビット数、出力ビット数を明示したものであり、kは0〜4の5ビットで表現され、nは5〜12の8ビットで表現される。剰余メモリ21はnに対応させて24ビットのRPn(x)(=R32n(x))を記憶している。シフト部22の出力Iは0〜54の55ビットであり、剰余計算部23の出力Ri(x)(=RPn+k(x))は24ビットである。
図6及び図7(A)における剰余計算部23を、図14で説明したシフトレジスタ(除算器)で構成すると除算に55クロック時間を必要として好ましくない。ところで、剰余計算部23の入力Iのビット数は55と一定である。このため、入力IをG(x)で除算するということは、固定入力ビット長の除算と考えることができ、シフトレジスタを使わない排他的論理和のみの一意の固定回路で実現することができる。たとえば、生成多項式を
Figure 2009019763
とし、P=32とすると、剰余計算部23の出力ビットO[0]〜O[23]は、図8に示すように入力ビットI[0]〜I[54]の所定の組み合わせの排他的論理和演算により求めることができる。一例として、O[22]はI[45],I[40],I[22]の排他的論理和演算により求めることができる。
第2実施例によれば、第1実施例と同様にターボ復号の繰り返し復号終了後に直ちにCRCチェック結果を出力することができ、しかも剰余メモリの容量を削減することができる。
(D)第3実施例
図9は第1実施例のCRC演算装置を、ターボ復号結果の誤り検出に使用した第3実施例の構成図である。ターボ復号部51は図19で説明したターボ復号器51aに加えて、復号結果の各ビットの正規のビット位置を示すビット番号を出力するビット番号出力部51bを備えている。ビット番号出力部51bは復号結果が正規な順番であれば、該正規な順番にビット番号を出力し、復号結果がインターリーブされた順番であれば、該インターリーブ順にビット番号を出力する。CRC演算部52は図3に示す第1実施例の構成を備え、ターボ復号器51aの復号結果とビット番号を入力され、該ターボ復号結果に誤りが含ま
れているか否かをチェックし、チェック結果を出力する。ターボ復号器制御部53は復号繰り返し回数が規定回数前であっても、CRC演算部52からのチェック結果が「誤り無し」を示していれば、ターボ復号器51aにターボ復号を停止させ、次の符号化データの復号を開始させる。なお、CRC演算装置52として図6に示す第2実施例の構成を採用することもできる。
図10は第3実施例におけるターボ復号器の復号結果とCRCチェック結果の出力タイミングを示す説明図であり、4回の繰り返し復号により誤りが無くなった場合(CRC OK)を示している。第3実施例によれば、ターボ復号器51aが復号結果を1ビットづつ入力しながら、CRC演算装置52はCRCの演算ができるため、すなわち、ターボ復号器51aがターボ復号を行いながらCRC演算装置52がCRC演算できる。このため、ターボ復号器51aでの繰り返し復号終了後、CRC演算装置52は直ちにその繰り返し復号結果に対するCRCチェック結果を出力でき、ターボ復号器制御部53はCRC OKを検出してすぐにターボ復号器51aに停止指示を出してターボ復号動作を停止させることができる。この結果、ターボ復号器51aは余分な繰り返し復号を行わなくても良く、次の符号化データの復号動作を開始することができる。
なお、図20の復号結果が3回目のタイミングを参照すると、従来例では2回目のインターリーブ順のCRCチェック演算と3回目の正順のCRCチェック演算を同時に行わなくてはならない。このため、従来例では、CRC演算を同時に行える様に2個のCRC演算器を実装することを想定している。しかし、第3実施例によれば、1つのCRC演算器のみでターボ復号結果のCRC演算を行うがことも可能であり、CRC演算装置の実装個数を減らすことも出来る。
(E)第4実施例
図11は第4実施例のCRC演算装置の構成図であり、入力ビット列が並列化されて入力される場合において並列入力データ毎に剰余Ri(x)を算出する構成を備えている。なお、図3と同一部分には同一符号を付している。
図12は入力ビット列が並列化されてCRC演算装置に入力される場合の説明図である。送信側において、送信情報にCRCビットを付加し、該CRCビットが付加された情報を複数個、図では5個のブロックに分割し、各分割したブロックにターボ符号器TCDR1〜TCDR5で例えばターボ符号化して送信する。なお、情報長は5×Mビットとし、0~M−1,M〜2M−1,2M〜3M−1,3M〜4M−1,4M〜5M−1に分割されているものとする。
受信側のターボ復号器TDEC1〜TDEC5は受信したそれぞれの符号化データに対してターボ復号を行い、復号結果を並列的に図11の並列型のCRC演算装置60に入力する。CRC演算装置60は図11に示す構成を備え、並列入力されたそれぞれのMビットデータに対して例えば第1実施例の剰余演算を行い、各並列データに対して得られた剰余値を用いて5×Mビットの剰余値R(x)を算出し、該剰余値R(x)が0であるか否かをチェックして、チェック結果を出力する。
図11において、各ターボ復号器TDEC1〜TDEC5から出力されたMビットの復号結果とビット番号は正規の順番で、あるいはインタリーブされた順番で第1〜第5の剰余演算部61a,61b,….,61eに入力する。たとえば、第1の剰余演算部61aには、Mビットの復号結果a0〜aM-1が正規の順番であるいはインタリーブされた順番で入力し、該復号結果ビットと共にその正規なビット位置を示すビット番号0〜M−1が入力する。また、第2の剰余演算部61bには、Mビットの復号結果aM〜a2M-1が正規の順番であるいはインタリーブされた順番で入力し、該復号結果ビットと共にその正規なビット位置を示すビット番号M〜2M−1が入力する。同様に、第5の剰余演算部61eには、Mビットの復号結果a4M〜a5M-1が正規の順番であるいはインタリーブされた順番で入力し、該復号結果ビットと共にその正規なビット位置を示すビット番号4M〜5M−1が入力する。
剰余演算部61a,61b,….,61eは図3の第1実施例における剰余メモリ11と乗
算部12に相当し、各剰余メモリ11a〜11eにはそれぞれ、ビット位置に対応させて剰余Ri(x)が記憶されている。すなわち、剰余メモリ11aにはビット位置i=0〜M−1に対応させてR0(x)〜R
M-1(x)が記憶され、剰余メモリ11bにはビット位置i=M〜2M−1に対応させてRM(x)〜R2M-1
(x)が記憶され、以下同様に剰余メモリ11eにはビット位置i=4M〜5M−1に対応させてR4M(x)
〜R5M-1 (x)が記憶される。各剰余メモリ11a〜11eは、入力されたビット位置に応じた剰余を出力する。乗算部12a〜12eはそれぞれ入力された復号結果ビットに剰余メモリ11a〜11eから入力する剰余値を乗算して加算部13に入力する。なお、乗算部12a〜12eより全体として一度に5ビット分の剰余が加算部13に入力する。加算部13はそれまでの加算結果(レジスタ14に保存されており、初期値は0)と乗算器12a〜12eの出力をビット対応にモジュロ2加算して加算結果をレジスタ14に保存する。以後、入力データのMビットについて上記処理を繰り返し、最後のモジュロ2加算結果を剰余R(x)として出力する。誤り検出部15は、剰余R(x)が全てのビットで0となる場合には入力データ列に誤りなしと判定し、それ以外では誤り有りと判定し、判定結果を出力する。図11では図3の第1実施例のCRC演算装置を基本に構成したが、図6の第2実施例のCRC演算装置を基本に構成することもできる。
以上要約すれば、CRC演算装置60は、復号結果が並列入力するとき、各並列データ列の0でないビットデータの正規ビット位置に対応する剰余値を全て加算器13においてモジュロ加算し、加算結果が全てのビットで0となる場合には入力データ列に誤りなしと判定し、それ以外では誤り有りと判定してチェック結果を出力する。
・発明の効果
以上本発明によれば、入力データのビット列が並び替えられている場合でも、そのまま(正規の順序に並び替えずとも)CRCチェック結果を出力することができる。また、本発明によれば、復号結果に誤りが無くなった時、直ちにCRCチェック結果を出力することができる。また、本発明によれば、復号結果に誤りが無くなった時、直ちに復号動作を停止して次の符号化データの復号を開始でき、1つの符号化データに対する復号器の復号回数を減少することができる。また、本発明によれば、小規模のハードウェア構成で目的とするCRC演算装置を実現することができる。

Claims (12)

  1. 所定ビット長のデータ列を多項式とみなし、該多項式を誤り検出符号生成用の多項式(生成多項式)で除算し、余りが0となるように該データ列に誤り検出符号が付加されたデータ列を入力され、該入力データにおける誤りの有無を検出する誤り検出方法において、
    それぞれのビット位置に応じた多項式を前記生成多項式で除算したときの剰余値を予め計算してメモリに保存し、
    入力データ列と共に、各データの正規のビット位置を示すビット位置情報を入力し、
    入力データ列のうち0でないデータの正規のビット位置に対応する剰余値を前記剰余メモリより求め、求めた各剰余値をビット対応に加算し、
    加算結果が全てのビットで0となる場合には入力データ列に誤りなしと判定し、それ以外では誤り有りと判定する、
    ことを特徴とする誤り検出方法。
  2. 前記剰余値の保存ステップにおいて、一定数のビット間隔の各ビット位置に応じた剰余値を保存し、保存されていないビット位置の剰余値を保存されている剰余値を用いて補間する、
    ことを特徴とする請求項1記載の誤り検出方法。
  3. 前記一定数のビット間隔をPとするとき、ビット位置がn×P+k (0≦k<P)の剰余値は、ビット位置がn×Pのときの剰余値をkビットシフトし、該シフト結果を前記生成多項式で除算したときの剰余値である、
    ことを特徴とする請求項2記載の誤り検出方法。
  4. 前記データ列が並列的に入力するとき、各並列データ列の0でないデータの正規のビット位置に対応する剰余値を全て加算し、加算結果が全てのビットで0となれば並列入力データ列に誤りなしと判定し、それ以外では誤り有りと判定する、
    ことを特徴とする請求項1記載の誤り検出方法。
  5. 所定ビット長のデータ列を多項式とみなし、該多項式を誤り検出符号生成用の多項式(生成多項式)で除算し、余りが0となるように該データ列に誤り検出符号を付加し、しかる後、所定の符号化方式により符号化した符号化データ列を復号する誤り訂正/誤り検出復号方法において、
    誤り検出部において、それぞれのビット位置に応じた多項式を前記生成多項式で除算したときの剰余値を予め計算してメモリに保存しておき、
    復号部において符号化データ列を繰り返し復号し、
    復号結果を示すデータ列と共に、各データの正規のビット位置を示すビット位置情報を誤り検出部に入力し、
    該誤り検出部において、復号結果のうち0でないデータの正規のビット位置に対応する剰余値を前記メモリより求め、求めた各剰余値をビット対応に加算し、加算結果が全ての
    ビットで0となる場合には入力データ列に誤りなしと判定し、それ以外では誤り有りと判定し、
    復号部は誤りが検出されなくなったとき前記符号化データの復号を停止する、
    ことを特徴とする誤り訂正/誤り検出復号方法。
  6. 前記剰余値の保存ステップにおいて、一定数のビット間隔の各ビット位置に応じた剰余値を保存し、保存されていないビット位置の剰余値を保存されている剰余値を用いて補間する、
    ことを特徴とする請求項5記載の誤り訂正/誤り検出復号方法。
  7. 所定ビット長のデータ列を多項式とみなし、該多項式を誤り検出符号生成用の多項式(生成多項式)で除算し、余りが0となるように該データ列に誤り検出符号が付加されたデータ列を入力され、該入力データにおける誤りの有無を検出する誤り検出装置において、
    それぞれのビット位置に応じた多項式を前記生成多項式で除算したときの剰余値を保存する剰余メモリ、
    入力データ列と共に、各データの正規のビット位置を示すビット位置情報を入力され、入力データ列のうち0でないデータの正規のビット位置に対応する剰余値を前記剰余メモリより求め、求めた各剰余値をビット対応に加算する加算部、
    加算結果が全てのビットで0となる場合には入力データ列に誤りなしと判定し、それ以外では誤り有りと判定する誤り有無判定部、
    を有することを特徴とする誤り検出装置。
  8. 前記剰余メモリに、一定数のビット間隔の各ビット位置に応じた剰余値を保存し、保存されていないビット位置の剰余値を保存されている剰余値を用いて補間する剰余値補間部、
    を有することを特徴とする請求項7記載の誤り検出装置。
  9. 前記補間部は、前記一定数のビット間隔をPとするとき、ビット位置がn×P+k (0≦k<P)の剰余値を、ビット位置がn×Pのときの剰余値をkビットシフトし、該シフト結果を前記生成多項式で除算して算出する、
    ことを特徴とする請求項8記載の誤り検出装置。
  10. 前記加算部は、前記データ列が並列的に入力するとき、各並列データ列の0でないデータの正規のビット位置に対応する剰余値を全てビット対応に加算する、
    ことを特徴とする請求項7記載の誤り検出装置。
  11. 所定ビット長のデータ列を多項式とみなし、該多項式を誤り検出符号生成用の多項式(生成多項式)で除算し、余りが0となるように該データ列に誤り検出符号を付加し、しかる後、所定の符号化方式により符号化した符号化データ列を復号する誤り訂正/誤り検出復号装置において、
    前記符号化データ列を繰り返し復号する復号部、復号結果に対する誤りの有無を検出し、誤り検出結果を復号部に通知する誤り検出部、
    を備え、前記復号部は、
    符号化データ列を繰り返し復号して復号結果を出力する復号器、
    復号結果の各データの正規のビット位置を出力するビット位置管理部、
    復号器の復号処理の継続、停止を制御する制御部、
    を備え、前記誤り検出部は、
    それぞれのビット位置に応じた多項式を前記生成多項式で除算したときの剰余値を保存する剰余メモリ、
    復号結果と共に、該復号結果の各データの正規のビット位置を示すビット位置情報を入
    力され、復号結果のうち0でないデータの正規のビット位置に対応する剰余値を前記剰余メモリより求め、求めた各剰余値をビット対応に加算する加算部、
    加算結果が全てのビットで0となる場合には入力データ列に誤りなしと判定し、それ以外では誤り有りと判定する誤り有無判定部、
    を備え、
    前記復号部は誤りが検出されなくなったとき前記符号化データの復号を停止する、
    ことを特徴とする誤り訂正/誤り検出復号装置。
  12. 前記誤り検出部は、前記剰余メモリに一定数のビット間隔の各ビット位置に応じた剰余値を保存し、保存されていないビット位置の剰余値を保存されている剰余値を用いて補間する剰余値補間部、
    を有することを特徴とする請求項12記載の誤り訂正/誤り検出復号装置。
JP2009526290A 2007-08-07 2007-08-07 誤り検出方法 Expired - Fee Related JP5126230B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2007/065441 WO2009019763A1 (ja) 2007-08-07 2007-08-07 誤り検出装置及び誤り訂正/誤り検出復号装置並びに方法

Publications (2)

Publication Number Publication Date
JPWO2009019763A1 true JPWO2009019763A1 (ja) 2010-10-28
JP5126230B2 JP5126230B2 (ja) 2013-01-23

Family

ID=40341011

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009526290A Expired - Fee Related JP5126230B2 (ja) 2007-08-07 2007-08-07 誤り検出方法

Country Status (5)

Country Link
US (1) US20100138725A1 (ja)
EP (1) EP2187525B1 (ja)
JP (1) JP5126230B2 (ja)
CN (1) CN101765976B (ja)
WO (1) WO2009019763A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10158470B2 (en) 2009-08-18 2018-12-18 Koninklijke Philips N.V. Method for operating a radio station in a mobile network
US8930431B2 (en) 2010-12-15 2015-01-06 International Business Machines Corporation Parallel computation of a remainder by division of a sequence of bytes
JP2016051924A (ja) 2014-08-28 2016-04-11 富士通株式会社 復号装置及び誤り検出方法
KR102418477B1 (ko) 2014-12-30 2022-07-08 한미약품 주식회사 글루카곤 유도체
KR20180063475A (ko) * 2016-12-02 2018-06-12 삼성전자주식회사 반도체 장치의 오류 검출 코드 생성 회로, 이를 포함하는 메모리 컨트롤러 및 반도체 메모리 장치
US10637509B2 (en) 2017-06-30 2020-04-28 Silicon Motion, Inc. Methods for reducing data errors in transceiving of a flash storage interface and apparatuses using the same
US10630424B2 (en) * 2017-06-30 2020-04-21 Silicon Motion, Inc. Methods for reducing data errors in transceiving of a flash storage interface and apparatuses using the same
US10848263B2 (en) 2017-06-30 2020-11-24 Silicon Motion, Inc. Methods for reducing data errors in transceiving of a flash storage interface and apparatuses using the same
CN109213436B (zh) * 2017-06-30 2021-08-24 慧荣科技股份有限公司 降低快闪储存介面中传收数据错误方法及装置
WO2022032396A1 (en) * 2020-08-13 2022-02-17 Nexii Building Solutions Inc. Systems and methods for thermal breaking of a prefabricated panel

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0385923A (ja) * 1989-08-30 1991-04-11 Fujitsu Ltd Crc演算方式
US7185266B2 (en) * 2003-02-12 2007-02-27 Alacritech, Inc. Network interface device for error detection using partial CRCS of variable length message portions
US6223320B1 (en) * 1998-02-10 2001-04-24 International Business Machines Corporation Efficient CRC generation utilizing parallel table lookup operations
KR100321978B1 (ko) * 1998-12-31 2002-07-02 윤종용 통신시스템에서반복복호장치및방법
JP2001036414A (ja) * 1999-07-21 2001-02-09 Nec Corp Crc符号生成回路及びcrcエラー検出回路
US7065702B2 (en) 2001-04-12 2006-06-20 Siliquent Technologies Ltd. Out-of-order calculation of error detection codes
US6961893B1 (en) * 2002-03-28 2005-11-01 Adaptec, Inc. Separable cyclic redundancy check
WO2003090362A1 (fr) * 2002-04-22 2003-10-30 Fujitsu Limited Codeur et decodeur de detection d'erreur, et diviseur
US7613980B2 (en) * 2003-06-06 2009-11-03 Avago Technologies General Ip (Singapore) Pte. Ltd. System for computing a CRC value by processing a data message a word at a time
JP2005006188A (ja) * 2003-06-13 2005-01-06 Mitsubishi Electric Corp Crc演算方法およびcrc演算装置
US7010469B2 (en) * 2003-09-30 2006-03-07 International Business Machines Corporation Method of computing partial CRCs
JP3906209B2 (ja) * 2004-01-26 2007-04-18 株式会社東芝 無線受信装置及び無線受信方法
KR100594241B1 (ko) * 2004-01-29 2006-06-30 삼성전자주식회사 순방향 치엔 서치 방식의 리드 솔로몬 디코더 회로
EP1858177A1 (en) * 2005-03-07 2007-11-21 Fujitsu Limited Wireless communication system

Also Published As

Publication number Publication date
JP5126230B2 (ja) 2013-01-23
EP2187525B1 (en) 2014-03-12
US20100138725A1 (en) 2010-06-03
EP2187525A1 (en) 2010-05-19
WO2009019763A1 (ja) 2009-02-12
CN101765976A (zh) 2010-06-30
CN101765976B (zh) 2014-03-12
EP2187525A4 (en) 2010-08-25

Similar Documents

Publication Publication Date Title
JP5126230B2 (ja) 誤り検出方法
JP3930479B2 (ja) 誤り検出符号化及び復号装置並びに除算装置
KR100594241B1 (ko) 순방향 치엔 서치 방식의 리드 솔로몬 디코더 회로
US7072417B1 (en) LDPC encoder and method thereof
US5699368A (en) Error-correcting encoder, error-correcting decoder, and data transmitting system with error-correcting codes
US7246294B2 (en) Method for iterative hard-decision forward error correction decoding
EP1098446A2 (en) Multiple coding method and apparatus, multiple decoding method and apparatus, and information transmission system
JP4976397B2 (ja) 並列剰余演算器及び並列剰余演算方法
US5272661A (en) Finite field parallel multiplier
JP2005522139A (ja) 繰り返し硬判定順方向誤り訂正復号化用の装置
JP7047092B2 (ja) 階段コードの復号化方法、装置および記憶媒体
KR101314232B1 (ko) 에러 정정 코드의 부호화 및 복호화 방법 그리고 코덱
CN114731166A (zh) 空间耦合fec编码方法和使用gel码的分量码的设备
US6978415B1 (en) Variable redundancy cyclic code encoders
JP4202161B2 (ja) 符号化装置および復号装置
JP2003078421A (ja) 符号系列の先頭位置検出方法とその装置、それを用いた復号方法とその装置
JP5248300B2 (ja) 誤り訂正復号装置および誤り訂正復号方法
JP2005006188A (ja) Crc演算方法およびcrc演算装置
US9287898B2 (en) Method and circuit for shortening latency of Chien&#39;S search algorithm for BCH codewords
CN110504975B (zh) 一种crc并行编解码方法及基于其的编解码器
WO2009069087A1 (en) Apparatus and method for decoding concatenated error correction codes
KR100762132B1 (ko) 디지털 전송 시스템
JP2002076922A (ja) 誤り訂正符号器および復号器
KR19990053048A (ko) 수정 치엔 탐색 회로를 이용한 리드-솔로몬 복호기
WO1999045911A2 (en) Universal reed-solomon coder-decoder

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120313

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120508

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121002

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121015

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20151109

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees