JP6875661B2 - 誤り検出用冗長ビットの生成方法および装置 - Google Patents
誤り検出用冗長ビットの生成方法および装置 Download PDFInfo
- Publication number
- JP6875661B2 JP6875661B2 JP2019535507A JP2019535507A JP6875661B2 JP 6875661 B2 JP6875661 B2 JP 6875661B2 JP 2019535507 A JP2019535507 A JP 2019535507A JP 2019535507 A JP2019535507 A JP 2019535507A JP 6875661 B2 JP6875661 B2 JP 6875661B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- redundant
- bits
- polynomial
- pattern
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
-
- 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/27—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 using interleaving techniques
- H03M13/2792—Interleaver wherein interleaving is performed jointly with another technique such as puncturing, multiplexing or routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- 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
-
- 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/13—Linear codes
-
- 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/27—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 using interleaving techniques
-
- 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/27—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 using interleaving techniques
- H03M13/2739—Permutation polynomial interleaver, e.g. quadratic permutation polynomial [QPP] interleaver and quadratic congruence interleaver
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Physics (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Description
本発明による冗長ビット生成装置は、前記情報ビットを入力する、巡回冗長検査(CRC)多項式により算出される冗長ビットの数と同数の開閉スイッチ手段と、前記開閉スイッチ手段の各々の出力を個別に累積加算して前記冗長ビットを算出する累積加算手段と、前記入力した情報ビットおよび前記累積加算手段のそれぞれが算出した冗長ビットのいずれかを選択して、前記情報ビットに前記冗長ビットを追加したデータ列を生成する選択手段と、前記CRC多項式に対応して定めた置換パターンを用いて前記開閉スイッチ手段および前記選択手段を制御する制御手段と、を有することを特徴とする。
本発明による冗長ビット生成方法は、ブロック化された情報ビットに追加される誤り検出を可能にする冗長ビットを生成する方法であって、冗長ビット演算手段が巡回冗長検査(CRC)多項式により前記情報ビットから所定数の冗長ビットを生成し、ビット入れ替え手段が、前記CRC多項式に対応して定めた置換パターンを用いて前記所定数の冗長ビットを前記情報ビット内に分散配置する、ことを特徴とする。
本発明による冗長ビット生成方法は、ブロック化された情報ビットに追加される誤り検出を可能にする冗長ビットを生成する方法であって、巡回冗長検査(CRC)多項式により算出される冗長ビットの数と同数の開閉スイッチ手段が前記情報ビットを入力し、各開閉スイッチ手段を開閉制御する第1制御信号に従って当該情報ビットを通過あるいは遮断し、累積加算手段が、前記開閉スイッチ手段の各々の出力を個別に累積加算して前記冗長ビットを算出し、選択手段が、第2制御信号に従って、前記入力した情報ビットおよび前記累積加算手段のそれぞれが算出した冗長ビットのいずれかを選択し、前記情報ビットに前記冗長ビットを追加したデータ列を生成し、制御手段が、前記CRC多項式に対応して定めた置換パターンを用いて前記開閉スイッチ手段および前記選択手段を制御する前記第1制御信号および前記第2制御信号を出力する、ことを特徴とする。
本発明による誤り検出装置は、ブロック化された情報ビットに追加された誤り検出を可能にする冗長ビットを用いて誤りを検出する装置であって、受信データの情報ビットを入力する、巡回冗長検査(CRC)多項式により算出される冗長ビットの数と同数の開閉スイッチ手段と、前記開閉スイッチ手段の各々の出力を個別に累積加算して前記冗長ビットを算出する累積加算手段と、前記受信データの冗長ビットおよび前記累積加算手段のそれ
ぞれが算出した冗長ビットのいずれかを選択する選択手段と、前記CRC多項式に対応して定めた置換パターンを用いて前記開閉スイッチ手段の各々の開閉制御および前記選択手段の選択制御を実行する制御手段と、前記受信データの冗長ビットと前記算出した冗長ビットとを比較して誤りの有無を判定する判定手段と、を有することを特徴とする。
本発明によるプログラムは、ブロック化された情報ビットに追加される誤り検出を可能にする冗長ビットを生成する装置としてコンピュータを機能させるプログラムであって、巡回冗長検査(CRC)多項式により前記情報ビットから所定数の冗長ビットを生成する冗長ビット演算機能と、前記CRC多項式に対応して定めた置換パターンを用いて前記所定数の冗長ビットを前記情報ビット内に分散配置するビット入れ替え機能と、を前記コンピュータに実現することを特徴とする。
本発明によるプログラムは、ブロック化された情報ビットに追加される誤り検出を可能にする冗長ビットを生成する装置としてコンピュータを機能させるプログラムであって、前記情報ビットを入力する、巡回冗長検査(CRC)多項式により算出される冗長ビットの数と同数の開閉スイッチ機能と、前記開閉スイッチ機能の各々の出力を個別に累積加算して前記冗長ビットを算出する累積加算機能と、前記入力した情報ビットおよび前記累積加算機能のそれぞれが算出した冗長ビットのいずれかを選択して、前記情報ビットに前記冗長ビットを追加したデータ列を生成する選択機能と、前記CRC多項式に対応して定めた置換パターンを用いて前記開閉スイッチ機能および前記選択機能を制御する機能と、を前記コンピュータに実現することを特徴とする。
本発明によるプログラムは、ブロック化された情報ビットに追加された誤り検出を可能にする冗長ビットを用いて誤りを検出する装置としてコンピュータを機能させるプログラムであって、受信データの情報ビットを入力する、巡回冗長検査(CRC)多項式により算出される冗長ビットの数と同数の開閉スイッチ機能と、前記開閉スイッチ機能の各々の出力を個別に累積加算して前記冗長ビットを算出する累積加算機能と、前記受信データの冗長ビットおよび前記累積加算機能のそれぞれが算出した冗長ビットのいずれかを選択する選択機能と、前記CRC多項式に対応して定めた置換パターンを用いて前記開閉スイッチ機能の各々の開閉制御および前記選択機能の選択制御を実行する機能と、前記受信データの冗長ビットと前記算出した冗長ビットとを比較して誤りの有無を判定する機能と、を前記コンピュータに実現することを特徴とする。
本発明の実施形態によれば、巡回冗長検査(CRC)多項式から算出された置換パターンを用いて冗長ビットを情報ビット内に分散配置することができる。これにより、冗長ビットが伝送データフレームの途中に配置され、全ての情報ビット部分を入力することなく誤りの検出が可能となり、平均的に少ない時間で誤りの検出を行うことができる。また、伝送データフレームのビット位置を入れ替えることで、ランダムエラーに対する検出精度は既存のCRC技術と同様であり、検出精度の劣化は伴わない。
本発明の一実施形態による符号器は、CRC多項式から得られた置換パターンを用いることで、所定長の情報ビット列の中に複数の冗長ビットが分散配置された伝送フレームを生成することができる。各冗長ビットは、同じCRC多項式を用いて、当該冗長ビットより前のビット列、すなわち先行する情報ビット列、あるいは先行する情報ビット列および冗長ビット、から生成される。以下、図1を参照しながら、本実施形態による符号化により生成されるデータフレームの一例を詳細に説明する。
を利用して、それよりも左側に位置する受信データに誤りが有るか否かを検査することが可能となる。即ち、受信データ列の全情報ビットを参照することなく、途中の冗長ビットを読み出した時点で誤りの有無を判定することができ、平均して早期の誤り検出が可能となる。
上述した図1に例示した冗長ビットの分散配置は、冗長ビットを付加したデータフレームのビットを後述する置換パターンπに基づいて入れ替えることにより実行することができる。以下、この方法を採用した本発明の第一実施例について図2〜図5を参照しながら説明する。
図2に例示するように、本実施例による符号器は、CRC演算機能30とビット入れ替え機能31とを有する。まず、CRC演算機能30は、予め与えられたCRC多項式32を用いて冗長ビットを算出する。さらに、ビット入れ替え機能31は、当該CRC多項式32から生成された置換パターン33を用いて、CRC演算30により得られたビット列のビット入れ替えを実行し、図1に示す冗長ビットが分散配置されたnビット出力を生成する。以下、図1に示す冗長ビットの分散配置を可能にする置換パターン33を置換パターンπと呼ぶことにする。
置換パターンπは、冗長ビットを生成するCRC多項式から次の手順により予め算出され、保存される。
置換パターンπの生成手順の一例を図5に示す。変数t,i,jを初期化した後(動作S301,S302)、hr−1−i+j=1であり、かつjが{π(0)、π(1)、・・・、π(t−1)}の中に含まれていない場合(動作S303のYES)、π(t)をjとして保存し、tを1だけインクリメントする(動作S304)。なお、hr−1−i+jが1でないか、あるいはjが{π(0)、π(1)、・・・、π(t−1)}の中に含まれる場合には(動作S303のNO)、動作S304は実行されない。
に含まれる1の個数をwとすれば、最初の冗長ビット(図1における1st冗長ビット)が現れる時点t0がw−1に等しい(t0=w−1)あるいはt0<wという関係が成立する。以下、具体例を用いて説明する。
図4および図5に示す置換パターンπの生成手順の具体例を挙げる。一例として、情報ビット数k=30、冗長ビット数r=8、CRC多項式g(x)=x8+x2+x+1のケースを説明する。なお、多項式g(x)の周期pは、多項式xp−1がg(x)で割り切れる最小の整数であり、ここではp=127となる。
h0h1…h37=00110011010000101011010101000111000001
が得られる。
上述した図1に例示するデータ構成は、上述した第一実施例だけでなく、冗長ビット生成過程で上記置換パターンπを用いることにより生成することもできる。
冗長ビット生成装置400は、選択スイッチ401と、r個のスイッチSW(0)〜SW(r−1)からなるスイッチ群402と、r個の累積加算部(排他的論理和回路EXおよび1ビットレジスタRの組)と、入力Dおよび累積加算部の出力S(i)から一つを選択するセレクタ403と、選択スイッチ401、スイッチ群402およびセレクタ403を制御するコントローラ404と、後述する長さnのビット列hと置換パターンπとを格納するメモリ405と、を有する。なお、各累積加算部は排他的論理和回路EXiおよび1ビットレジスタRiが直列接続された回路であり、以下、i=0,1,…,r−1とす
る。
次に、図6および図7を参照しながら、上述した冗長ビット生成装置400がkビット入力情報から図1に示した形式のnビット出力を得る動作を説明する。まず、1ビットレジスタR0〜Rr−1の保持ビットはそれぞれ0に初期化されているものとする。
メモリ405に格納される長さnのビット列h0,h1,…,hn−1と置換パターンπとは、上述した第一実施例と同様に、CRC多項式から算出される。
ti=π-1(k+i)
ここで、π-1は、上記置換パターンπの逆変換であり、kは情報ビット数、iは0〜r−1の間の整数である。すなわち、セレクタ403は、時点ti=π-1(k+i)において、1ビットレジスタRiの保持ビットS(i)を選択し、i番目の冗長ビットとして出力し、それ以外の時点では入力データDを選択して出力する。
図6に例示した冗長ビット生成装置400は、送信側で冗長ビットの生成に利用できるだけでなく、受信側で誤り検出を実行することも可能である。図1に例示したデータが送信され、その受信データに含まれる誤りを検出する場合、符号化とは逆の手順が採用される。
上述したように、本発明の第二実施例によれば、図1に示すデータ構造を有する分散配置された冗長ビットを利用して、それよりも左側に位置する受信データに誤りが有るか否かを検査することができる。即ち、受信データ列の全情報ビットを参照することなく、途中の冗長ビットを読み出した時点で誤りの有無を判定することができ、誤り検出に要する時間を平均的に短縮することができる。特に、図6に示す冗長ビット生成装置の構成は、そのまま受信側の誤り検出にも利用することができるという利点もある。さらに、本実施例による冗長ビット生成装置400は、第一実施例におけるインターリーバ102が不要となり、それによりインターリーバを経由することにより生じる1フレーム分の遅延を削除できるという利点がある。
上述した第一及び第二実施例による装置と同様の機能は、プロセッサ上でプログラムを実行することにより実現することができる。
次に、上述した第一あるいは第二実施例による冗長ビット生成装置を誤り訂正技術として知られるPolar符号の符号化装置および復号装置に適用した例を説明する。
20−23 冗長ビット
30 CRC演算
31 CRC多項式
32 置換パターン
33 ビット入れ替え
100 冗長ビット生成装置
101 CRC演算部
102 インターリーバ
400 冗長ビット生成装置
401 選択スイッチ
402 スイッチ群
403 セレクタ
404 コントローラ
Claims (26)
- ブロック化された情報ビットに追加される誤り検出を可能にする冗長ビットを生成する装置であって、
巡回冗長検査(CRC)多項式により前記情報ビットから所定数の冗長ビットを生成する冗長ビット演算手段と、
前記CRC多項式に対応して定めた置換パターンを用いて前記所定数の冗長ビットを前記情報ビット内に分散配置するビット入れ替え手段と、
を有することを特徴とする装置。 - 前記置換パターンは出力データ列と同じ長さのビットパターンから生成され、
前記ビット入れ替え手段が、前記置換パターンを用いて前記ビットパターンの順序を入れ替えることにより前記情報ビット列の中に前記所定数の冗長ビットを分散配置する、
ことを特徴とする請求項1に記載の装置。 - 前記置換パターンに従って、前記出力データ列のなかで最初に現れる冗長ビットが、前記ビットパターン中に含まれる1の数より小さい値の時点に配置される、ことを特徴とする請求項2に記載の装置。
- 前記ビットパターンは、CRC多項式g(x)の周期pに対する多項式xp−1をCRC多項式g(x)により除算して得られる商多項式q(x)の係数から生成され、
前記置換パターンは、前記ビットパターンのなかの1の位置から生成される、
ことを特徴とする請求項2または3に記載の装置。 - ブロック化された情報ビットに追加される誤り検出を可能にする冗長ビットを生成する装置であって、
前記情報ビットを入力する、巡回冗長検査(CRC)多項式により算出される冗長ビットの数と同数の開閉スイッチ手段と、
前記開閉スイッチ手段の各々の出力を個別に累積加算して前記冗長ビットを算出する累積加算手段と、
前記入力した情報ビットおよび前記累積加算手段のそれぞれが算出した冗長ビットのいずれかを選択して、前記情報ビットに前記冗長ビットを追加したデータ列を生成する選択手段と、
前記CRC多項式に対応して定めた置換パターンを用いて前記開閉スイッチ手段および前記選択手段を制御する制御手段と、
を有することを特徴とする装置。 - 前記置換パターンは前記データ列と同じ長さの所定ビットパターンから生成され、
前記制御手段が、前記置換パターンを用いて前記所定ビットパターンを置換した結果に従って前記開閉スイッチ手段の各々を開閉制御し、前記置換パターンに基づいて決定された前記冗長ビットの配置に従って、前記選択手段を選択制御する、
ことを特徴とする請求項5記載の装置。 - 前記置換パターンに従って、前記出力データ列のなかで最初に現れる冗長ビットが前記ビットパターン中に含まれる1の数より小さい値の時点に配置されることを特徴とする請求項6に記載の装置。
- 前記所定ビットパターンは、CRC多項式g(x)の周期pに対する多項式xp−1をCRC多項式g(x)により除算して得られる商多項式q(x)の係数から生成され、前記置換パターンは前記所定ビットパターンのなかの1の位置から生成される、ことを特徴とする請求項6または7に記載の装置。
- ブロック化された情報ビットに追加される誤り検出を可能にする冗長ビットを生成する方法であって、
冗長ビット演算手段が巡回冗長検査(CRC)多項式により前記情報ビットから所定数の冗長ビットを生成し、
ビット入れ替え手段が、前記CRC多項式に対応して定めた置換パターンを用いて前記所定数の冗長ビットを前記情報ビット内に分散配置する、
ことを特徴とする方法。 - 前記置換パターンは前記出力データ列と同じ長さのビットパターンから生成され、
前記ビット入れ替え手段が、前記置換パターンを用いて前記ビットパターンの順序を入れ替えることにより前記情報ビット列の中に前記所定数の冗長ビットを分散配置する、
ことを特徴とする請求項9に記載の方法。 - 前記置換パターンに従って、前記出力データ列のなかで最初に現れる冗長ビットを、前記ビットパターン中に含まれる1の数より小さい値の時点に配置する、ことを特徴とする請求項10に記載の方法。
- 前記ビットパターンは、CRC多項式g(x)の周期pに対する多項式xp−1をCRC多項式g(x)により除算して得られる商多項式q(x)の係数から生成され、
前記置換パターンは、前記ビットパターンのなかの1の位置から生成される、
ことを特徴とする請求項10または11に記載の方法。 - ブロック化された情報ビットに追加される誤り検出を可能にする冗長ビットを生成する方法であって、
巡回冗長検査(CRC)多項式により算出される冗長ビットの数と同数の開閉スイッチ手段が前記情報ビットを入力し、各開閉スイッチ手段を開閉制御する第1制御信号に従って当該情報ビットを通過あるいは遮断し、
累積加算手段が、前記開閉スイッチ手段の各々の出力を個別に累積加算して前記冗長ビットを算出し、
選択手段が、第2制御信号に従って、前記入力した情報ビットおよび前記累積加算手段のそれぞれが算出した冗長ビットのいずれかを選択し、前記情報ビットに前記冗長ビットを追加したデータ列を生成し、
制御手段が、前記CRC多項式に対応して定めた置換パターンを用いて前記開閉スイッチ手段および前記選択手段を制御する前記第1制御信号および前記第2制御信号を出力する、
ことを特徴とする方法。 - 前記置換パターンは前記データ列と同じ長さの所定ビットパターンから生成され、
前記制御手段が、前記置換パターンを用いて前記所定ビットパターンを置換した結果に従って前記第1制御信号を生成し、前記置換パターンに基づいて決定された前記冗長ビットの配置に従って前記第2制御信号を生成する、
ことを特徴とする請求項13に記載の方法。 - 前記置換パターンに従って、前記出力データ列のなかで最初に現れる冗長ビットが、前記ビットパターン中に含まれる1の数より小さい値の時点に配置される、ことを特徴とする請求項14に記載の方法。
- 前記所定ビットパターンは、CRC多項式g(x)の周期pに対する多項式xp−1をCRC多項式g(x)により除算して得られる商多項式q(x)の係数から生成され、前
記置換パターンは前記所定ビットパターンのなかの1の位置から生成される、ことを特徴とする請求項14または15に記載の方法。 - 請求項1−8のいずれか1項に記載の装置と、
前記装置により生成された前記データ列を入力し、誤り訂正符号を生成する誤り訂正符号化手段と、
を有する符号器。 - ブロック化された情報ビットに追加された誤り検出を可能にする冗長ビットを用いて誤りを検出する装置であって、
受信データの情報ビットを入力する、巡回冗長検査(CRC)多項式により算出される冗長ビットの数と同数の開閉スイッチ手段と、
前記開閉スイッチ手段の各々の出力を個別に累積加算して前記冗長ビットを算出する累積加算手段と、
前記受信データの冗長ビットおよび前記累積加算手段のそれぞれが算出した冗長ビットのいずれかを選択する選択手段と、
前記CRC多項式に対応して定めた置換パターンを用いて前記開閉スイッチ手段の各々の開閉制御および前記選択手段の選択制御を実行する制御手段と、
前記受信データの冗長ビットと前記算出した冗長ビットとを比較して誤りの有無を判定する判定手段と、
を有することを特徴とする装置。 - 前記置換パターンは前記データ列と同じ長さの所定ビットパターンから生成され、
前記制御手段が、前記置換パターンを用いて前記所定ビットパターンを置換した結果に従って前記開閉スイッチ手段の各々を開閉制御し、前記置換パターンに基づいて決定された前記冗長ビットの配置に従って前記選択手段を選択制御する、
ことを特徴とする請求項18に記載の装置。 - 前記置換パターンに従って、前記出力データ列のなかで最初に現れる冗長ビットは、前記ビットパターン中に含まれる1の数より小さい値の時点に配置されることを特徴とする請求項19に記載の装置。
- 前記所定ビットパターンは、CRC多項式g(x)の周期pに対する多項式xp−1をCRC多項式g(x)により除算して得られる商多項式q(x)の係数から生成され、前記置換パターンは前記所定ビットパターンのなかの1の位置から生成される、ことを特徴とする請求項19または20に記載の装置。
- 受信した誤り訂正符号を復号して受信データを出力する誤り訂正復号手段と、
前記受信データを入力する請求項18−21のいずれか1項に記載の装置と、
前記装置の判定手段が誤り有りと判定すると、前記誤り訂正復号手段の復号処理を中断することを特徴とする復号器。 - ブロック化された情報ビットに追加される誤り検出を可能にする冗長ビットを生成する装置としてコンピュータを機能させるプログラムであって、
巡回冗長検査(CRC)多項式により前記情報ビットから所定数の冗長ビットを生成する冗長ビット演算機能と、
前記CRC多項式に対応して定めた置換パターンを用いて前記所定数の冗長ビットを前記情報ビット内に分散配置するビット入れ替え機能と、
を前記コンピュータに実現することを特徴とするプログラム。 - ブロック化された情報ビットに追加される誤り検出を可能にする冗長ビットを生成する装置としてコンピュータを機能させるプログラムであって、
前記情報ビットを入力する、巡回冗長検査(CRC)多項式により算出される冗長ビットの数と同数の開閉スイッチ機能と、
前記開閉スイッチ機能の各々の出力を個別に累積加算して前記冗長ビットを算出する累積加算機能と、
前記入力した情報ビットおよび前記累積加算機能のそれぞれが算出した冗長ビットのいずれかを選択して、前記情報ビットに前記冗長ビットを追加したデータ列を生成する選択機能と、
前記CRC多項式に対応して定めた置換パターンを用いて前記開閉スイッチ機能および前記選択機能を制御する機能と、
を前記コンピュータに実現することを特徴とするプログラム。 - 前記データ列を入力し、誤り訂正符号を生成する誤り訂正符号化機能を前記コンピュータに更に実現することを特徴とする請求項23または24に記載のプログラム。
- ブロック化された情報ビットに追加された誤り検出を可能にする冗長ビットを用いて誤りを検出する装置としてコンピュータを機能させるプログラムであって、
受信データの情報ビットを入力する、巡回冗長検査(CRC)多項式により算出される冗長ビットの数と同数の開閉スイッチ機能と、
前記開閉スイッチ機能の各々の出力を個別に累積加算して前記冗長ビットを算出する累積加算機能と、
前記受信データの冗長ビットおよび前記累積加算機能のそれぞれが算出した冗長ビットのいずれかを選択する選択機能と、
前記CRC多項式に対応して定めた置換パターンを用いて前記開閉スイッチ機能の各々の開閉制御および前記選択機能の選択制御を実行する機能と、
前記受信データの冗長ビットと前記算出した冗長ビットとを比較して誤りの有無を判定する機能と、
を前記コンピュータに実現することを特徴とするプログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2017/028942 WO2019030860A1 (ja) | 2017-08-09 | 2017-08-09 | 誤り検出用冗長ビットの生成方法および装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2019030860A1 JPWO2019030860A1 (ja) | 2020-08-20 |
JP6875661B2 true JP6875661B2 (ja) | 2021-05-26 |
Family
ID=65272627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019535507A Expired - Fee Related JP6875661B2 (ja) | 2017-08-09 | 2017-08-09 | 誤り検出用冗長ビットの生成方法および装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11362679B2 (ja) |
JP (1) | JP6875661B2 (ja) |
WO (1) | WO2019030860A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109905130B (zh) * | 2017-12-08 | 2021-12-17 | 大唐移动通信设备有限公司 | 一种极化码编码、译码方法、装置及设备 |
CN118016134B (zh) * | 2024-04-09 | 2024-07-30 | 杭州阿姆科技有限公司 | 应用于ssd上的基于raid的多重增强型纠错方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3029738B2 (ja) | 1992-06-30 | 2000-04-04 | 富士電機株式会社 | 複数ブロック化伝送フレームの誤り検出方法 |
JP3545623B2 (ja) | 1999-01-05 | 2004-07-21 | 株式会社エヌ・ティ・ティ・ドコモ | 復号方法 |
US9003259B2 (en) * | 2008-11-26 | 2015-04-07 | Red Hat, Inc. | Interleaved parallel redundancy check calculation for memory devices |
CN109361402B (zh) * | 2013-05-31 | 2019-09-20 | 华为技术有限公司 | 编码方法及编码设备 |
-
2017
- 2017-08-09 US US16/637,385 patent/US11362679B2/en active Active
- 2017-08-09 WO PCT/JP2017/028942 patent/WO2019030860A1/ja active Application Filing
- 2017-08-09 JP JP2019535507A patent/JP6875661B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20200201712A1 (en) | 2020-06-25 |
WO2019030860A1 (ja) | 2019-02-14 |
US11362679B2 (en) | 2022-06-14 |
JPWO2019030860A1 (ja) | 2020-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101433620B1 (ko) | 처리량을 높이기 위하여 더블 버퍼링 구조와 파이프라이닝기법을 이용하는 디코더 및 그 디코딩 방법 | |
JP3328093B2 (ja) | エラー訂正装置 | |
KR100833600B1 (ko) | 에러 정정 회로, 그 방법 및 상기 회로를 구비하는 반도체메모리 장치 | |
US8732548B2 (en) | Instruction-set architecture for programmable cyclic redundancy check (CRC) computations | |
KR100210583B1 (ko) | 에러정정 부호화 복호화 방법 및 이 방법을 사용하는 회로 | |
JPS6095640A (ja) | 誤り訂正方法及び装置 | |
US6257756B1 (en) | Apparatus and method for implementing viterbi butterflies | |
WO2001082487A1 (fr) | Dispositif et procede de codage et de decodage | |
JP2006121686A (ja) | 低密度パリティ検査コードを効率的に復号する方法及び装置 | |
JP6875661B2 (ja) | 誤り検出用冗長ビットの生成方法および装置 | |
JPH10107650A (ja) | 誤り検出回路および誤り訂正回路 | |
US20190004738A1 (en) | Methods for accelerating compression and apparatuses using the same | |
JP2007166031A (ja) | Crc値の算出装置 | |
JP2005086683A (ja) | 誤り復号回路、データバス制御方法、及びデータバスシステム | |
US8745465B1 (en) | Detecting a burst error in the frames of a block of data bits | |
US20070146194A1 (en) | Encoding Circuit and Digital Signal Processing Circuit | |
US7861146B2 (en) | Viterbi decoding apparatus and Viterbi decoding method | |
KR100981659B1 (ko) | 산업용 컨트롤러 | |
JP4583294B2 (ja) | 誤り訂正装置、誤り訂正プログラム、及び誤り訂正方法 | |
WO2008069465A1 (en) | Method and apparatus for checking correction errors using cyclic redundancy check | |
JP3071482B2 (ja) | パケット受信機の誤り訂正回路 | |
US8805904B2 (en) | Method and apparatus for calculating the number of leading zero bits of a binary operation | |
JP2006185090A (ja) | Crc演算装置及びcrc演算方法 | |
JP2621582B2 (ja) | 逐次復号装置 | |
KR100346123B1 (ko) | 데이터 통신 시스템에서 패러티 검사 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200129 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200129 |
|
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: 20210324 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210406 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6875661 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE Ref document number: 6875661 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |