JPWO2009019763A1 - 誤り検出装置及び誤り訂正/誤り検出復号装置並びに方法 - Google Patents
誤り検出装置及び誤り訂正/誤り検出復号装置並びに方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
- H03M13/093—CRC update after modification of the information word
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/09—Error 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
Description
図13は誤り検出を適用した通信システムの構成例である。送信側1において、誤り検出符号化部1bは、情報生成部1aが生成した所定ビット長のデータ列に誤り検出符号化処理を施し、誤り訂正符号化部1cは所定の符号化方式により入力データ列を誤り訂正符号化して通信路2を介して受信側3に送信する。受信側3において、誤り訂正復号部3aは入力した符号化データ列を誤り訂正復号処理により復号し、復号データ列を誤り検出復号部3bに入力する。誤り検出復号部3bは復号データ列に誤り検出復号処理を施して誤りの有無を検出し、誤りが有れば送信側に再送要求信号RRQを送出する。情報抽出部3cは誤りが無ければデータを抽出して出力する。
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)
を演算し、割り切れるかどうかを検出する。
力側に設けられたスイッチSWで構成されている。スイッチSWをフィードバック側(A側)に切り替えた状態でデータ列を高次から1ビットずつEOR1に入力することで除算を行うことができる。
図15は正規の順序で並んでいないビット列が入力する場合のCRCチェック回路の構成図であり、図14(A)の除算器4aの前段にデータ順序並び替え用のRAM 4bと、除算器4aで求めた剰余が0であるか否かを判断してチェック結果を出力するオール零検出回路4cが設けられている。データ順序並び替え用のRAM 4bにはビット列(入力データ)と共に各ビットの正規の順番(データ番号)が入力される。これにより、RAM 4bは、ビット毎の入力データをデータ番号が指示する位置に書き込み、しかる後、順番に読み出すことによりビット列を正規の順番に並び替えて出力する。すなわち、インタリーブ等の並び替え操作が複雑であれば、全入力データを一旦メモリに蓄えた後に正順になるようにメモリから読み出しを行なって除算器4aに入力する必要があり、このため、データ並び替えの時間が必要となる。例えば、Nビット入力の場合、Nクロック時間経過しなければCRC演算を開始できない為に、結果として2Nクロック時間経過しなければ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は「誤り有り」が入力すれば繰り返し復号を行い、「誤り無し」が入力すれば規定回数に到達してなくても復号動作を停止、次の符号化データの復号を開始する。
符号器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のターボ復号器では、最初、スイッチ9fにおいて実線で示した接続で第1回目の復号を行う。このとき復号結果は正規の順番(正順)で出力される。次に、スイッチ9fにおいて破線で示した接続で復号を行う。この第2回目の復号処理では、情報ビットYs及び復号結果にインタリーブを施して復号を行う。このとき復号結果出力もインタリーブ順序となる。以後、これら復号処理を繰り返すが、復号結果を見ると、繰り返し毎に出力順序が正順→インタリーブ順(IL順)→正順→インタリーブ順→…と繰り返される。
すなわち、ターボ復号の結果をCRCチェックする場合、奇数回目の復号結果はデータが正順であることから、そのままCRC演算装置の除算器に入力することが出来、ターボ復号が終わると同時にCRCチェック結果を出力することが可能である。一方、インタリーブ順に復号結果を出力する場合、データを正順に並べ替える必要があるため、復号結果を一旦メモリに蓄えてからCRC演算装置の除算器に入力する必要があり、CRCチェック結果の取得タイミングが遅れる。このため、第4回目の復号結果に誤りが検出されなくなり、ターボ復号動作を停止しようとしても、既にCRC演算中に次の(第5回目の)ターボ復号を行っており、ターボ復号器を過度に動作させてしまう。換言すれば、無用のターボ復号動作を1回余分に実行することになり、ターボ復号の処理効率が低下している。
提案されている(特許文献1)。しかし、この従来技術は入力データのビット列がインタリーブ操作などで並び替えられている場合において、正規の順序に並び替えることなくCRCチェック結果を高速に出力する技術ではない。
以上から本発明の目的は、入力データのビット列が並び替えられている場合、その順で(正規の順序に並び替えることなく)CRCチェック結果を出力することである。
本発明の別の目的は、復号結果に誤りが無くなった時、直ちにCRCチェック結果を出力することである。
本発明の別の目的は、復号器の復号回数を減少することである。
本発明の別の目的は、小規模のハードウェア構成で目的とするCRC演算装置を実現できるようにすることである。
本発明の第1は、所定ビット長のデータ列を多項式とみなし、該多項式を誤り検出符号生成用の多項式(生成多項式)で除算し、余りが0となるように該データ列に誤り検出符号が付加されたデータ列を入力され、該入力データにおける誤りの有無を検出する誤り検出方法であり、それぞれのビット位置に応じた多項式を前記生成多項式で除算したときの剰余値を予め計算してメモリに保存するステップ、入力データ列と共に、各データの正規のビット位置を示すビット位置情報を入力するステップ、入力データ列のうち0でないデータの正規のビット位置に対応する剰余値を前記メモリより求め、求めた各剰余値をビット対応に加算するステップ、加算結果が全てのビットで0となる場合には入力データ列に誤りなしと判定し、それ以外では誤り有りと判定するステップを有している。
前記剰余値の保存ステップにおいて、一定数のビット間隔の各ビット位置に応じた剰余値を保存し、保存されていないビット位置の剰余値を保存されている剰余値を用いて補間する。
本発明の第2は、所定ビット長のデータ列を多項式とみなし、該多項式を誤り検出符号生成用の多項式(生成多項式)で除算し、余りが0となるように該データ列に誤り検出符号を付加し、しかる後、所定の符号化方式により符号化した符号化データ列を復号する誤り訂正/誤り検出復号方法であり、誤り検出部において、それぞれのビット位置に応じた多項式を前記生成多項式で除算したときの剰余値を予め計算してメモリに保存するステップ、復号部において符号化データ列を繰り返し復号するステップ、復号結果を示すデータ列と共に、各データの正規のビット位置を示すビット位置情報を誤り検出部に入力するステップ、該誤り検出部において、復号結果のうち0でないデータの正規のビット位置に対応する剰余値を前記メモリより求め、求めた各剰余値をビット対応に加算し、加算結果が全てのビットで0となる場合には入力データ列に誤りなしと判定し、それ以外では誤り有りと判定するステップ、復号部は誤りが検出されなくなったとき前記符号化データの復号を停止するステップを有している。
本発明の第3は、所定ビット長のデータ列を多項式とみなし、該多項式を誤り検出符号生成用の多項式(生成多項式)で除算し、余りが0となるように該データ列に誤り検出符号が付加されたデータ列を入力され、該入力データにおける誤りの有無を検出する誤り検出装置であり、それぞれのビット位置に応じた多項式を前記生成多項式で除算したときの剰余値を保存する剰余メモリ、入力データ列と共に、各データの正規のビット位置を示すビット位置情報を入力され、入力データ列のうち0でないデータの正規のビット位置に対応する剰余値を前記剰余メモリより求め、求めた各剰余値をビット対応に加算する加算部、加算結果が全てのビットで0となる場合には入力データ列に誤りなしと判定し、それ以
外では誤り有りと判定する誤り有無判定部を有している。
本発明の第4は、所定ビット長のデータ列を多項式とみなし、該多項式を誤り検出符号生成用の多項式(生成多項式)で除算し、余りが0となるように該データ列に誤り検出符号を付加し、しかる後、所定の符号化方式により符号化した符号化データ列を復号する誤り訂正/誤り検出復号装置であり、前記符号化データ列を繰り返し復号する復号部、復号結果に対する誤りの有無を検出し、誤り検出結果を復号部に通知する誤り検出部を備え、前記復号部は、符号化データ列を繰り返し復号して復号結果を出力する復号器、復号結果の各データの正規なビット位置を出力するビット位置管理部、復号器の復号処理の継続、停止を制御する制御部を備え、前記誤り検出部は、それぞれのビット位置に応じた多項式を前記生成多項式で除算したときの剰余値を保存する剰余メモリ、復号結果と共に、該復号結果の各データの正規のビット位置を示すビット位置情報を入力され、復号結果のうち0でないデータの正規のビット位置に対応する剰余値を前記剰余メモリより求め、求めた各剰余値をビット対応に加算する加算部、加算結果が全てのビットで0となる場合には入力データ列に誤りなしと判定し、それ以外では誤り有りと判定する誤り有無判定部を備えている。
本発明は、並び替え処理が施されたデータに対して、その順で(並び順を元に戻さずとも)CRC演算を行うことができるようにするものである。
例えば、インタリーブ処理等によりランダム化された順序でデータが入力される場合のCRC演算方式において、データの入力順序によらずに、演算を行うことで、誤り検出結果をすばやく出力することを可能にするものである。なお、以下の演算は全て「ビット対応のモジュロ2演算」を示している。「ビット対応の演算」とは同一ビット位置同士の演算を意味し、モジュロ2加算の演算子は「+」を使用する。モジュロ2加算は具体的には排他的論理和演算であり、したがって、ビット対応のモジュロ2加算とは、同一ビット位置同士の排他的論理和演算を意味する。また、回路構成を示す図中に表れる+演算記号も同様にビット対応の排他的論理和演算を意味する。
CRC演算に用いられる剰余演算は、入力データを多項式と見立てて、A(x)と表現し、m次の生成多項式G(x)で割った剰余を求めることである。
Nビットの入力ビット列、
を
第iビット位置に応じた多項式xiをG(x)で割った剰余をRi(x)とおくと、
以上のようにすれば、入力順序が正規の順でなくて並び替えられていても、N+1ビットのデータ入力完了とほぼ同時にCRCチェック結果を出力することが可能となり、データ入力開始から、チェック結果出力までの時間が、図2の(a)に示すように従来2×N時間掛かっていたものが、(b)に示すようにN時間で終了することとなる。このため、ターボ復号の繰り返し復号終了後に直ちにCRCチェック結果を出力でき、復号結果の誤り無しの場合、ターボ復号器を直ちに停止することが可能となり、余計な復号器動作を必要としない。
図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チェック結果を出力することができる。
第1実施例では、入力されるデータの最大ビット長N+1のそれぞれについて剰余値Ri(x)を保管する必要があり、Nが大きくなると、例えばN=10,000となると、剰余メモリ11のサイズが大きくなる問題がある。そこで、第2実施例ではPビットおきに剰余値を剰余メモリに記憶することで剰余メモリ11のサイズの削減を図る。
Pを任意の定数として、図4に示すようにビット位置を示すiを
このとき、必要となる剰余値Ri(x)はxiを生成多項式G(x)で割った剰余である。xiはxPnを生成多項式G(x)で割った商多項式をQPn(x)、剰余多項式をRPn(x)として表すと、
RPn(x)・xkはテーブルから得られたRPn(x)を左へkビットシフトし、空きビットに0を挿入する演算により求める。
剰余値補間部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)を出力する。
剰余値を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ビットである。
第2実施例によれば、第1実施例と同様にターボ復号の繰り返し復号終了後に直ちにCRCチェック結果を出力することができ、しかも剰余メモリの容量を削減することができる。
図9は第1実施例のCRC演算装置を、ターボ復号結果の誤り検出に使用した第3実施例の構成図である。ターボ復号部51は図19で説明したターボ復号器51aに加えて、復号結果の各ビットの正規のビット位置を示すビット番号を出力するビット番号出力部51bを備えている。ビット番号出力部51bは復号結果が正規な順番であれば、該正規な順番にビット番号を出力し、復号結果がインターリーブされた順番であれば、該インターリーブ順にビット番号を出力する。CRC演算部52は図3に示す第1実施例の構成を備え、ターボ復号器51aの復号結果とビット番号を入力され、該ターボ復号結果に誤りが含ま
れているか否かをチェックし、チェック結果を出力する。ターボ復号器制御部53は復号繰り返し回数が規定回数前であっても、CRC演算部52からのチェック結果が「誤り無し」を示していれば、ターボ復号器51aにターボ復号を停止させ、次の符号化データの復号を開始させる。なお、CRC演算装置52として図6に示す第2実施例の構成を採用することもできる。
なお、図20の復号結果が3回目のタイミングを参照すると、従来例では2回目のインターリーブ順のCRCチェック演算と3回目の正順のCRCチェック演算を同時に行わなくてはならない。このため、従来例では、CRC演算を同時に行える様に2個のCRC演算器を実装することを想定している。しかし、第3実施例によれば、1つのCRC演算器のみでターボ復号結果のCRC演算を行うがことも可能であり、CRC演算装置の実装個数を減らすことも出来る。
図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であるか否かをチェックして、チェック結果を出力する。
剰余演算部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)
- 所定ビット長のデータ列を多項式とみなし、該多項式を誤り検出符号生成用の多項式(生成多項式)で除算し、余りが0となるように該データ列に誤り検出符号が付加されたデータ列を入力され、該入力データにおける誤りの有無を検出する誤り検出方法において、
それぞれのビット位置に応じた多項式を前記生成多項式で除算したときの剰余値を予め計算してメモリに保存し、
入力データ列と共に、各データの正規のビット位置を示すビット位置情報を入力し、
入力データ列のうち0でないデータの正規のビット位置に対応する剰余値を前記剰余メモリより求め、求めた各剰余値をビット対応に加算し、
加算結果が全てのビットで0となる場合には入力データ列に誤りなしと判定し、それ以外では誤り有りと判定する、
ことを特徴とする誤り検出方法。 - 前記剰余値の保存ステップにおいて、一定数のビット間隔の各ビット位置に応じた剰余値を保存し、保存されていないビット位置の剰余値を保存されている剰余値を用いて補間する、
ことを特徴とする請求項1記載の誤り検出方法。 - 前記一定数のビット間隔をPとするとき、ビット位置がn×P+k (0≦k<P)の剰余値は、ビット位置がn×Pのときの剰余値をkビットシフトし、該シフト結果を前記生成多項式で除算したときの剰余値である、
ことを特徴とする請求項2記載の誤り検出方法。 - 前記データ列が並列的に入力するとき、各並列データ列の0でないデータの正規のビット位置に対応する剰余値を全て加算し、加算結果が全てのビットで0となれば並列入力データ列に誤りなしと判定し、それ以外では誤り有りと判定する、
ことを特徴とする請求項1記載の誤り検出方法。 - 所定ビット長のデータ列を多項式とみなし、該多項式を誤り検出符号生成用の多項式(生成多項式)で除算し、余りが0となるように該データ列に誤り検出符号を付加し、しかる後、所定の符号化方式により符号化した符号化データ列を復号する誤り訂正/誤り検出復号方法において、
誤り検出部において、それぞれのビット位置に応じた多項式を前記生成多項式で除算したときの剰余値を予め計算してメモリに保存しておき、
復号部において符号化データ列を繰り返し復号し、
復号結果を示すデータ列と共に、各データの正規のビット位置を示すビット位置情報を誤り検出部に入力し、
該誤り検出部において、復号結果のうち0でないデータの正規のビット位置に対応する剰余値を前記メモリより求め、求めた各剰余値をビット対応に加算し、加算結果が全ての
ビットで0となる場合には入力データ列に誤りなしと判定し、それ以外では誤り有りと判定し、
復号部は誤りが検出されなくなったとき前記符号化データの復号を停止する、
ことを特徴とする誤り訂正/誤り検出復号方法。 - 前記剰余値の保存ステップにおいて、一定数のビット間隔の各ビット位置に応じた剰余値を保存し、保存されていないビット位置の剰余値を保存されている剰余値を用いて補間する、
ことを特徴とする請求項5記載の誤り訂正/誤り検出復号方法。 - 所定ビット長のデータ列を多項式とみなし、該多項式を誤り検出符号生成用の多項式(生成多項式)で除算し、余りが0となるように該データ列に誤り検出符号が付加されたデータ列を入力され、該入力データにおける誤りの有無を検出する誤り検出装置において、
それぞれのビット位置に応じた多項式を前記生成多項式で除算したときの剰余値を保存する剰余メモリ、
入力データ列と共に、各データの正規のビット位置を示すビット位置情報を入力され、入力データ列のうち0でないデータの正規のビット位置に対応する剰余値を前記剰余メモリより求め、求めた各剰余値をビット対応に加算する加算部、
加算結果が全てのビットで0となる場合には入力データ列に誤りなしと判定し、それ以外では誤り有りと判定する誤り有無判定部、
を有することを特徴とする誤り検出装置。 - 前記剰余メモリに、一定数のビット間隔の各ビット位置に応じた剰余値を保存し、保存されていないビット位置の剰余値を保存されている剰余値を用いて補間する剰余値補間部、
を有することを特徴とする請求項7記載の誤り検出装置。 - 前記補間部は、前記一定数のビット間隔をPとするとき、ビット位置がn×P+k (0≦k<P)の剰余値を、ビット位置がn×Pのときの剰余値をkビットシフトし、該シフト結果を前記生成多項式で除算して算出する、
ことを特徴とする請求項8記載の誤り検出装置。 - 前記加算部は、前記データ列が並列的に入力するとき、各並列データ列の0でないデータの正規のビット位置に対応する剰余値を全てビット対応に加算する、
ことを特徴とする請求項7記載の誤り検出装置。 - 所定ビット長のデータ列を多項式とみなし、該多項式を誤り検出符号生成用の多項式(生成多項式)で除算し、余りが0となるように該データ列に誤り検出符号を付加し、しかる後、所定の符号化方式により符号化した符号化データ列を復号する誤り訂正/誤り検出復号装置において、
前記符号化データ列を繰り返し復号する復号部、復号結果に対する誤りの有無を検出し、誤り検出結果を復号部に通知する誤り検出部、
を備え、前記復号部は、
符号化データ列を繰り返し復号して復号結果を出力する復号器、
復号結果の各データの正規のビット位置を出力するビット位置管理部、
復号器の復号処理の継続、停止を制御する制御部、
を備え、前記誤り検出部は、
それぞれのビット位置に応じた多項式を前記生成多項式で除算したときの剰余値を保存する剰余メモリ、
復号結果と共に、該復号結果の各データの正規のビット位置を示すビット位置情報を入
力され、復号結果のうち0でないデータの正規のビット位置に対応する剰余値を前記剰余メモリより求め、求めた各剰余値をビット対応に加算する加算部、
加算結果が全てのビットで0となる場合には入力データ列に誤りなしと判定し、それ以外では誤り有りと判定する誤り有無判定部、
を備え、
前記復号部は誤りが検出されなくなったとき前記符号化データの復号を停止する、
ことを特徴とする誤り訂正/誤り検出復号装置。 - 前記誤り検出部は、前記剰余メモリに一定数のビット間隔の各ビット位置に応じた剰余値を保存し、保存されていないビット位置の剰余値を保存されている剰余値を用いて補間する剰余値補間部、
を有することを特徴とする請求項12記載の誤り訂正/誤り検出復号装置。
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)
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)
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 |
-
2007
- 2007-08-07 CN CN200780100054.3A patent/CN101765976B/zh not_active Expired - Fee Related
- 2007-08-07 JP JP2009526290A patent/JP5126230B2/ja not_active Expired - Fee Related
- 2007-08-07 WO PCT/JP2007/065441 patent/WO2009019763A1/ja active Application Filing
- 2007-08-07 EP EP07792110.4A patent/EP2187525B1/en not_active Not-in-force
-
2010
- 2010-02-01 US US12/697,724 patent/US20100138725A1/en not_active Abandoned
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'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 |