JP4379329B2 - CRC generator polynomial selection method, CRC encoding method, and CRC encoding circuit - Google Patents
CRC generator polynomial selection method, CRC encoding method, and CRC encoding circuit Download PDFInfo
- Publication number
- JP4379329B2 JP4379329B2 JP2004370796A JP2004370796A JP4379329B2 JP 4379329 B2 JP4379329 B2 JP 4379329B2 JP 2004370796 A JP2004370796 A JP 2004370796A JP 2004370796 A JP2004370796 A JP 2004370796A JP 4379329 B2 JP4379329 B2 JP 4379329B2
- Authority
- JP
- Japan
- Prior art keywords
- polynomial
- generator polynomial
- generator
- max
- crc
- 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
Landscapes
- Error Detection And Correction (AREA)
Description
本発明は、データを符号処理する符号化方法とその装置に関する。
特に、本発明は、ディジタルデータを、磁気テープ記録装置や光ディスク装置等に記録再生するとき、または、無線伝送システム等によって伝送する際に、符号化を行うことによって、伝送路において生じた誤りを検出するCRC符号の発生に用いる生成多項式を選択する方法と、選択した生成多項式を用いてCRC符号化するCRC符号およびCRC符号化回路に関する。
The present invention relates to an encoding method and apparatus for encoding data.
In particular, according to the present invention, when digital data is recorded / reproduced to / from a magnetic tape recording device, an optical disk device, or the like, or transmitted by a wireless transmission system or the like, an error caused in a transmission path is obtained by encoding. The present invention relates to a method for selecting a generator polynomial used to generate a CRC code to be detected, and a CRC code and a CRC encoding circuit that perform CRC encoding using the selected generator polynomial.
情報記録装置や通信装置などで情報(データ)を伝送路を経由して伝送するとき、伝送された情報に誤りが生じることがある。
情報に誤りが起こったかどうかを検出する方法として広く用いられている技術として、CRC(Cyclic Redundancy Check:巡回冗長検査)がある。
When information (data) is transmitted via a transmission path by an information recording device or a communication device, an error may occur in the transmitted information.
There is a CRC (Cyclic Redundancy Check) as a technique widely used as a method for detecting whether an error has occurred in information.
CRCを行うためには、伝送すべき情報を予めCRC符号化しておく必要がある。
図1を参照してCRC符号化について述べる。
図1において、送信装置1と受信装置3とが伝送路2を介して接続されている。
CRCは、送信装置1において、情報語(データ)にCRCパリティを付加したCRC符号に対して、Reed−Solomon符号などの誤り訂正符号化を施すことで、誤り訂正復号による誤訂正の検出に用いられる。
送信装置1において、伝送すべきCRC符号化の対象となる、複数の情報語(データ)が連続する、入力情報系列がCRC符号器11に入力され、CRC符号化される。CRC符号器11の詳細は図2を参照して後述する。CRC符号化された情報は次に誤り訂正符号器12に入力され、たとえば、Reed−Solomon符号などの誤り訂正符号化される。誤り訂正符号化された情報は次に伝送路符号器13に入力され、伝送路2に応じた伝送路符号化処理がなされ、伝送路2へと送られる。
伝送路2を経由した信号は、受信装置3の符号検出器31によって検出され、検出された情報が伝送路復号器32に入力される。伝送路復号器32によって伝送路復号された検出情報系列は誤り訂正復号器33によって、誤り訂正符号器12の処理に対応して、たとえば、Reed−Solomon符号などの誤り訂正が行われる。誤り訂正された情報は次にCRC検出器34に入力される。CRC検出器34は、誤り訂正された検出系列に対してCRC処理を行い、誤り訂正が正しく行われたかどうか(検出系列に誤りがあるかどうか)を判定し、その結果を一致信号として出力する。
CRC検出器34の詳細は図5を参照して後述する。
In order to perform CRC, information to be transmitted needs to be CRC encoded in advance.
CRC coding will be described with reference to FIG.
In FIG. 1, a
The CRC is used for detection of error correction by error correction decoding by performing error correction coding such as Reed-Solomon code on the CRC code in which the CRC parity is added to the information word (data) in the
In the
The signal passing through the
Details of the
CRC検出器34から出力された一致信号は、たとえば、情報記録装置のドライブのコントローラにおいて再送信要求を行うなどによる信頼性向上に用いられる。
CRC符号のその他の用途として、たとえば、符号検出器におけるポストプロセッサの一部として用いられたり、ヘッダ情報や、パケット通信における送信パケットに対しても用いられる。また、誤り訂正用の消失フラグとしても用いられる。
The coincidence signal output from the
As other uses of the CRC code, for example, it is used as a part of a post processor in a code detector, or used for header information and a transmission packet in packet communication. It is also used as an erasure flag for error correction.
CRC符号による誤り検出原理
CRC符号による誤り検出原理を説明する。
kビットからなる情報語(ディジタルデータ)にrビットのパリティを付加して符号長n(n=k+r)ビットの符号語とするとき、情報語を多項式で表現した(k−1)次(order)の情報多項式M(x)にxrを乗じる。たとえば、情報語が2進数で「1010101」の場合、情報多項式M(x)は、x6+x4+x2+1と表記される。
情報多項式M(x)にxrを乗じた結果M(x)・xrを、r次の生成多項式(generator polynomial)G(x)で割った際の剰余多項式R(x)(次数は(r−1)次)と、商多項式Q(x)を用いて下記式1に従って求めることにより、(n−1)次の符号多項式W(x)を下記式2のように構成する。
Error detection principle by CRC code The error detection principle by CRC code will be described.
When an r-bit parity is added to an information word (digital data) consisting of k bits to form a code word of code length n (n = k + r) bits, the information word is expressed by a polynomial (k−1) -order (order multiplied by the x r information to the polynomial M (x) of). For example, when the information word is “1010101” in binary, the information polynomial M (x) is expressed as x 6 + x 4 + x 2 +1.
The results are multiplied by x r the information polynomial M (x) M (x) · x r, the remainder polynomial R (x) (the order of when divided by r the following generator polynomial (generator polynomial) G (x) is ( The (n-1) th order code polynomial W (x) is configured as shown in the
[数1]
M(x)・xr =Q(x)・G(x)+R(x)
・・・(1)
[Equation 1]
M (x) · x r = Q (x) · G (x) + R (x)
... (1)
[数2]
W(x)=M(x)・xr −R(x)
・・・(2)
[Equation 2]
W (x) = M (x) · x r −R (x)
... (2)
式1、2の関係から、符号多項式はW(x)=Q(x)G(x)となる。よって、符号多項式W(x)は生成多項式G(x)で割り切れる。
From the relationship of
以上の観点の下、たとえば、図1の送信装置1が伝送路2を介して受信装置3に符号多項式W(x)を送信したものを受信装置3が受信した際に、受信装置3のCRC検出器34において、受信多項式Y(x)が生成多項式G(x)で割り切れるかどうかを調べる。
受信多項式Y(x)が生成多項式G(x)で割り切れれば、受信多項式Y(x)は符号多項式W(x)に一致しており、伝送路2において情報語に誤りが発生しなかったと推定できるが、受信多項式Y(x)が生成多項式G(x)で割り切れなければ、受信多項式Y(x)は符号多項式W(x)ではないので、伝送路2において情報語に誤りが生じたと判定できる(推定できる)。
Under the above viewpoint, for example, when the
If the reception polynomial Y (x) is divisible by the generator polynomial G (x), the reception polynomial Y (x) matches the code polynomial W (x), and no error has occurred in the information word in the
CRC符号は、巡回符号であるため、生成多項式G(x)が定まれば、その回路構成は、たとえば、図1における送信装置1のCRC符号器11の回路構成は、シフトレジスタと排他的論理和を用いて比較的容易に装置化することが可能である。
Since the CRC code is a cyclic code, if the generator polynomial G (x) is determined, the circuit configuration thereof is, for example, the circuit configuration of the
CRC符号器の例
CRCにおいて広く用いられている生成多項式G(x)としては、16ビットCRCであるCRC−CCITT規格に基づく、G(x)=x16+x12+x5+1、または、CRC−ANSI規格に基づく、G(x)=x16+x15+x2+1などである。
Example of CRC Encoder As a generator polynomial G (x) widely used in CRC, G (x) = x 16 + x 12 + x 5 +1 based on the CRC-CCITT standard, which is 16-bit CRC, or CRC− Based on the ANSI standard, G (x) = x 16 + x 15 + x 2 +1.
以下、例示として、パリティビット数(次数)r=3とした場合の生成多項式G(x)=x3+x+1とした場合の、たとえば、図1における送信装置1におけるCRC符号器(CRC符号化回路)11の構成例を図2を参照して述べる。
図2は情報多項式M(x)から符号多項式W(x)を生成するCRC符号器11の構成例を示す図である。
CRC符号器11は、CRCパリティ生成器110、第1セレクタ111、第2セレクタ112、および、ビット数カウンタ113を有する。
CRCパリティ生成器110は、kビットの情報ビット系列についてrビットのCRCパリティを発生して第1セレクタ111に出力する。CRCパリティ生成器110におけるパリティの発生方法については図3および図4を参照して述べる。
第2セレクタ112は、「0」入力端子にkビットの情報ビット系列が入力されている期間は、ビット数カウンタ113からの状態制御信号S1に基づいて、入力された情報ビット系列を出力する。また、第2セレクタ112は、「0」入力端子への情報ビット系列の入力が終了したとき、「1」入力端子に、第1セレクタ111を経由して入力されるCRCパリティ生成器110で生成したrビットのパリティを出力する。このように、CRC符号器11の第2セレクタ112からは、「kビットの情報ビット系列」と、それに続く、「情報ビット系列に基づいてCRCパリティ生成器110で生成されたrビットのパリティビット」とが出力される。このように、第2セレクタ112から出力される符号ビット系列は、「kビットの情報ビット系列」と、「rビットのパリティビット」とからなる、符号長n=k+rの符号ビット系列となる。
Hereinafter, as an example, for example, a CRC encoder (CRC encoding circuit) in the
FIG. 2 is a diagram illustrating a configuration example of the
The
The
The
CRCパリティ生成器110および第1セレクタ111について述べる。
図3は、生成多項式G(x)をG(x)=x3+x+1とした場合のCRCパリティ生成器110の回路例を示す。
図3のCRCパリティ生成器110は、第1シフトレジスタR00、第1排他的論理和(EXOR)回路EXOR1、第2シフトレジスタR01、第3シフトレジスタR02、および、第2排他的論理和回路EXOR2が巡回状に接続されており、第2排他的論理和回路EXOR2の出力が第1排他的論理和回路EXOR1に入力されている。
The
FIG. 3 shows a circuit example of the
The
なお、生成多項式G(x)=x4+x3+x2+x+1とした場合のCRCパリティ生成器110の回路図の例を図4に示す。
図4のCRCパリティ生成器110は、第1シフトレジスタR00、第1排他的論理和(EXOR)回路EXOR1、第2シフトレジスタR01、第2排他的論理和回路EXOR2、第3シフトレジスタR02、第3排他的論理和回路EXOR3、第4シフトレジスタR03、第4排他的論理和回路EXOR4が巡回状に接続されており、第4排他的論理和回路EXOR4の出力が第1、2、3排他的論理和回路EXOR1、EXOR2、EXOR3に入力されている。
FIG. 4 shows an example of a circuit diagram of the
The
図3および図4に図解したように、CRCパリティ生成器110は生成多項式G(x)に基づいて構成される。換言すれば、図3および図4の図解から理解できるように、生成多項式G(x)が定まれば、CRCパリティ生成器110は、シフトレジスタと排他的論理和回路を巡回的かつ最終段の排他的論理和回路、たとえば、図3の第2排他的論理和回路EXOR2または図4の第4排他的論理和回路EXOR4の出力をその前段の排他的論理和回路に印加する回路として構成できる。
以下、図3に図解したCRCパリティ生成器110の動作について述べる。図4に図解したCRCパリティ生成器110の動作も図3に図解したCRCパリティ生成器110の動作と基本的には同様である。
As illustrated in FIGS. 3 and 4, the
The operation of the
図3において、情報多項式M(x)によって表される情報ビット系列を、第3シフトレジスタR02の上位の第2排他的論理和回路EXOR2に、毎時刻、たとえば、シフトレジスタを動作させる毎クロック毎に、1ビットずつ情報ビット系列の高次の項から順に入力することで、情報多項式M(x)に予めxrが乗じられた形のビット系列M(x)・xrが、CRCパリティ生成器110に入力されることになる。
ここで、第1〜第3シフトレジスタR00,R01,R02の初期値はゼロである。
情報ビット系列の零次の項をCRCパリティ生成器110に入力し終えた時点での第1〜第3シフトレジスタR00,R01,R02に保持されている値が剰余多項式R(x)の各次数の係数を与える。すなわち、剰余多項式R(x)は、R(x)=(R02の保持内容)×x2+(R01の保持内容)×x+(R00の保持内容)となる。
そのため、この情報ビット系列の零次の項をCRCパリティ生成器110に入力し終えた時点で、図2に図示しない制御回路から出力されるイネーブル信号E0がディセーブル(不活性状態)となり、CRCパリティ生成器110の第1〜第3シフトレジスタR00,R01,R02に保持されている値は保持されて、第1セレクタ111に出力される。
In FIG. 3, the information bit sequence represented by the information polynomial M (x) is sent to the second exclusive OR circuit EXOR2 above the third shift register R02 every time, for example, every clock for operating the shift register. In addition, the bit sequence M (x) · x r, which is obtained by multiplying the information polynomial M (x) by x r in advance, is input to the information parity sequence in order from the higher order term of the information bit sequence bit by bit. Will be input to the
Here, the initial values of the first to third shift registers R00, R01, R02 are zero.
The values held in the first to third shift registers R00, R01, R02 at the time when the zero-order term of the information bit sequence is completely input to the
Therefore, when the zero-order term of this information bit sequence has been input to the
図2において、たとえば、図3に回路構成を例示したCRCパリティ生成器110から第1セレクタ111の3個入力端子00、01、10への出力は、CRCパリティ生成器110の各シフトレジスタR00,R01,R02の出力R00out,R01out,R02outであり、第1セレクタ111は、図2に図示しない制御回路から出力される第1セレクト信号S0に従って、3個の入力端子00、01、10に入力されたCRCパリティ生成器110からの出力R00out,R01out,R02outの1つを順に選択して第2セレクタ112の「1」入力端子に出力する。
第2セレクタ112は、図2に図示しない制御回路から制御されるビット数カウンタ113から出力される第2セレクト信号S1に従って、換言すれば、ビット数カウンタ113のビット計数値に応じて、第2セレクタ112の「0」入力端子にkビットの情報ビット系列を入力する期間は「0」入力端子に入力される情報ビット系列を選択して情報ビット系列をそのまま出力する。他方、情報ビット系列をCRCパリティ生成器110に入力し終わり、全てのパリティが生成されたタイミングには、第2セレクタ112の「1」入力端子に入力された第1セレクタ111の出力、すなわち、CRCパリティ生成器110で生成したパリティを選択して、出力する。
2, for example, the output from the
The
このようにして、たとえば、図2のCRC符号器11における第2セレクタ112から出力される符号ビット系列は、上述したように、「kビットの情報ビット系列」と、「rビットのパリティビット」とからなる、符号長n=k+rの符号ビット系列となる。
たとえば、図1の送信装置1において、上述したように、CRC符号器11においてCRC符号化された符号ビット系列は、誤り訂正符号器12に入力され、たとえば、Reed−Solomon符号などの誤り訂正符号化され、誤り訂正符号化された情報が伝送路符号器13に入力されて伝送路2に応じた伝送路符号化処理がなされ、伝送路2へと送られる。
伝送路2を経由した信号は、受信装置3の符号検出器31によって検出され、検出された情報が伝送路復号器32に入力される。伝送路復号器32によって伝送路復号された検出情報系列は誤り訂正復号器33によって誤り訂正が行われる。誤り訂正された情報はCRC検出器34において検出系列に誤りがあるかどうか)を判定される。
In this way, for example, as described above, the code bit sequence output from the
For example, in the
The signal passing through the
図5は、受信多項式Y(x)に誤りがないかどうかを検査するCRC検出器34の構成例を示す図である。
CRC検出器34は、CRCパリティ検査器341と、比較器342とを有する。
CRCパリティ検査器341は、上述したように、受信多項式Y(x)が生成多項式G(x)で割り切れるかどうかを調べ、受信多項式Y(x)が生成多項式G(x)で割り切れれば、受信多項式Y(x)は符号多項式W(x)に一致しており、伝送路2において情報語に誤りが発生しなかったと判定し、受信多項式Y(x)が生成多項式G(x)で割り切れなければ、受信多項式Y(x)は符号多項式W(x)ではないので、伝送路2において情報語に誤りが生じたと判定する。
CRCパリティ検査器341は、受信多項式Y(x)を生成多項式G(x)で割る回路であり、比較器342はCRCパリティ検査器341で割った結果に剰余があるか否かをチェックする回路である。
FIG. 5 is a diagram illustrating a configuration example of the
The
As described above, the
The
CRCパリティ検査器341の構成例を図6に示す。
CRC検出器34は図1のCRC検出器34に対応しており、図6に図解したCRCパリティ検査器341の構成は、図3に図解したCRCパリティ生成器110に対応している。CRCパリティ生成器110が図4の回路構成の場合は、CRCパリティ検査器341もそれに則した回路構成となる。以下、図3に図解したCRCパリティ生成器110に対応したCRCパリティ検査器341について述べる。
図6に図解したCRCパリティ検査器341は、第1の排他的論理和回路EXOR11、第1シフトレジスタR10、第2の排他的論理和回路EXOR12、第2シフトレジスタR11、第3シフトレジスタR12が巡回状に接続されており、かつ、第3シフトレジスタR12の出力が第2の排他的論理和回路EXOR12に入力される回路構成をしている。
図6のCRCパリティ検査器341において、受信多項式Y(x)によって表される受信ビット系列を、第1シフトレジスタR10の右端の第1の排他的論理和回路EXOR11に毎時刻ごと1ビットずつ高次の項から順に入力する。受信ビット系列の零次の項をCRCパリティ検査器341に入力し終えた時点での第1〜第3シフトレジスタR10,R11,R12の値が剰余多項式R(x)の係数を与える。すなわち、R(X)=(R12の値)×x2+(R11の値)×x+(R10の値)。
ここで、第1〜第3シフトレジスタR10,R11,R12の初期値はゼロである。
A configuration example of the
The
The
In the
Here, the initial values of the first to third shift registers R10, R11, R12 are zero.
図5において、CRCパリティ検査器341から比較器342への出力、R10out,R11out,R12outは、図6のCRCパリティ検査器341の各レジスタR10,R11,R12の出力である。
比較器342は、R10out,R11out,R12outの全値がゼロ、つまり剰余がゼロかどうかを比較し(チェックし)、R10out,R11out,R12outの値全てがゼロであったかどうかを表す1ビットの一致信号を出力する。すなわち、R10out,R11out,R12outの値全てがゼロであった場合は、受信多項式Y(x)は符号多項式W(x)に一致しており、伝送路2において情報語に誤りが発生しなかったと判定した、比較器342から、たとえば、論理「1」の一致信号が出力され、そうでなかったときは、たとえば、論理「0」の一致信号が出力される。
In FIG. 5, outputs R10 out , R11 out , and R12 out from the
The
CRCの誤り検出能力は、一般的に、ランダム誤り検出能力とバースト誤り検出能力および符号の未検出誤り確率Pudで評価され、これらは生成多項式G(x)と符号長nによって決まる。 The error detection capability of CRC is generally evaluated by a random error detection capability, a burst error detection capability, and a code undetected error probability P ud, which are determined by a generator polynomial G (x) and a code length n.
ここで、符号の未検出誤り確率Pudとは、伝送路上で生じた誤りによって、受信語が、送信した符号語とは別の符号語(与えられた情報ビットとは別の情報ビットに対してCRCパリティを計算して付加した符号語)に変化してしまう確率のことを言う。別の符号語に変化してしまうことにより、CRCを行っても剰余がゼロとなってしまう。つまり、受信語に誤りがあるのに誤りなしと判定してしまうということが起こる。
たとえば、非特許文献1に開示されているように、符号の未検出誤り確率Pudは、次数(パリティ数)r、符号長n、生成多項式G(x)と符号長nが決まると求まる重み分布A、もしくは双対符号(dual code)の重み分布B、2元対称通信路(Binary Symmetric Channel)におけるチャネルビット誤り確率(遷移確率)εによって以下のように表される。
Here, the undetected error probability P ud of the code means that the received word is different from the transmitted code word due to an error occurring on the transmission path (for an information bit different from a given information bit). This is the probability of changing to a codeword calculated by adding CRC parity. By changing to another codeword, the remainder becomes zero even when CRC is performed. In other words, it may be determined that there is no error even though there is an error in the received word.
For example, as disclosed in
ランダム誤り検出能力については、(d min−1)個以下の全ての誤りを検出できる。ただし、それ以外の誤りも数多く検出できる。
また、バースト誤り検出能力については、長さが生成多項式G(x)の次数以下の誤りは全て検出できる。ただし、長さが生成多項式の次数よりも大きいバースト誤りであっても、その多くは検出可能である。
With regard to the random error detection capability, all (d min −1) or less errors can be detected. However, many other errors can be detected.
As for the burst error detection capability, all errors whose length is less than or equal to the order of the generator polynomial G (x) can be detected. However, many burst errors whose length is larger than the order of the generator polynomial can be detected.
非特許文献2〜8において、符号の未検出誤り確率を最小化する生成多項式に関する様々な報告がなされており、生成多項式の次数(パリティ数)や符号長に応じて様々なものが提案されている。
非特許文献2、3では、16ビットCRCにおいて、各符号長に対して符号の未検出誤り確率が最小となるような生成多項式を提案している。
また、非特許文献5、8において、符号の未検出誤り確率Pudは、符号長nが変化すると、符号の最小ハミング距離d minの変化する符号長を境に極端に上昇する特性を示すことが確認されている。
In
Further, in
図7は、8ビットCRCの場合の最小(限界)未検出誤り確率特性を例にとって示したグラフである。図7において、横軸は符号長n(ビット)を示し、縦軸は符号の未検出誤り確率Pudを示す。これをn−Pud特性という。 FIG. 7 is a graph showing an example of the minimum (limit) undetected error probability characteristic in the case of 8-bit CRC. In FIG. 7, the horizontal axis indicates the code length n (bit), and the vertical axis indicates the undetected error probability P ud of the code. This is called n-P ud characteristic.
特許文献1には、CRC生成多項式の選択方法に関する発明が開示されている。
特許文献1において、生成多項式の次数が与えられたとき、その次数の全ての生成多項式に対して計算したdistance spectrum(距離スペクトル)を元に生成多項式を選択する。このdistance spectrumは、それぞれのハミング距離における符号語の数を表したテーブルである。これにより、最大・最小ハミング距離を持った生成多項式を選択し、符号の未検出誤り確率を最小化する生成多項式を選択する。
In
上述したように、CRCの誤り検出能力(符号の未検出誤り確率、ランダム誤り検出能力、バースト誤り検出能力)は、生成多項式と符号長によって決まる。
全ての符号長において符号の未検出誤り確率が最小(限界値)となる生成多項式や符号の最小ハミング距離が最大となる生成多項式は存在せず、符号長に応じて符号の未検出誤り確率が最小もしくは符号の最小ハミング距離が最大となる生成多項式は異なる。
つまり、広く用いられているCCITT規格やANSI規格、および、非特許文献4〜8に示される生成多項式などは、符号の未検出誤り確率が最小、符号の最小ハミング距離が最大となる符号長の範囲は限られている。
As described above, CRC error detection capability (code undetected error probability, random error detection capability, burst error detection capability) is determined by the generator polynomial and the code length.
There is no generator polynomial in which the undetected error probability of the code is minimum (limit value) in all code lengths, or a generator polynomial in which the minimum hamming distance of the code is maximum, and the undetected error probability of the code depends on the code length. The generator polynomials that minimize the minimum or minimum hamming distance of the code are different.
That is, the widely used CCITT standard and ANSI standard, and the generator polynomials shown in
上述した文献の多くは、データ通信などにおける符号長の長い(数千ビット以上の)場合に符号の未検出誤り確率が最小(限界値)となるように設計されており、ヘッダ情報に対してCRCを用いる場合や、光ディスクなどの記録媒体へのデータの記録にCRCを用いる場合など、符号長のより短い場合においては、更に良い性能を示すものが存在するはずであるが、提案されていない。 Many of the above-mentioned documents are designed so that the undetected error probability of the code is minimized (limit value) when the code length is long (several thousand bits or more) in data communication or the like. In cases where the code length is shorter, such as when CRC is used or when CRC is used for recording data on a recording medium such as an optical disk, there should be something that shows better performance, but it has not been proposed .
非特許文献2、3などでは、符号長ごとに符号の未検出誤り確率が最も低い生成多項式の提案をしているが、この場合、異なる符号長において用いる場合には、その都度異なる生成多項式を用いなければならなかった。
たとえば、特許文献1では、符号長ごとに符号の最小ハミング距離が最大値を持つ生成多項式を選択しているが、これは回路規模の増加につながるという問題があった。
For example, in
実際のシステムにおいては、様々な符号長やパリティ長のものが使用されるが、これまで、全ての符号長やパリティ長について最適なCRC符号が明らかとなっている訳ではなく、現在知られているCRC符号だけでは、実際のシステムにおいて最小の未検出誤り確率Pudを得る上で、必ずしも十分ではなかった。 In actual systems, various code lengths and parity lengths are used, but so far, the optimum CRC code for all code lengths and parity lengths has not been clarified and is currently known. A CRC code alone is not always sufficient to obtain the minimum undetected error probability P ud in an actual system.
以上から、与えられた符号長およびパリティ長において符号の未検出誤り確率ができるだけ低く、符号の最小ハミング距離が出来るだけ大きく、かつ、出来るだけ広い符号長範囲において使用できる生成多項式が望まれている。
さらに、たとえば、図1の送信装置1に用いるCRC符号器、受信装置3に用いるCRC検出器を回路として装置化する際には、できるだけその回路が簡略化できるCRC符号化方式が望まれる。
From the above, there is a demand for a generator polynomial in which the undetected error probability of a code is as low as possible for a given code length and parity length, the minimum hamming distance of the code is as large as possible, and can be used in the widest possible code length range. .
Furthermore, for example, when the CRC encoder used in the
本発明の目的は、与えられた符号長およびパリティ長において符号の未検出誤り確率ができるだけ低く、符号の最小ハミング距離が出来るだけ大きく、かつ、出来るだけ広い符号長範囲において使用できる生成多項式を選択する、CRC生成多項式の選択方法を提供することにある。
本発明のさらなる目的は、上記CRC生成多項式の選択方法で選択した、生成多項式を抽出して、CRC符号器、CRC検出器などに適用可能にすることにある。
本発明の目的は、そのようにして、CRC符号器、CRC検出器などを具体的に構成して提供することにある。
The object of the present invention is to select a generator polynomial that has the lowest possible undetected error probability for a given code length and parity length, that has the smallest possible hamming distance of the code, and that can be used in the widest possible code length range. The present invention provides a method for selecting a CRC generator polynomial.
A further object of the present invention is to extract a generator polynomial selected by the CRC generator polynomial selection method and make it applicable to a CRC encoder, a CRC detector, and the like.
An object of the present invention is to specifically configure and provide a CRC encoder, a CRC detector, and the like.
本発明によれば、CRC符号および/またはCRC符号結果をCRC検査するために用いる生成多項式を選択する方法であって、kビットの情報語を持ち、該情報語についてrビットのパリティが付加された符号長(n)の符号の各符号長(n)における最小ハミング距離(d min)の最大値である最大・最小ハミング距離(Max.d min)を求める第1工程と、最大・最小ハミング距離(Max.d min)の変化する符号長(n)を求め、その符号長nの範囲(nmin (r,Max.d min )≦n≦nmax (r,Max.d min ))を求める第2工程と、前記符号長(n)の範囲(nmin (r,Max.d min )≦n≦nmax (r,Max.d min ))において、常に、符号の最小ハミング距離(d min )が最大・最小ハミング距離(Max.d min )と等しい条件(d min =Max.d min )を満たす生成多項式(G(x))を全検索によって見いだす第3工程と、前記全検索によって見いだした生成多項式(G(x))の中から、項数(w)、符号の未検出誤り確率(Pud)も最小のものを選び出す第4工程とを備えたCRC生成多項式の選択方法が提供される。 According to the present invention, there is provided a method for selecting a CRC and / or a generator polynomial used for CRC check of a CRC code result, which has k-bit information words, and an r-bit parity is added to the information words. a first step of obtaining a maximum and minimum Hamming distance (Max.d min) was the maximum value of the minimum Hamming distance (d min) of each code length of the code of the code length (n) (n), maximum and minimum hamming The code length (n) whose distance (Max.d min ) changes is obtained, and the range of the code length n (n min (r, Max.d min ) ≦ n ≦ n max (r, Max.d min )) is obtained. In the second step to be obtained and the range of the code length (n) (n min (r, Max. D min ) ≦ n ≦ n max (r, Max. D min )), the minimum Hamming distance (d min) is equal to the maximum and minimum Hamming distance (Max.d min) A third step of finding condition (d min = Max.d min) generator polynomial satisfying (G (x)) by total search, from among the generator polynomial found by all search (G (x)), the number of terms A method for selecting a CRC generator polynomial is provided, including (w) and a fourth step of selecting the smallest undetected error probability (P ud ) of the code.
好ましくは、前記第3および第4工程は、周期(p)が最大符号長(nmax (r,Max.d min ))以上であり(p≧nmax (r,Max.d min ))、かつ、(nmax ,nmax −r)の符号について最小ハミング距離(d min )が最大・最小ハミング距離(Max.d min )と等しい条件(d min =Max.d min )を満たす生成多項式G(x)を全検索により見付ける工程と、前記全検索により見いだした生成多項式(G(x))の中から、項数(w)が最小の生成多項式(G(x))を選ぶ工程と、前記選択した生成多項式(G(x))について、符号の未検出誤り確率(Pud)が最小になる生成多項式(G(x))を見いだす工程と、を有する。 Preferably, in the third and fourth steps, the period (p) is not less than the maximum code length (n max (r, Max.d min )) (p ≧ n max (r, Max.d min )), A generator polynomial G that satisfies the condition (d min = Max.d min ) where the minimum Hamming distance (d min ) is equal to the maximum / minimum Hamming distance (Max.d min ) for the code of (n max , n max −r) A step of finding (x) by a full search, a step of selecting a generator polynomial (G (x)) having the smallest number of terms (w) from the generator polynomials (G (x)) found by the full search, Finding a generator polynomial (G (x)) that minimizes the undetected error probability (P ud ) of the code for the selected generator polynomial (G (x)).
また好ましくは、前記生成多項式G(x)を検索および選択する工程において、最大・最小ハミング距離(Max.d min )がMax.d min =2については、周期(p)が最大周期2r −1をもつ(原始多項式である)生成多項式G(x)の中で、生成多項式の項数w、および、符号の未検出誤り確率Pudが最小である生成多項式G(x)を選択する。
Preferably, in the step of searching and selecting the generator polynomial G (x), the maximum / minimum Hamming distance (Max.d min ) is Max. For d min = 2, in the generator polynomial G (x) whose period (p) has the
上記CRC生成多項式の選択方法により、下記のいずれかの生成多項式G(x)が選択される。
1.r=3、n=4のとき、生成多項式G(x)=x3+x2+x+1である、
2.r=6、n=7のとき、生成多項式G(x)=x6+x5+x4+x3+x2+x+1である、
3.r=6、n=8のとき、生成多項式G(x)=x6+x4+x2+x+1(相反多項式:x6+x5+x4+x2+1)である、
4.r=6、n=8のとき、生成多項式G(x)=x6+x4+x3+x+1(相反多項式:x6+x5+x3+x2+1)である、
5.r=6、n=8のとき、生成多項式G(x)=x6+x5+x3+x+1である、
6.r=8、n=9のとき、生成多項式G(x)=x8+x7+x6+x5+x4+x3+x2+x+1である、
7.r=10、n=11のとき、生成多項式G(x)=x10+x9+x8+x7+x6+x5+x4+x3+x2+x+1である、
8.r=10、n=12のとき、生成多項式G(x)=x10+x8+x6+x4+x3+x2+x+1(相反多項式:x10+x9+x8+x7+x6+x4+x2+1)である、
9.r=12、n=13のとき、生成多項式G(x)=x12+x11+x10+x9+x8+x7+x6+x5+x4+x3+x2+x+1である、
10.r=12、n=14のとき、生成多項式G(x)=x12+x10+x8+x6+x4+x3+x2+x+1(相反多項式:x12+x11+x10+x9+x8+x6+x4+x2+1)である、
11.r=14、n=15のとき、生成多項式G(x)=x14+x13+x12+x11+x10+x9+x8+x7+x6+x5+x4+x3+x2+x+1である、
12.r=14、n=16のとき、生成多項式G(x)=x14+x12+x10+x9+x7+x5+x4+x3+x+1(相反多項式:x14+x13+x11+x10+x9+x7+x5+x4+x2+1)である、
13.r=14、n=17のとき、生成多項式G(x)=x14+x11+x8+x6+x5+x3+x2+x+1(相反多項式:x14+x13+x12+x11+x9+x8+x6+x3+1)である、
14.r=16、n=17のとき、生成多項式G(x)=x16+x15+x14+x13+x12+x11+x10+x9+x8+x7+x6+x5+x4+x3+x2+x+1である、
15.r=16、n=18のとき、生成多項式G(x)=x16+x14+x12+x10+x8+x6+x5+x4+x3+x2+x+1(相反多項式:x16+x15+x14+x13+x12+x11+x10+x8+x6+x4+x2+1)である、
16.r=16、n=22のとき、生成多項式G(x)=x16+x13+x8+x7+x6+x4+x2+x+1(相反多項式:x16+x15+x14+x12+x10+x9+x8+x3+1)である。
One of the following generator polynomials G (x) is selected according to the CRC generator polynomial selection method.
1. When r = 3 and n = 4, the generator polynomial G (x) = x 3 + x 2 + x + 1.
2. When r = 6 and n = 7, the generator polynomial G (x) = x 6 + x 5 + x 4 + x 3 + x 2 + x + 1.
3. When r = 6 and n = 8, the generator polynomial G (x) = x 6 + x 4 + x 2 + x + 1 (reciprocal polynomial: x 6 + x 5 + x 4 + x 2 +1).
4). When r = 6 and n = 8, the generator polynomial G (x) = x 6 + x 4 + x 3 + x + 1 (reciprocal polynomial: x 6 + x 5 + x 3 + x 2 +1).
5. When r = 6 and n = 8, the generator polynomial G (x) = x 6 + x 5 + x 3 + x + 1.
6). When r = 8 and n = 9, the generator polynomial G (x) = x 8 + x 7 + x 6 + x 5 + x 4 + x 3 + x 2 + x + 1.
7). When r = 10 and n = 11, the generator polynomial G (x) = x 10 + x 9 + x 8 + x 7 + x 6 + x 5 + x 4 + x 3 + x 2 + x + 1
8). When r = 10 and n = 12, the generator polynomial G (x) = x 10 + x 8 + x 6 + x 4 + x 3 + x 2 + x + 1 (reciprocal polynomial: x 10 + x 9 + x 8 + x 7 + x 6 + x 4 + x 2 +1) Is,
9. When r = 12, n = 13, the generator polynomial G (x) = x 12 + x 11 + x 10 + x 9 + x 8 + x 7 + x 6 + x 5 + x 4 + x 3 + x 2 + x + 1
10. When r = 12, n = 14, the generator polynomial G (x) = x 12 + x 10 + x 8 + x 6 + x 4 + x 3 + x 2 + x + 1 (reciprocal polynomial: x 12 + x 11 + x 10 + x 9 + x 8 + x 6 + x 4 + X 2 +1),
11. When r = 14 and n = 15, the generator polynomial G (x) = x 14 + x 13 + x 12 + x 11 + x 10 + x 9 + x 8 + x 7 + x 6 + x 5 + x 4 + x 3 + x 2 + x + 1
12 When r = 14 and n = 16, the generator polynomial G (x) = x 14 + x 12 + x 10 + x 9 + x 7 + x 5 + x 4 + x 3 + x + 1 (reciprocal polynomial: x 14 + x 13 + x 11 + x 10 + x 9 + x 7 + X 5 + x 4 + x 2 +1),
13. When r = 14 and n = 17, the generator polynomial G (x) = x 14 + x 11 + x 8 + x 6 + x 5 + x 3 + x 2 + x + 1 (reciprocal polynomial: x 14 + x 13 + x 12 + x 11 + x 9 + x 8 + x 6 + X 3 +1),
14 When r = 16 and n = 17, the generator polynomial G (x) = x 16 + x 15 + x 14 + x 13 + x 12 + x 11 + x 10 + x 9 + x 8 + x 7 + x 6 + x 5 + x 4 + x 3 + x 2 + x + 1 ,
15. When r = 16 and n = 18, the generator polynomial G (x) = x 16 + x 14 + x 12 + x 10 + x 8 + x 6 + x 5 + x 4 + x 3 + x 2 + x + 1 (reciprocal polynomial: x 16 + x 15 + x 14 + x 13 + X 12 + x 11 + x 10 + x 8 + x 6 + x 4 + x 2 +1)
16. When r = 16 and n = 22, the generator polynomial G (x) = x 16 + x 13 + x 8 + x 7 + x 6 + x 4 + x 2 + x + 1 (reciprocal polynomial: x 16 + x 15 + x 14 + x 12 + x 10 + x 9 + x 8 + X 3 +1).
また上記CRC生成多項式の選択方法により、下記のいずれかの生成多項式G(x)が選択される。
1.r=4、6≦n≦7のとき、生成多項式G(x)=x4+x2+x+1(相反多項式:x4+x3+x2+1)である、
2.r=6、9≦n≦31のとき、生成多項式G(x)=x6+x2+x+1(相反多項式:x6+x5+x4+1)である、
3.r=8、10≦n≦12のとき、生成多項式G(x)=x8+x5+x4+x3+x+1(相反多項式:x8+x7+x5+x4+x3+1)である、
4.r=8、10≦n≦12のとき、生成多項式G(x)=x8+x6+x3+x2+x+1(相反多項式:x8+x7+x6+x5+x2+1)である、
5.r=8、18≦n≦127のとき、生成多項式G(x)=x8+x4+x+1(相反多項式:x8+x7+x4+1)である、
6.r=8、n≧128のとき、生成多項式G(x)=x8+x5+x3+x2+1(相反多項式:x8+x6+x5+x3+1)である、
7.r=10、23≦n≦31のとき、生成多項式G(x)=x10+x9+x3+x+1(相反多項式:x10+x9+x7+x+1)である、
8.r=10、32≦n≦511のとき、生成多項式G(x)=x10+x5+x2+1(相反多項式:x10+x8+x5+1)である、
9.r=10、n≧512のとき、生成多項式G(x)=x10+x3+1(相反多項式:x10+x7+1)である、
10.r=12、24≦n≦39のとき、生成多項式G(x)=x12+x11+x7+x3+x+1(相反多項式:x12+x11+x9+x5+x+1)である、
11.r=12、40≦n≦65のとき、生成多項式G(x)=x12+x10+x7+x6+x5+x2+1である、
12.r=12、66≦n≦2047のとき、生成多項式G(x)=x12+x7+x2+1(相反多項式:x12+x10+x5+1)である、
13.r=12、n≧2048のとき、生成多項式G(x)=x12+x7+x6+x4+1(相反多項式:x12+x8+x6+x5+1)である、
14.r=14、28≦n≦71のとき、生成多項式G(x)=x14+x10+x9+x6+x2+1(相反多項式:x14+x12+x8+x5+x4+1)である、
15.r=14、72≦n≦127のとき、生成多項式G(x)=x14+x11+x5+x3+1(相反多項式:x14+x11+x9+x3+1)である、
16.r=14、128≦n≦8191のとき、生成多項式G(x)=x14+x5+x2+1(相反多項式:x14+x12+x9+1)である、
17.r=14、n≧8192のとき、生成多項式G(x)=x14+x6+x4+x+1(相反多項式:x14+x13+x10+x8+1)である、
18.r=16、19≦n≦21のとき、生成多項式G(x)=x16+x13+x12+x9+x7+x6+x5+x4+x2+1(相反多項式:x16+x14+x12+x11+x10+x9+x7+x4+x3+1)である、
19.r=16、19≦n≦21のとき、生成多項式G(x)=x16+x13+x12+x9+x7+x5+x4+x3+x2+1(相反多項式:x16+x14+x13+x12+x11+x9+x7+x4+x3+1)である、
20.r=16、23≦n≦31のとき、生成多項式G(x)=x16+x13+x11+x5+x3+x2+x+1(相反多項式:x16+x15+x14+x13+x11+x5+x3+1)である、
21.r=16、36≦n≦151のとき、生成多項式G(x)=x16+x15+x13+x8+x5+x3+x+1(相反多項式:x16+x15+x13+x11+x8+x3+x+1)である、
22.r=16、152≦n≦257のとき、生成多項式G(x)=x16+x15+x8+x+1である、
23.r=16、258≦n≦32767のとき、生成多項式G(x)=x16+x13+x2+1(相反多項式:x16+x14+x3+1)である、
24.r=16、n≧32768のとき、生成多項式G(x)=x16+x9+x7+x4+1(相反多項式:x16+x12+x9+x7+1)である。
One of the following generator polynomials G (x) is selected according to the CRC generator polynomial selection method.
1. When r = 4 and 6 ≦ n ≦ 7, the generator polynomial G (x) = x 4 + x 2 + x + 1 (reciprocal polynomial: x 4 + x 3 + x 2 +1).
2. When r = 6 and 9 ≦ n ≦ 31, the generator polynomial G (x) = x 6 + x 2 + x + 1 (reciprocal polynomial: x 6 + x 5 + x 4 +1).
3. When r = 8 and 10 ≦ n ≦ 12, the generator polynomial G (x) = x 8 + x 5 + x 4 + x 3 + x + 1 (reciprocal polynomial: x 8 + x 7 + x 5 + x 4 + x 3 +1).
4). When r = 8 and 10 ≦ n ≦ 12, the generator polynomial G (x) = x 8 + x 6 + x 3 + x 2 + x + 1 (reciprocal polynomial: x 8 + x 7 + x 6 + x 5 + x 2 +1).
5. When r = 8 and 18 ≦ n ≦ 127, the generator polynomial G (x) = x 8 + x 4 + x + 1 (reciprocal polynomial: x 8 + x 7 + x 4 +1).
6). When r = 8 and n ≧ 128, the generator polynomial G (x) = x 8 + x 5 + x 3 + x 2 +1 (reciprocal polynomial: x 8 + x 6 + x 5 + x 3 +1).
7). When r = 10 and 23 ≦ n ≦ 31, the generator polynomial G (x) = x 10 + x 9 + x 3 + x + 1 (reciprocal polynomial: x 10 + x 9 + x 7 + x + 1).
8). When r = 10 and 32 ≦ n ≦ 511, the generator polynomial G (x) = x 10 + x 5 + x 2 +1 (reciprocal polynomial: x 10 + x 8 + x 5 +1).
9. When r = 10 and n ≧ 512, the generator polynomial G (x) = x 10 + x 3 +1 (reciprocal polynomial: x 10 + x 7 +1).
10. When r = 12, 24 ≦ n ≦ 39, the generator polynomial G (x) = x 12 + x 11 + x 7 + x 3 + x + 1 (reciprocal polynomial: x 12 + x 11 + x 9 + x 5 + x + 1).
11. When r = 12, 40 ≦ n ≦ 65, the generator polynomial G (x) = x 12 + x 10 + x 7 + x 6 + x 5 + x 2 +1.
12 When r = 12, 66 ≦ n ≦ 2047, the generator polynomial G (x) = x 12 + x 7 + x 2 +1 (reciprocal polynomial: x 12 + x 10 + x 5 +1).
13. When r = 12, n ≧ 2048, the generator polynomial G (x) = x 12 + x 7 + x 6 + x 4 +1 (reciprocal polynomial: x 12 + x 8 + x 6 + x 5 +1).
14 When r = 14 and 28 ≦ n ≦ 71, the generator polynomial G (x) = x 14 + x 10 + x 9 + x 6 + x 2 +1 (reciprocal polynomial: x 14 + x 12 + x 8 + x 5 + x 4 +1).
15. When r = 14 and 72 ≦ n ≦ 127, the generator polynomial G (x) = x 14 + x 11 + x 5 + x 3 +1 (reciprocal polynomial: x 14 + x 11 + x 9 + x 3 +1).
16. When r = 14 and 128 ≦ n ≦ 8191, the generator polynomial G (x) = x 14 + x 5 + x 2 +1 (reciprocal polynomial: x 14 + x 12 + x 9 +1).
17. When r = 14 and n ≧ 8192, the generator polynomial G (x) = x 14 + x 6 + x 4 + x + 1 (reciprocal polynomial: x 14 + x 13 + x 10 + x 8 +1).
18. When r = 16 and 19 ≦ n ≦ 21, the generator polynomial G (x) = x 16 + x 13 + x 12 + x 9 + x 7 + x 6 + x 5 + x 4 + x 2 +1 (reciprocal polynomial: x 16 + x 14 + x 12 + x 11 + X 10 + x 9 + x 7 + x 4 + x 3 +1)
19. When r = 16 and 19 ≦ n ≦ 21, the generator polynomial G (x) = x 16 + x 13 + x 12 + x 9 + x 7 + x 5 + x 4 + x 3 + x 2 +1 (reciprocal polynomial: x 16 + x 14 + x 13 + x 12 + X 11 + x 9 + x 7 + x 4 + x 3 +1)
20. When r = 16 and 23 ≦ n ≦ 31, the generator polynomial G (x) = x 16 + x 13 + x 11 + x 5 + x 3 + x 2 + x + 1 (reciprocal polynomial: x 16 + x 15 + x 14 + x 13 + x 11 + x 5 + x 3 +1),
21. When r = 16, 36 ≦ n ≦ 151, the generator polynomial G (x) = x 16 + x 15 + x 13 + x 8 + x 5 + x 3 + x + 1 (reciprocal polynomial: x 16 + x 15 + x 13 + x 11 + x 8 + x 3 + x + 1) Is,
22. When r = 16 and 152 ≦ n ≦ 257, the generator polynomial G (x) = x 16 + x 15 + x 8 + x + 1.
23. When r = 16 , 258 ≦ n ≦ 32767, the generator polynomial G (x) = x 16 + x 13 + x 2 +1 (reciprocal polynomial: x 16 + x 14 + x 3 +1).
24. When r = 16 and n ≧ 32768, the generator polynomial G (x) = x 16 + x 9 + x 7 + x 4 +1 (reciprocal polynomial: x 16 + x 12 + x 9 + x 7 +1).
本発明によれば、上記選択された生成多項式G(x)を用いたCRC符号化を行う、CRC符号化方法が提供される。 According to the present invention, there is provided a CRC encoding method for performing CRC encoding using the selected generator polynomial G (x).
また本発明によれば、上記選択された生成多項式G(x)を、シフトレジスタと前記生成多項式G(x)の係数に応じて設けられた排他的論理和回路と巡回的に接続し、かつ、前記生成多項式G(x)の係数に応じて設けられた排他的論理和回路に、最終段の排他的論理和回路の出力を入力する回路構成を持つ、CRC符号化回路が提供される。 According to the present invention, the selected generator polynomial G (x) is cyclically connected to a shift register and an exclusive OR circuit provided according to the coefficient of the generator polynomial G (x), and A CRC encoding circuit having a circuit configuration for inputting the output of the exclusive OR circuit at the final stage to the exclusive OR circuit provided according to the coefficient of the generator polynomial G (x) is provided.
本発明によれば、次数(パリティ数)r、周期pの生成多項式G(x)を用いて符号長nのCRC符号の符号化を行うCRC符号化方法であって、符号長nおよび次数rによって規定されるCRC符号の最小ハミング距離最大値Max.d min 、次数rのもとで符号の最小ハミング距離最大値Max.d min が一定となる符号長nの範囲をnmin ≦n≦nmax としたとき(ただし、nmin は最小符号長であり、nmax は最大符号長である)、周期p≧最大符号長nmax 、もしくは、周期p=2r −1、かつ、nmin ≦n≦nmax の条件下において、符号の最小ハミング距離d min がd min =Max.d min を満たす生成多項式G(x)のなかで、生成多項式G(x)の項数が最小となり、かつ、2次元対称通信路における符号の未検出誤り確率が最小となる生成多項式G(x)を用いる、CRC符号化方法が提供される。 According to the present invention, there is provided a CRC encoding method for encoding a CRC code having a code length n using a generator polynomial G (x) having a degree (parity number) r and a period p, wherein the code length n and the order r The minimum Hamming distance maximum value Max. d min , the minimum hamming distance of the code Max. When the range of code length n where d min is constant is defined as n min ≦ n ≦ n max (where n min is the minimum code length and n max is the maximum code length), period p ≧ maximum code length n max , or period p = 2 r −1 and n min ≦ n ≦ n max , the minimum hamming distance d min of the code is d min = Max. Among generator polynomials G (x) satisfying dmin , the generator polynomial G (x) has the smallest number of terms in the generator polynomial G (x) and the smallest undetected error probability of the code in the two-dimensional symmetric channel. CRC encoding method is provided.
本発明による、生成多項式を用いて生成されるCRC符号化方式を用いることで、従来から広く用いられている生成多項式を用いる場合に比べ、所望のパリティビットおよび符号長において、符号の未検出誤り確率を低く抑えることが出来、かつ、符号の最小ハミング距離が最大値をとることで、ランダム誤り検出能力を最大にすることが出来る。 By using the CRC coding method generated by using the generator polynomial according to the present invention, the undetected error of the code at a desired parity bit and code length as compared with the case of using a generator polynomial widely used conventionally. The probability can be kept low, and the minimum hamming distance of the code takes the maximum value, so that the random error detection capability can be maximized.
さらに、生成多項式G(x)はnmin (r、Max.d min )≦n≦nmax (r,Max.d min )の符号長範囲において符号の最小ハミング距離d minがd min=Max.d minを満たし、かつ符号の未検出誤り確率PudがPud≒(限界値)を満たすので、符号長nが変化する場合でも、この符号長範囲内であれば単一の生成多項式で対応することが可能である。 Further, the generator polynomial G (x) has a minimum hamming distance d min of the code d min = Max. In the code length range of n min (r, Max.d min ) ≦ n ≦ n max (r, Max.d min ). Since d min is satisfied and the undetected error probability P ud of the code satisfies P ud ≈ (limit value), even if the code length n changes, a single generator polynomial can be used as long as it is within this code length range Is possible.
さらに、nmin (r、Max.d min )≦n≦nmax (r,Max.d min )の符号長範囲において、常に、符号の最小ハミング距離(d min )が最大値をとる生成多項式G(x)の中で、最小の項数wのものを用いているので、回路に実装するときの回路規模も少なくて済む。 Furthermore, in the code length range of n min (r, Max.d min ) ≦ n ≦ n max (r, Max.d min ), the generator polynomial G in which the minimum hamming distance (d min ) of the code always takes the maximum value. In (x), the one with the minimum number of terms w is used, so that the circuit scale when mounted on the circuit can be reduced.
また、符号長nと符号の未検出誤り確率Pudが決まれば、それを満たすために必要なパリティ数(次数r)が分かるので、そのパリティ数r、符号長nにおいて選択された生成多項式G(x)を用いることで、所望の未検出誤り確率を実現することが出来る。 Further, if the code length n and the undetected error probability P ud of the code are determined, the number of parity (order r) necessary to satisfy the code length n can be known. Therefore, the generator polynomial G selected for the parity number r and the code length n. By using (x), a desired undetected error probability can be realized.
CRC符号選択方法
本発明の発明者は、図7に例示したように、符号の最小ハミング距離d min の変化する符号長nを境に符号の未検出誤り確率Pudの特性が急激に劣化することに着目した。図7のn−Pud特性は、各符号長における種々の生成多項式G(x)についての限界を示している。
8ビットCRCについての図7の例示において、符号長n=10〜12、13〜17、18〜127、128〜255などの境界で符号の未検出誤り確率Pudが急激に変化する。
CRC Code Selection Method As illustrated in FIG. 7, the inventor of the present invention rapidly deteriorates the characteristic of the undetected error probability P ud of the code at the boundary of the code length n where the minimum hamming distance d min of the code changes. Focused on that. The n-P ud characteristic of FIG. 7 shows the limits for various generator polynomials G (x) at each code length.
In the illustration of FIG. 7 for 8-bit CRC, the undetected error probability P ud of the code changes abruptly at boundaries such as code lengths n = 10 to 12, 13 to 17, 18 to 127, 128 to 255, and the like.
また、符号の最小ハミング距離d min の変化する上記符号長nは生成多項式によって異なる。
さらに、符号長nにおける符号の最小ハミング距離d min は生成多項式によって異なる。
Further, the code length n at which the minimum hamming distance d min of the code changes depends on the generator polynomial.
Further, the minimum hamming distance d min of the code at the code length n varies depending on the generator polynomial.
図8は本発明のCRC符号選択方法の処理内容の1例を示すフローチャートである。
以下、上述した認識の元、図8を参照して、本発明の発明者による本発明のCRC符号選択方法について述べる。
FIG. 8 is a flowchart showing an example of the processing contents of the CRC code selection method of the present invention.
The CRC code selection method of the present invention by the inventor of the present invention will be described below with reference to FIG. 8 based on the above recognition.
ステップ1:Max.d min を求める。
符号の最小ハミング距離d min は、大きい程、ランダム誤り検出能力が高く、符号の未検出誤り確率が低いため、望ましいので、まず、パリティ数(次数)rの符号の各符号長における最小ハミング距離d min の最大値(これを最大・最小ハミング距離、または、最小ハミング距離・最大値といい、Max.d min で表す)を求める。
Step 1: Max. Find d min .
The larger the minimum hamming distance d min of the code, the higher the random error detection capability and the lower the undetected error probability of the code. The maximum value of d min (this is called the maximum / minimum hamming distance or the minimum hamming distance / maximum value and is expressed as Max.d min ).
ステップ2:Max.d min の変化する符号長nを求める。
次いで、最大・最小ハミング距離Max.d min の変化する符号長nを求め、Max.d minが一定の符号長nの範囲をnmin (r,Max.d min )≦n≦nmax (r,Max.d min )と表す。nmin (r,Max.d min )は、符号長nの最小範囲nmin が、rとMax.d min で規定されることを意味しており、同様に、符号長nの最大範囲nmax が、rとMax.d min とで規定されることを示している。
Step 2: Max. The code length n with which d min changes is obtained.
Next, the maximum / minimum Hamming distance Max. The code length n with which d min changes is obtained, and Max. The range of the code length n where d min is constant is expressed as n min (r, Max. d min ) ≦ n ≦ n max (r, Max. d min ). n min (r, Max.d min ) is the minimum range n min of the code length n, and r and Max. d min . Similarly, the maximum range n max of the code length n is r and Max. It shows that it is defined by d min .
8ビットCRCの場合を図7に例示する。
ただし、符号長nが生成多項式G(x)の周期pを超えると、図7の例では、n≧256になると、符号の最小ハミング距離d min は必ず2となる。
生成多項式G(x)の周期pは、生成多項式G(x)が原始多項式のとき最大となり、その最大周期は(2r - 1)で表される。つまり、Max.d min =2における符号長nの範囲は、生成多項式G(x)に関わらず必ず2r≦n≦∞となる。すなわち、nmin (r,2)=2r、nmax (r,2)=∞となる。
The case of 8-bit CRC is illustrated in FIG.
However, when the code length n exceeds the period p of the generator polynomial G (x), the minimum hamming distance d min of the code is always 2 when n ≧ 256 in the example of FIG.
The period p of the generator polynomial G (x) is maximum when the generator polynomial G (x) is a primitive polynomial, and the maximum period is represented by (2 r −1). That is, Max. The range of the code length n at d min = 2 is always 2 r ≦ n ≦ ∞ regardless of the generator polynomial G (x). That is, n min (r, 2) = 2 r and n max (r, 2) = ∞.
ステップ3:n min ≦n≦n max において、常に、d min =Max.d min を満たすG(x)を全検索によって見いだす。
次に、出来るだけ広い範囲の符号長nにおいて使用できる生成多項式が望ましいので、nmin (r,Max.d min )≦n≦nmax (r,Max.d min )において、常に、d min =Max.d min を満たす生成多項式G(x)を全検索によって見いだす。
Step 3: In the case of n min ≦ n ≦ n max , d min = Max. G (x) satisfying d min is found by all searches.
Next, since a generator polynomial that can be used in the widest possible range of code lengths n is desirable, in the case of n min (r, Max.d min ) ≦ n ≦ n max (r, Max.d min ), d min = Max. A generator polynomial G (x) satisfying d min is found by full search.
ステップ4:全検索によって見いだしたG(x)の中から、項数w、符号の未検出誤り確率P ud も最小のものを選び出す。
さらに、全検索によって見いだした生成多項式G(x)の中から、項数w、符号の未検出誤り確率Pudも最小のものを選び出す。
Step 4: From G (x) found by all searches, the one having the smallest number of terms w and undetected error probability P ud of the code is selected.
Further, from the generator polynomial G (x) found by all searches, the one having the minimum number of terms w and the undetected error probability P ud of the code is selected.
ステップ3および4における検索および選択の方法について、図9を参照して、具体例を述べる。
A specific example of the search and selection method in
ステップ41:p≧nmax を満たし、かつ、(nmax ,nmax −r)の符号についてd min =Max.d min を満たすG(x)を全検索により見付ける。
まず、nmin (r,Max.d min )≦n≦nmax (r,Max.d min )において常に、d min =Max.d min を満たすためには、周期pについてp≧nmax (r,Max.d min )を満たし、かつ、(nmax ,nmax −r)の符号についてd min =Max.d min を満たす必要があるので、この条件を満たす生成多項式G(x)を全検索により見付ける。
Step 41: satisfy p ≧ n max , and for the sign of (n max , n max −r), d min = Max. G (x) satisfying d min is found by all searches.
First, n min (r, Max.d min ) ≦ n ≦ n max (r, Max.d min) always in, d min = Max. To meet d min is, p ≧ n max (r, Max.d min) for the period p meet, and, (n max, n max -r ) for the sign of d min = Max. Since d min needs to be satisfied, a generator polynomial G (x) satisfying this condition is found by full search.
ステップ42:全検索により見いだしたG(x)の中から、項数wが最小の生成多項式G(x)を選ぶ。
次に、全検索により見いだした生成多項式G(x)の中から、項数wが最小の生成多項式G(x)を選ぶ。また、G(x)の項数がwのとき、G(x)によって生成された符号語には、ハミング距離d Hがwとなる符号語が必ず存在する。したがって、G(x)によって生成される符号の最小ハミング距離d minが最大・最小ハミング距離Max.d minとなっているならば、必ずw≧Max.d minである。このことを利用して、ステップ41において検索するG(x)の中でw<Max.d minのものは省略することが可能である。
Step 42: A generator polynomial G (x) having the smallest number of terms w is selected from G (x) found by all searches.
Next, the generator polynomial G (x) having the smallest number of terms w is selected from the generator polynomials G (x) found by the full search. Further, when the number of terms of G (x) is w, the codeword generated by G (x) always has a codeword whose Hamming distance d H is w. Therefore, the minimum hamming distance d min of the code generated by G (x) is the maximum / minimum hamming distance Max. If d min , be sure w ≧ Max. d min . Using this fact, w <Max. d min can be omitted.
ステップ43:Pudが最小になるG(x)を見いだす。
次に、この生成多項式G(x)を用いて符号化したCRC符号のnmin (r,Max.d min )≦n≦nmax (r,Max.d min )における、符号の未検出誤り確率Pudを式4によって求め、Pudが最小となる生成多項式G(x)を見いだす。
Step 43: Find G (x) where P ud is minimized.
Next, the undetected error probability of the code in n min (r, Max.d min ) ≦ n ≦ n max (r, Max.d min ) of the CRC code encoded using this generator polynomial G (x) P ud is obtained by
ただし、符号長nが大きくなり、Max.d min =2の場合については、上述したように、符号長nの範囲が2r ≦n≦∞、すなわち、nmin (r,2)=2r 、nmax (r,2)=∞であるので、ステップ41に示した手順で生成多項式G(x)を検索することが出来ない。
However, the code length n increases, and Max. In the case of d min = 2, as described above, the range of the code length n is 2 r ≦ n ≦ ∞, that is, n min (r, 2) = 2 r and n max (r, 2) = ∞. Therefore, the generator polynomial G (x) cannot be searched by the procedure shown in
また、2r ≦nにおいて、全ての生成多項式G(x)はd min =Max.d min =2を満たす。そこで、d min =2のときは周期pが大きい程符号の未検出誤り確率Pudが低いという性質を利用して、Max.d min =2については、周期pが最大周期2r −1をもつ(原始多項式である)生成多項式G(x)の中で、多項式の項数w、符号の未検出誤り確率Pudが最小である生成多項式G(x)を選択する。つまり、これは、Max.d min =3で求めた生成多項式G(x)と一致する。その理由は、nmax (r,3)=2r −1であるからである。
In addition, when 2 r ≦ n, all generator polynomials G (x) are d min = Max. d min = 2 is satisfied. Therefore, when d min = 2, using the property that the undetected error probability P ud of the code is lower as the period p is larger, Max. For d min = 2, the number of polynomial terms w and the undetected error probability P ud of the code are the smallest among the generator polynomials G (x) whose period p has the
実施例と比較例
以上の方法で見いだした生成多項式G(x)の例と、比較例を述べる。
表1−A〜表1−Cは、パリティビット数(次数)r=3,4,6,8,10,12,14,16の各符号長における生成多項式G(x)の、本発明における実施例と、比較例として、一般的に用いられている生成多項式の例を示したものである。
An example of the generator polynomial G (x) found by the above method and the comparative example and a comparative example will be described.
Table 1-A to Table 1-C show the generation polynomial G (x) in each code length of parity bit number (order) r = 3,4,6,8,10,12,14,16 in the present invention. Examples of generator polynomials that are generally used are shown as examples and comparative examples.
表1−A〜表1−Cの1列目は、パリティビット数rを表し、2列目、3列目は、それぞれ、符号の最大・最小ハミング距離Max.d min を満たす符号長nの範囲と、その最大・最小ハミング距離Max.d min である。
生成多項式G(x)について、16進数表記をしている。たとえば、16進数表記の「F」は、2進数表記で「1111」になる。また、16進数表記の「12D」であれば、2進数で表すと、「100101101」であるので、生成多項式G(x)=x8+x5+x3+x2+1を表す。
また、高次の係数と低次の係数を逆転した多項式を相反多項式(reciprocal polynomial)といい、同じ特性を示す。
The first column of Table 1-A to Table 1-C represents the number of parity bits r, and the second column and the third column respectively represent the maximum / minimum Hamming distance Max. range of code length n satisfying d min and its maximum and minimum Hamming distances Max. d min .
The generator polynomial G (x) is expressed in hexadecimal. For example, “F” in hexadecimal notation becomes “1111” in binary notation. Further, if "12D" in the hexadecimal notation, expressed expressed in binary, because it is "100101101", the generator polynomial G (x) = x 8 + x 5 + x 3 + x 2 +1.
A polynomial obtained by reversing the higher and lower order coefficients is called a reciprocal polynomial, and exhibits the same characteristics.
表1−A〜表1−Cの4〜7列目のデータが本発明の実施例における生成多項式を用いて生成した符号の最小ハミング距離d min 、生成多項式G(x)、項数w、および、符号の未検出誤り確率Pudを表す。
表1−A〜表1−Cの8〜11列目のデータが比較例における生成多項式を用いて生成した符号の最小ハミング距離d min 、生成多項式G(x)、項数w、および、符号の未検出誤り確率Pudを表す。
表1−A〜表1−Cにおいて、“−”記号は、上記の検索を行い選択した生成多項式が他文献で既に提案されている部分であり、その部分については、参考までに表2に示す。
The data in the 4th to 7th columns of Tables 1-A to 1-C are the minimum hamming distance d min of the code generated using the generator polynomial in the embodiment of the present invention, the generator polynomial G (x), the number of terms w, and represents the undetected error probability P ud code.
The minimum Hamming distance d min , the generator polynomial G (x), the number of terms w, and the code of the codes generated using the generator polynomial in the comparative example in the data in the 8th to 11th columns of Table 1-A to Table 1-C Represents the undetected error probability P ud of.
In Tables 1-A to 1-C, the “-” symbol is a part for which the generator polynomial selected by performing the above search has already been proposed in other literature, and the part is shown in Table 2 for reference. Show.
本発明の実施例として示した生成多項式G(x)は、nmin (r,Max.d
min )≦n≦nmax (r,Max.d min )において、d min =Max.d min
を満たし、さらに、その生成多項式G(x)の中で項数wが最小であり、さらに、その中で符号の未検出誤り確率Pudが最も低い生成多項式となっている。
The generator polynomial G (x) shown as an embodiment of the present invention is n min (r, Max.d
min ) ≦ n ≦ n max (r, Max.d min ), d min = Max. d min
Furthermore, the number w of terms is the smallest among the generator polynomials G (x), and the generator undetected error probability P ud is the lowest among the generator polynomials G (x).
さらに、図10、図11は、それぞれ、16ビットCRC、8ビットCRCにおける符号長nと符号の未検出誤り確率Pudとの特性(n−Pud特性)を示したものである。
この例示において、左から順に生成多項式G(x)、項数w、Max.d min一定の符号長範囲nmin ≦n≦nmaxを表し、最後に“new”と示されていれば本発明によるもの、“〔〕”で括られたものはすでに他文献に提案されているものであり、数字はその文献番号を表す。
Further, FIGS. 10 and 11 show characteristics (n−P ud characteristics) between the code length n and the undetected error probability P ud of the code in 16-bit CRC and 8-bit CRC, respectively.
In this example, the generator polynomial G (x), the number of terms w, Max. d min represents a constant code length range n min ≤ n ≤ n max. If "new" is shown at the end, the present invention, what is enclosed in "[]" has already been proposed in other literature The number represents the document number.
以上のようにして得た生成多項式G(x)の例を整理して、下記に列挙する。 Examples of the generator polynomial G (x) obtained as described above are organized and listed below.
(1)次数r=3、符号長n=4のとき、生成多項式G(x)=x3+x2+x+1である。
(2)次数r=4、符号長nが6≦n≦7のとき、生成多項式G(x)=x4+x2+x+1(相反多項式:x4+x3+x2+1)である。
(3)次数r=6、符号長n=7のとき、生成多項式G(x)=x6+x5+x4+x3+x2+x+1である。
(4)次数r=6、符号長n=8のとき、生成多項式G(x)=x6+x4+x2+x+1(相反多項式:x6+x5+x4+x2+1)である。
(5)次数r=6、符号長n=8のとき、生成多項式G(x)=x6+x4+x3+x+1(相反多項式:x6+x5+x3+x2+1)である。
(6)次数r=6、符号長n=8のとき、生成多項式G(x)=x6+x5+x3+x+1である。
(7)次数r=6、符号長nが9≦n≦31のとき、生成多項式G(x)=x6+x2+x+1(相反多項式:x6+x5+x4+1)である。
(8)次数r=8、符号長n=9のとき、生成多項式G(x)=x8+x7+x6+x5+x4+x3+x2+x+1である。
(9)次数r=8、符号長nが10≦n≦12のとき、
生成多項式G(x)=x8+x5+x4+x3+x+1(相反多項式:x8+x7+x5+x4+x3+1)である。
(10)次数r=8、符号長nが10≦n≦12のとき、
生成多項式G(x)=x8+x6+x3+x2+x+1(相反多項式:x8+x7+x6+x5+x2+1)である。
(11)次数r=8、符号長nが18≦n≦127のとき、生成多項式G(x)=x8+x4+x+1(相反多項式:x8+x7+x4+1)である。
(12)次数r=8、符号長nがn≧128のとき、生成多項式G(x)=x8+x5+x3+x2+1(相反多項式:x8+x6+x5+x3+1)である。
(13)次数r=10、符号長nがn=11のとき、生成多項式G(x)=x10+x9+x8+x7+x6+x5+x4+x3+x2+x+1である。
(14)次数r=10、符号長nがn=12のとき、生成多項式G(x)=x10+x8+x6+x4+x3+x2+x+1(相反多項式:x10+x9+x8+x7+x6+x4+x2+1)である。
(15)次数r=10、符号長nが23≦n≦31のとき、生成多項式G(x)=x10+x9+x3+x+1(相反多項式:x10+x9+x7+x+1)である。
(16)次数r=10、符号長nが32≦n≦511のとき、生成多項式G(x)=x10+x5+x2+1(相反多項式:x10+x8+x5+1)である。
(17)次数r=10、符号長nがn≧512のとき、生成多項式G(x)=x10+x3+1(相反多項式:x10+x7+1)である。
(18)次数r=12、符号長nがn=13のとき、生成多項式G(x)=x12+x11+x10+x9+x8+x7+x6+x5+x4+x3+x2+x+1である。
(19)次数r=12、符号長nがn=14のとき、生成多項式G(x)=x12+x10+x8+x6+x4+x3+x2+x+1(相反多項式:x12+x11+x10+x9+x8+x6+x4+x2+1)である。
(20)次数r=12、符号長nが24≦n≦39のとき、生成多項式G(x)=x12+x11+x7+x3+x+1(相反多項式:x12+x11+x9+x5+x+1)である。
(21)次数r=12、符号長nが40≦n≦65のとき、生成多項式G(x)=x12+x10+x7+x6+x5+x2+1である。
(22)次数r=12、符号長nが66≦n≦2047のとき、生成多項式G(x)=x12+x7+x2+1(相反多項式:x12+x10+x5+1)である。
(23)次数r=12、符号長nがn≧2048のとき、生成多項式G(x)=x12+x7+x6+x4+1(相反多項式:x12+x8+x6+x5+1)である。
(24)次数r=14、符号長nがn=15のとき、生成多項式G(x)=x14+x13+x12+x11+x10+x9+x8+x7+x6+x5+x4+x3+x2+x+1である。
(25)次数r=14、符号長nがn=16のとき、生成多項式G(x)=x14+x12+x10+x9+x7+x5+x4+x3+x+1(相反多項式:x14+x13+x11+x10+x9+x7+x5+x4+x2+1)である。
(26)次数r=14、符号長nがn=17のとき、生成多項式G(x)=x14+x11+x8+x6+x5+x3+x2+x+1(相反多項式:x14+x13+x12+x11+x9+x8+x6+x3+1)である。
(27)次数r=14、符号長nが28≦n≦71のとき、生成多項式G(x)=x14+x10+x9+x6+x2+1(相反多項式:x14+x12+x8+x5+x4+1)である。
(28)次数r=14、符号長nが72≦n≦127のとき、生成多項式G(x)=x14+x11+x5+x3+1(相反多項式:x14+x11+x9+x3+1)である。
(29)次数r=14、符号長nが128≦n≦8191のとき、生成多項式G(x)=x14+x5+x2+1(相反多項式:x14+x12+x9+1)である。
(30)次数r=14、符号長nがn≧8192のとき、生成多項式G(x)=x14+x6+x4+x+1(相反多項式:x14+x13+x10+x8+1)である。
(31)次数r=16、符号長nがn=17のとき、生成多項式G(x)=x16+x15+x14+x13+x12+x11+x10+x9+x8+x7+x6+x5+x4+x3+x2+x+1である。
(32)次数r=16、符号長nがn=18のとき、生成多項式G(x)=x16+x14+x12+x10+x8+x6+x5+x4+x3+x2+x+1(相反多項式:x16+x15+x14+x13+x12+x11+x10+x8+x6+x4+x2+1)である。
(33)次数r=16、符号長nが19≦n≦21のとき、生成多項式G(x)=x16+x13+x12+x9+x7+x6+x5+x4+x2+1(相反多項式:x16+x14+x12+x11+x10+x9+x7+x4+x3+1)である。
(34)次数r=16、符号長nが19≦n≦21のとき、生成多項式G(x)=x16+x13+x12+x9+x7+x5+x4+x3+x2+1(相反多項式:x16+x14+x13+x12+x11+x9+x7+x4+x3+1)である。
(35)次数r=16、符号長nがn=22のとき、生成多項式G(x)=x16+x13+x8+x7+x6+x4+x2+x+1(相反多項式:x16+x15+x14+x12+x10+x9+x8+x3+1)である。
(36)次数r=16、符号長nが23≦n≦31のとき、生成多項式G(x)=x16+x13+x11+x5+x3+x2+x+1(相反多項式:x16+x15+x14+x13+x11+x5+x3+1)である。
(37)次数r=16、符号長nが36≦n≦151のとき、生成多項式G(x)=x16+x15+x13+x8+x5+x3+x+1(相反多項式:x16+x15+x13+x11+x8+x3+x+1)である。
(38)次数r=16、符号長nが152≦n≦257のとき、生成多項式G(x)=x16+x15+x8+x+1である。
(39)次数r=16、符号長nが258≦n≦32767のとき、生成多項式G(x)=x16+x13+x2+1(相反多項式:x16+x14+x3+1)である。
(40)次数r=16、符号長nがn≧32768のとき、生成多項式G(x)=x16+x9+x7+x4+1(相反多項式:x16+x12+x9+x7+1)である。
(1) When the order r = 3 and the code length n = 4, the generator polynomial G (x) = x 3 + x 2 + x + 1.
(2) When the order r = 4 and the code length n is 6 ≦ n ≦ 7, the generator polynomial G (x) = x 4 + x 2 + x + 1 (reciprocal polynomial: x 4 + x 3 + x 2 +1).
(3) When the order r = 6 and the code length n = 7, the generator polynomial G (x) = x 6 + x 5 + x 4 + x 3 + x 2 + x + 1.
(4) When the order r = 6 and the code length n = 8, the generator polynomial G (x) = x 6 + x 4 + x 2 + x + 1 (reciprocal polynomial: x 6 + x 5 + x 4 + x 2 +1).
(5) When the order r = 6 and the code length n = 8, the generator polynomial G (x) = x 6 + x 4 + x 3 + x + 1 (reciprocal polynomial: x 6 + x 5 + x 3 + x 2 +1).
(6) When the order r = 6 and the code length n = 8, the generator polynomial G (x) = x 6 + x 5 + x 3 + x + 1.
(7) When the order r = 6 and the code length n is 9 ≦ n ≦ 31, the generator polynomial G (x) = x 6 + x 2 + x + 1 (reciprocal polynomial: x 6 + x 5 + x 4 +1).
(8) When the order r = 8 and the code length n = 9, the generator polynomial G (x) = x 8 + x 7 + x 6 + x 5 + x 4 + x 3 + x 2 + x + 1.
(9) When the order r = 8 and the code length n is 10 ≦ n ≦ 12,
The generator polynomial G (x) = x 8 + x 5 + x 4 + x 3 + x + 1 (reciprocal polynomial: x 8 + x 7 + x 5 + x 4 + x 3 +1).
(10) When the order r = 8 and the code length n is 10 ≦ n ≦ 12,
Generator polynomial G (x) = x 8 + x 6 + x 3 + x 2 + x + 1: a (reciprocal polynomial x 8 + x 7 + x 6 + x 5 + x 2 +1).
(11) When the order r = 8 and the code length n is 18 ≦ n ≦ 127, the generator polynomial G (x) = x 8 + x 4 + x + 1 (reciprocal polynomial: x 8 + x 7 + x 4 +1).
(12) When the order r = 8 and the code length n is n ≧ 128, the generator polynomial G (x) = x 8 + x 5 + x 3 + x 2 +1 (reciprocal polynomial: x 8 + x 6 + x 5 + x 3 +1) .
(13) When the order r = 10 and the code length n = n = 11, the generator polynomial G (x) = x 10 + x 9 + x 8 + x 7 + x 6 + x 5 + x 4 + x 3 + x 2 + x + 1.
(14) When the order r = 10 and the code length n is n = 12, the generator polynomial G (x) = x 10 + x 8 + x 6 + x 4 + x 3 + x 2 + x + 1 (reciprocal polynomial: x 10 + x 9 + x 8 + x 7 + X 6 + x 4 + x 2 +1).
(15) When the order r = 10 and the code length n is 23 ≦ n ≦ 31, the generator polynomial G (x) = x 10 + x 9 + x 3 + x + 1 (reciprocal polynomial: x 10 + x 9 + x 7 + x + 1).
(16) When the order r = 10 and the code length n is 32 ≦ n ≦ 511, the generator polynomial G (x) = x 10 + x 5 + x 2 +1 (reciprocal polynomial: x 10 + x 8 + x 5 +1).
(17) When the order r = 10 and the code length n is n ≧ 512, the generator polynomial G (x) = x 10 + x 3 +1 (reciprocal polynomial: x 10 + x 7 +1).
(18) When the order r = 12 and the code length n is n = 13, the generator polynomial G (x) = x 12 + x 11 + x 10 + x 9 + x 8 + x 7 + x 6 + x 5 + x 4 + x 3 + x 2 + x + 1 .
(19) degree r = 12, when the code length n is n = 14, generator polynomial G (x) = x 12 + x 10 + x 8 + x 6 + x 4 + x 3 + x 2 + x + 1 ( reciprocal polynomial: x 12 + x 11 + x 10 + X 9 + x 8 + x 6 + x 4 + x 2 +1).
(20) When the order r = 12, and the code length n is 24 ≦ n ≦ 39, the generator polynomial G (x) = x 12 + x 11 + x 7 + x 3 + x + 1 (reciprocal polynomial: x 12 + x 11 + x 9 + x 5 + x + 1) It is.
(21) When the order r = 12, and the code length n is 40 ≦ n ≦ 65, the generator polynomial G (x) = x 12 + x 10 + x 7 + x 6 + x 5 + x 2 +1.
(22) When the order r = 12, and the code length n is 66 ≦ n ≦ 2047, the generator polynomial G (x) = x 12 + x 7 + x 2 +1 (reciprocal polynomial: x 12 + x 10 + x 5 +1).
(23) When the order r = 12, and the code length n is n ≧ 2048, the generator polynomial G (x) = x 12 + x 7 + x 6 + x 4 +1 (reciprocal polynomial: x 12 + x 8 + x 6 + x 5 +1) .
(24) When the order r = 14 and the code length n is n = 15, the generator polynomial G (x) = x 14 + x 13 + x 12 + x 11 + x 10 + x 9 + x 8 + x 7 + x 6 + x 5 + x 4 + x 3 + x 2 + x + 1.
(25) When the order r = 14 and the code length n is n = 16, the generator polynomial G (x) = x 14 + x 12 + x 10 + x 9 + x 7 + x 5 + x 4 + x 3 + x + 1 (reciprocal polynomial: x 14 + x 13 + X 11 + x 10 + x 9 + x 7 + x 5 + x 4 + x 2 +1).
(26) When the order r = 14 and the code length n is n = 17, the generator polynomial G (x) = x 14 + x 11 + x 8 + x 6 + x 5 + x 3 + x 2 + x + 1 (reciprocal polynomial: x 14 + x 13 + x 12 + x 11 + x 9 + x 8 + x 6 + x 3 +1) is.
(27) When the order r = 14 and the code length n is 28 ≦ n ≦ 71, the generator polynomial G (x) = x 14 + x 10 + x 9 + x 6 + x 2 +1 (reciprocal polynomial: x 14 + x 12 + x 8 + x 5 + X 4 +1).
(28) When the order r = 14 and the code length n is 72 ≦ n ≦ 127, the generator polynomial G (x) = x 14 + x 11 + x 5 + x 3 +1 (reciprocal polynomial: x 14 + x 11 + x 9 + x 3 +1) It is.
(29) the order r = 14, when the code length n is 128 ≦ n ≦ 8191, generator polynomial G (x) = x 14 + x 5 + x 2 +1: a (reciprocal polynomial x 14 + x 12 + x 9 +1).
(30) When the order r = 14 and the code length n is n ≧ 8192, the generator polynomial G (x) = x 14 + x 6 + x 4 + x + 1 (reciprocal polynomial: x 14 + x 13 + x 10 + x 8 +1).
(31) When the order r = 16 and the code length n is n = 17, the generator polynomial G (x) = x 16 + x 15 + x 14 + x 13 + x 12 + x 11 + x 10 + x 9 + x 8 + x 7 + x 6 + x 5 + x 4 + x 3 + x 2 + x + 1.
(32) When the order r = 16 and the code length n is n = 18, the generator polynomial G (x) = x 16 + x 14 + x 12 + x 10 + x 8 + x 6 + x 5 + x 4 + x 3 + x 2 + x + 1 (reciprocal polynomial: x 16 + x 15 + x 14 + x 13 + x 12 + x 11 + x 10 + x 8 + x 6 + x 4 + x 2 +1) is.
(33) When the order r = 16 and the code length n is 19 ≦ n ≦ 21, the generator polynomial G (x) = x 16 + x 13 + x 12 + x 9 + x 7 + x 6 + x 5 + x 4 + x 2 +1 (reciprocal polynomial: x 16 + x 14 + x 12 + x 11 + x 10 + x 9 + x 7 + x 4 + x 3 +1) is.
(34) When the order r = 16 and the code length n is 19 ≦ n ≦ 21, the generator polynomial G (x) = x 16 + x 13 + x 12 + x 9 + x 7 + x 5 + x 4 + x 3 + x 2 +1 (reciprocal polynomial: x 16 + x 14 + x 13 + x 12 + x 11 + x 9 + x 7 + x 4 + x 3 +1) is.
(35) When the order r = 16 and the code length n is n = 22, the generator polynomial G (x) = x 16 + x 13 + x 8 + x 7 + x 6 + x 4 + x 2 + x + 1 (reciprocal polynomial: x 16 + x 15 + x 14 a + x 12 + x 10 + x 9 + x 8 + x 3 +1).
(36) When the order r = 16 and the code length n is 23 ≦ n ≦ 31, the generator polynomial G (x) = x 16 + x 13 + x 11 + x 5 + x 3 + x 2 + x + 1 (reciprocal polynomial: x 16 + x 15 + x 14 + X 13 + x 11 + x 5 + x 3 +1).
(37) When the order r = 16 and the code length n is 36 ≦ n ≦ 151, the generator polynomial G (x) = x 16 + x 15 + x 13 + x 8 + x 5 + x 3 + x + 1 (reciprocal polynomial: x 16 + x 15 + x 13 + x 11 + x 8 + x 3 + x + 1) it is.
(38) When the order r = 16 and the code length n is 152 ≦ n ≦ 257, the generator polynomial G (x) = x 16 + x 15 + x 8 + x + 1.
(39) the order r = 16, when the code length n is 258 ≦ n ≦ 32767, generator polynomial G (x) = x 16 + x 13 + x 2 +1: a (reciprocal polynomial x 16 + x 14 + x 3 +1).
(40) When the order r = 16 and the code length n is n ≧ 32768, the generator polynomial G (x) = x 16 + x 9 + x 7 + x 4 +1 (reciprocal polynomial: x 16 + x 12 + x 9 + x 7 +1) .
以上のごとく、本発明の実施の形態によれば、種々の条件に則した生成多項式G(x)を求めることができた。
なお、上記列挙した生成多項式G(x)について、符号長nがnmin =nmaxの場合と、nmin ≠nmax の場合とに2分割して整理することもできる。
As described above, according to the embodiment of the present invention, the generator polynomial G (x) conforming to various conditions can be obtained.
Note that the generator polynomials G (x) listed above can be organized into two parts when the code length n is n min = n max and when n min ≠ n max .
CRC符号化方法およびCRC符号化回路
上述した生成多項式G(x)を、たとえば、図2に示したCRCパリティ生成器110、または、図5に示したCRCパリティ検査器341に適用できる。
たとえば、図2に示したCRCパリティ生成器110について、図3または図4に回路構成を示したように、生成多項式G(x)の次数に応じて設けられるシフトレジスタと排他的論理和回路を巡回的に接続する。排他的論理和回路は生成多項式G(x)の係数に応じて設け、最終段の排他的論理和回路、たとえば、図3の第2排他的論理和回路EXOR2の出力を、前段に位置する他の排他的論理和回路に入力する回路構成とする。
このように、生成多項式G(x)が上述のように求められると、シフトレジスタと排他的論理和回路とを用いて、CRC符号化回路を容易に構成することができる。
CRCパリティ検査器341についても同様である。
CRC Encoding Method and CRC Encoding Circuit The generator polynomial G (x) described above can be applied to, for example, the
For example, the
Thus, when the generator polynomial G (x) is obtained as described above, the CRC encoding circuit can be easily configured using the shift register and the exclusive OR circuit.
The same applies to the
表1−A〜1−Cや、図10、図11の例示から理解されるように、これまで広く用いられている比較例の生成多項式は、ある符号長範囲においては、限界値(Bound)に近接した特性を示すが、それ以外の部分においては、符号の最小ハミング距離(d min)・未検出誤り確率(Pud)特性において、限界値と比べて大きく劣化する。
それと比較すると、本発明による選択方法に基づく実施例においては、全ての符号長nにおいて限界値に近接した特性が得られる。
As can be understood from Tables 1-A to 1-C and the examples of FIGS. 10 and 11, the generator polynomial of the comparative example widely used so far has a limit value (Bound) in a certain code length range. In the other portions, the minimum hamming distance (d min ) / undetected error probability (P ud ) characteristics of the code are greatly deteriorated compared to the limit value.
In comparison, in the embodiment based on the selection method according to the present invention, characteristics close to the limit value can be obtained for all code lengths n.
このように、本発明の好適な実施の形態による、生成多項式を用いて生成されるCRC符号化方式を用いることで、従来から広く用いられている生成多項式を用いる場合に比べ、所望のパリティビットおよび符号長において、符号の未検出誤り確率を低く抑えることが出来、かつ、符号の最小ハミング距離が最大値をとることで、ランダム誤り検出能力を最大にすることが出来る。 As described above, by using the CRC encoding method generated by using the generator polynomial according to the preferred embodiment of the present invention, a desired parity bit can be obtained as compared with the case of using a generator polynomial widely used conventionally. In the code length, the undetected error probability of the code can be kept low, and the random error detection capability can be maximized by taking the maximum value of the minimum hamming distance of the code.
さらに、nmin (r、Max.d min )≦n≦nmax (r,Max.d min)の符号長範囲において生成多項式G(x)がd min=Max.d minかつPud≒限界値(Bound)を満たしているので、符号長nが変化する場合でも、この符号長範囲内であれば単一の生成多項式で対応することが可能である。 Furthermore, the generator polynomial G (x) is d min = Max. In the code length range of n min (r, Max.d min ) ≦ n ≦ n max (r, Max.d min ). Since d min and P ud ≈limit value (Bound) are satisfied, even if the code length n changes, it is possible to cope with a single generator polynomial as long as it is within this code length range.
さらに、nmin (r、Max.d min)≦n≦nmax (r,Max.d min)の符号長範囲において、常に、符号の最小ハミング距離(d min)が最大値をとる生成多項式G(x)の中で、最小の項数wのものを用いているので、回路に実装するときの回路規模も少なくて済む。 Furthermore, in the code length range of n min (r, Max.d min ) ≦ n ≦ n max (r, Max.d min ), the generator polynomial G in which the minimum hamming distance (d min ) of the code always takes the maximum value. In (x), the one with the minimum number of terms w is used, so that the circuit scale when mounted on the circuit can be reduced.
また、符号長nと符号の未検出誤り確率Pudが決まれば、それを満たすために必要なパリティ数(次数r)が分かるので、そのパリティ数r、符号長nにおいて選択された生成多項式G(x)を用いることで、所望の未検出誤り確率を実現することが出来る。 Further, if the code length n and the undetected error probability P ud of the code are determined, the number of parity (order r) necessary to satisfy the code length n can be known. Therefore, the generator polynomial G selected for the parity number r and the code length n. By using (x), a desired undetected error probability can be realized.
1…送信装置
11…CRC符号器
110…CRCパリティ生成器、111…第1セレクタ
112…第2セレクタ、113…ビット数カウンタ
12…誤り訂正符号器、13…伝送路符号器
2…伝送路
3…受信装置
31…符号検出器、32…伝送路復号器、33…誤り訂正復号器
34…CRC検出器
341…CRCパリティ検査器、342…比較器
DESCRIPTION OF
110: CRC parity generator, 111: First selector
DESCRIPTION OF
341 ... CRC parity checker, 342 ... comparator
Claims (9)
kビットの情報語を持ち、該情報語についてrビットのパリティが付加された符号長(n)の符号の各符号長(n)における最小ハミング距離(d min )の最大値である最大・最小ハミング距離(Max.d min )を求める第1工程と、
符号の最大・最小ハミング距離(Max.d min )の変化する符号長(n)を求め、その符号長nの範囲(nmin (r,Max.d min )≦n≦nmax (r,Max.d min ))を求める第2工程と、
前記符号長(n)の範囲(nmin (r,Max.d min )≦n≦nmax (r,Max.d min ))において、常に、符号の最小ハミング距離(d min )が最大・最小ハミング距離(Max.d min )と等しい条件(d min =Max.d min )を満たす生成多項式(G(x))を全検索によって見いだす第3工程と、
前記全検索によって見いだした生成多項式(G(x))の中から、項数(w)、符号の未検出誤り確率(Pud)も最小のものを選び出す第4工程と
を備えたCRC生成多項式の選択方法。 A method of selecting a generator polynomial used to CRC check a CRC code and / or CRC code result, comprising:
Maximum / minimum which is the maximum value of the minimum hamming distance (d min ) in each code length (n) of a code having a code length (n) having k-bit information words to which r-bit parity is added. A first step for obtaining a Hamming distance (Max.d min );
The code length (n) in which the maximum / minimum Hamming distance (Max.d min ) of the code changes is obtained, and the range of the code length n (n min (r, Max.d min ) ≦ n ≦ n max (r, Max) .D min )) second step,
In the range of the code length (n) (n min (r, Max. D min ) ≦ n ≦ n max (r, Max. D min )), the minimum hamming distance (d min ) of the code is always the maximum / minimum. A third step of finding a generator polynomial (G (x)) satisfying a condition (d min = Max.d min ) equal to the Hamming distance (Max.d min ) by full search;
A CRC generating polynomial comprising: a fourth step of selecting the number of terms (w) and the minimum undetected error probability (P ud ) of the code from the generating polynomial (G (x)) found by the full search How to choose.
周期(p)が最大符号長(nmax (r,Max.d min ))以上であり(p≧nmax (r,Max.d min ))、かつ、(nmax ,nmax −r)の符号について最小ハミング距離(d min )が最大・最小ハミング距離(Max.d min )と等しい条件(d min =Max.d min )を満たす生成多項式G(x)を全検索により見付ける工程と、
前記全検索により見いだした生成多項式(G(x))の中から、項数(w)が最小の生成多項式(G(x))を選ぶ工程と、
前記選択した生成多項式(G(x))について、符号の未検出誤り確率(Pud)が最小になる生成多項式(G(x))を見いだす工程と、
を有する、
請求項1に記載のCRC生成多項式の選択方法。 The third and fourth steps include
The period (p) is not less than the maximum code length (n max (r, Max. D min )) (p ≧ n max (r, Max. D min )) and (n max , n max −r) a step of finding a full search for the minimum Hamming distance (d min) is the generator polynomial G satisfying the maximum and minimum Hamming distance (Max.d min) equal conditions (d min = Max.d min) ( x) for code,
Selecting a generator polynomial (G (x)) having the smallest number of terms (w) from generator polynomials (G (x)) found by the full search;
For the selected generator polynomial (G (x)), finding a generator polynomial (G (x)) that minimizes the undetected error probability (P ud ) of the code;
Having
The CRC generator polynomial selection method according to claim 1.
請求項2に記載のCRC生成多項式の選択方法。 In the step of searching and selecting the generator polynomial G (x), the maximum / minimum Hamming distance (Max.d min ) is Max. For d min = 2, in the generator polynomial G (x) whose period (p) has the maximum period 2 r −1 (which is a primitive polynomial), the number of terms w of the generator polynomial and the undetected error of the code The method for selecting a CRC generator polynomial according to claim 2, wherein a generator polynomial G (x) having a minimum probability P ud is selected.
CRC生成多項式の選択方法。 In any one of claims 1 to 3, a n min ≠ n max,
CRC generator polynomial selection method.
1.r=3、n=4のとき、生成多項式G(x)=x3+x2+x+1である、
2.r=6、n=7のとき、生成多項式G(x)=x6+x5+x4+x3+x2+x+1である、
3.r=6、n=8のとき、生成多項式G(x)=x6+x4+x2+x+1(相反多項式:x6+x5+x4+x2+1)である、
4.r=6、n=8のとき、生成多項式G(x)=x6+x4+x3+x+1(相反多項式:x6+x5+x3+x2+1)である、
5.r=6、n=8のとき、生成多項式G(x)=x6+x5+x3+x+1である、
6.r=8、n=9のとき、生成多項式G(x)=x8+x7+x6+x5+x4+x3+x2+x+1である、
7.r=10、n=11のとき、生成多項式G(x)=x10+x9+x8+x7+x6+x5+x4+x3+x2+x+1である、
8.r=10、n=12のとき、生成多項式G(x)=x10+x8+x6+x4+x3+x2+x+1(相反多項式:x10+x9+x8+x7+x6+x4+x2+1)である、
9.r=12、n=13のとき、生成多項式G(x)=x12+x11+x10+x9+x8+x7+x6+x5+x4+x3+x2+x+1である、
10.r=12、n=14のとき、生成多項式G(x)=x12+x10+x8+x6+x4+x3+x2+x+1(相反多項式:x12+x11+x10+x9+x8+x6+x4+x2+1)である、
11.r=14、n=15のとき、生成多項式G(x)=x14+x13+x12+x11+x10+x9+x8+x7+x6+x5+x4+x3+x2+x+1である、
12.r=14、n=16のとき、生成多項式G(x)=x14+x12+x10+x9+x7+x5+x4+x3+x+1(相反多項式:x14+x13+x11+x10+x9+x7+x5+x4+x2+1)である、
13.r=14、n=17のとき、生成多項式G(x)=x14+x11+x8+x6+x5+x3+x2+x+1(相反多項式:x14+x13+x12+x11+x9+x8+x6+x3+1)である、
14.r=16、n=17のとき、生成多項式G(x)=x16+x15+x14+x13+x12+x11+x10+x9+x8+x7+x6+x5+x4+x3+x2+x+1である、
15.r=16、n=18のとき、生成多項式G(x)=x16+x14+x12+x10+x8+x6+x5+x4+x3+x2+x+1(相反多項式:x16+x15+x14+x13+x12+x11+x10+x8+x6+x4+x2+1)である、
16.r=16、n=22のとき、生成多項式G(x)=x16+x13+x8+x7+x6+x4+x2+x+1(相反多項式:x16+x15+x14+x12+x10+x9+x8+x3+1)である。 A method for selecting a CRC generator polynomial, wherein one of the following generator polynomials G (x) is selected by the method for selecting a CRC generator polynomial according to claim 1.
1. When r = 3 and n = 4, the generator polynomial G (x) = x 3 + x 2 + x + 1.
2. When r = 6 and n = 7, the generator polynomial G (x) = x 6 + x 5 + x 4 + x 3 + x 2 + x + 1.
3. When r = 6 and n = 8, the generator polynomial G (x) = x 6 + x 4 + x 2 + x + 1 (reciprocal polynomial: x 6 + x 5 + x 4 + x 2 +1).
4). When r = 6 and n = 8, the generator polynomial G (x) = x 6 + x 4 + x 3 + x + 1 (reciprocal polynomial: x 6 + x 5 + x 3 + x 2 +1).
5. When r = 6 and n = 8, the generator polynomial G (x) = x 6 + x 5 + x 3 + x + 1.
6). When r = 8 and n = 9, the generator polynomial G (x) = x 8 + x 7 + x 6 + x 5 + x 4 + x 3 + x 2 + x + 1.
7). When r = 10 and n = 11, the generator polynomial G (x) = x 10 + x 9 + x 8 + x 7 + x 6 + x 5 + x 4 + x 3 + x 2 + x + 1
8). When r = 10 and n = 12, the generator polynomial G (x) = x 10 + x 8 + x 6 + x 4 + x 3 + x 2 + x + 1 (reciprocal polynomial: x 10 + x 9 + x 8 + x 7 + x 6 + x 4 + x 2 +1) Is,
9. When r = 12, n = 13, the generator polynomial G (x) = x 12 + x 11 + x 10 + x 9 + x 8 + x 7 + x 6 + x 5 + x 4 + x 3 + x 2 + x + 1
10. When r = 12, n = 14, the generator polynomial G (x) = x 12 + x 10 + x 8 + x 6 + x 4 + x 3 + x 2 + x + 1 (reciprocal polynomial: x 12 + x 11 + x 10 + x 9 + x 8 + x 6 + x 4 + X 2 +1),
11. When r = 14 and n = 15, the generator polynomial G (x) = x 14 + x 13 + x 12 + x 11 + x 10 + x 9 + x 8 + x 7 + x 6 + x 5 + x 4 + x 3 + x 2 + x + 1
12 When r = 14 and n = 16, the generator polynomial G (x) = x 14 + x 12 + x 10 + x 9 + x 7 + x 5 + x 4 + x 3 + x + 1 (reciprocal polynomial: x 14 + x 13 + x 11 + x 10 + x 9 + x 7 + X 5 + x 4 + x 2 +1),
13. When r = 14 and n = 17, the generator polynomial G (x) = x 14 + x 11 + x 8 + x 6 + x 5 + x 3 + x 2 + x + 1 (reciprocal polynomial: x 14 + x 13 + x 12 + x 11 + x 9 + x 8 + x 6 + X 3 +1),
14 When r = 16 and n = 17, the generator polynomial G (x) = x 16 + x 15 + x 14 + x 13 + x 12 + x 11 + x 10 + x 9 + x 8 + x 7 + x 6 + x 5 + x 4 + x 3 + x 2 + x + 1 ,
15. When r = 16 and n = 18, the generator polynomial G (x) = x 16 + x 14 + x 12 + x 10 + x 8 + x 6 + x 5 + x 4 + x 3 + x 2 + x + 1 (reciprocal polynomial: x 16 + x 15 + x 14 + x 13 + X 12 + x 11 + x 10 + x 8 + x 6 + x 4 + x 2 +1)
16. When r = 16 and n = 22, the generator polynomial G (x) = x 16 + x 13 + x 8 + x 7 + x 6 + x 4 + x 2 + x + 1 (reciprocal polynomial: x 16 + x 15 + x 14 + x 12 + x 10 + x 9 + x 8 + X 3 +1).
1.r=4、6≦n≦7のとき、生成多項式G(x)=x4+x2+x+1(相反多項式:x4+x3+x2+1)である、
2.r=6、9≦n≦31のとき、生成多項式G(x)=x6+x2+x+1(相反多項式:x6+x5+x4+1)である、
3.r=8、10≦n≦12のとき、生成多項式G(x)=x8+x5+x4+x3+x+1(相反多項式:x8+x7+x5+x4+x3+1)である、
4.r=8、10≦n≦12のとき、生成多項式G(x)=x8+x6+x3+x2+x+1(相反多項式:x8+x7+x6+x5+x2+1)である、
5.r=8、18≦n≦127のとき、生成多項式G(x)=x8+x4+x+1(相反多項式:x8+x7+x4+1)である、
6.r=8、n≧128のとき、生成多項式G(x)=x8+x5+x3+x2+1(相反多項式:x8+x6+x5+x3+1)である、
7.r=10、23≦n≦31のとき、生成多項式G(x)=x10+x9+x3+x+1(相反多項式:x10+x9+x7+x+1)である、
8.r=10、32≦n≦511のとき、生成多項式G(x)=x10+x5+x2+1(相反多項式:x10+x8+x5+1)である、
9.r=10、n≧512のとき、生成多項式G(x)=x10+x3+1(相反多項式:x10+x7+1)である、
10.r=12、24≦n≦39のとき、生成多項式G(x)=x12+x11+x7+x3+x+1(相反多項式:x12+x11+x9+x5+x+1)である、
11.r=12、40≦n≦65のとき、生成多項式G(x)=x12+x10+x7+x6+x5+x2+1である、
12.r=12、66≦n≦2047のとき、生成多項式G(x)=x12+x7+x2+1(相反多項式:x12+x10+x5+1)である、
13.r=12、n≧2048のとき、生成多項式G(x)=x12+x7+x6+x4+1(相反多項式:x12+x8+x6+x5+1)である、
14.r=14、28≦n≦71のとき、生成多項式G(x)=x14+x10+x9+x6+x2+1(相反多項式:x14+x12+x8+x5+x4+1)である、
15.r=14、72≦n≦127のとき、生成多項式G(x)=x14+x11+x5+x3+1(相反多項式:x14+x11+x9+x3+1)である、
16.r=14、128≦n≦8191のとき、生成多項式G(x)=x14+x5+x2+1(相反多項式:x14+x12+x9+1)である、
17.r=14、n≧8192のとき、生成多項式G(x)=x14+x6+x4+x+1(相反多項式:x14+x13+x10+x8+1)である、
18.r=16、19≦n≦21のとき、生成多項式G(x)=x16+x13+x12+x9+x7+x6+x5+x4+x2+1(相反多項式:x16+x14+x12+x11+x10+x9+x7+x4+x3+1)である、
19.r=16、19≦n≦21のとき、生成多項式G(x)=x16+x13+x12+x9+x7+x5+x4+x3+x2+1(相反多項式:x16+x14+x13+x12+x11+x9+x7+x4+x3+1)である、
20.r=16、23≦n≦31のとき、生成多項式G(x)=x16+x13+x11+x5+x3+x2+x+1(相反多項式:x16+x15+x14+x13+x11+x5+x3+1)である、
21.r=16、36≦n≦151のとき、生成多項式G(x)=x16+x15+x13+x8+x5+x3+x+1(相反多項式:x16+x15+x13+x11+x8+x3+x+1)である、
22.r=16、152≦n≦257のとき、生成多項式G(x)=x16+x15+x8+x+1である、
23.r=16、258≦n≦32767のとき、生成多項式G(x)=x16+x13+x2+1(相反多項式:x16+x14+x3+1)である、
24.r=16、n≧32768のとき、生成多項式G(x)=x16+x9+x7+x4+1(相反多項式:x16+x12+x9+x7+1)である。 The method for selecting a CRC generator polynomial according to claim 4, wherein one of the following generator polynomials G (x) is selected.
1. When r = 4 and 6 ≦ n ≦ 7, the generator polynomial G (x) = x 4 + x 2 + x + 1 (reciprocal polynomial: x 4 + x 3 + x 2 +1).
2. When r = 6 and 9 ≦ n ≦ 31, the generator polynomial G (x) = x 6 + x 2 + x + 1 (reciprocal polynomial: x 6 + x 5 + x 4 +1).
3. When r = 8 and 10 ≦ n ≦ 12, the generator polynomial G (x) = x 8 + x 5 + x 4 + x 3 + x + 1 (reciprocal polynomial: x 8 + x 7 + x 5 + x 4 + x 3 +1).
4). When r = 8 and 10 ≦ n ≦ 12, the generator polynomial G (x) = x 8 + x 6 + x 3 + x 2 + x + 1 (reciprocal polynomial: x 8 + x 7 + x 6 + x 5 + x 2 +1).
5. When r = 8 and 18 ≦ n ≦ 127, the generator polynomial G (x) = x 8 + x 4 + x + 1 (reciprocal polynomial: x 8 + x 7 + x 4 +1).
6). When r = 8 and n ≧ 128, the generator polynomial G (x) = x 8 + x 5 + x 3 + x 2 +1 (reciprocal polynomial: x 8 + x 6 + x 5 + x 3 +1).
7). When r = 10 and 23 ≦ n ≦ 31, the generator polynomial G (x) = x 10 + x 9 + x 3 + x + 1 (reciprocal polynomial: x 10 + x 9 + x 7 + x + 1).
8). When r = 10 and 32 ≦ n ≦ 511, the generator polynomial G (x) = x 10 + x 5 + x 2 +1 (reciprocal polynomial: x 10 + x 8 + x 5 +1).
9. When r = 10 and n ≧ 512, the generator polynomial G (x) = x 10 + x 3 +1 (reciprocal polynomial: x 10 + x 7 +1).
10. When r = 12, 24 ≦ n ≦ 39, the generator polynomial G (x) = x 12 + x 11 + x 7 + x 3 + x + 1 (reciprocal polynomial: x 12 + x 11 + x 9 + x 5 + x + 1).
11. When r = 12, 40 ≦ n ≦ 65, the generator polynomial G (x) = x 12 + x 10 + x 7 + x 6 + x 5 + x 2 +1.
12 When r = 12, 66 ≦ n ≦ 2047, the generator polynomial G (x) = x 12 + x 7 + x 2 +1 (reciprocal polynomial: x 12 + x 10 + x 5 +1).
13. When r = 12, n ≧ 2048, the generator polynomial G (x) = x 12 + x 7 + x 6 + x 4 +1 (reciprocal polynomial: x 12 + x 8 + x 6 + x 5 +1).
14 When r = 14 and 28 ≦ n ≦ 71, the generator polynomial G (x) = x 14 + x 10 + x 9 + x 6 + x 2 +1 (reciprocal polynomial: x 14 + x 12 + x 8 + x 5 + x 4 +1).
15. When r = 14 and 72 ≦ n ≦ 127, the generator polynomial G (x) = x 14 + x 11 + x 5 + x 3 +1 (reciprocal polynomial: x 14 + x 11 + x 9 + x 3 +1).
16. When r = 14 and 128 ≦ n ≦ 8191, the generator polynomial G (x) = x 14 + x 5 + x 2 +1 (reciprocal polynomial: x 14 + x 12 + x 9 +1).
17. When r = 14 and n ≧ 8192, the generator polynomial G (x) = x 14 + x 6 + x 4 + x + 1 (reciprocal polynomial: x 14 + x 13 + x 10 + x 8 +1).
18. When r = 16 and 19 ≦ n ≦ 21, the generator polynomial G (x) = x 16 + x 13 + x 12 + x 9 + x 7 + x 6 + x 5 + x 4 + x 2 +1 (reciprocal polynomial: x 16 + x 14 + x 12 + x 11 + X 10 + x 9 + x 7 + x 4 + x 3 +1)
19. When r = 16 and 19 ≦ n ≦ 21, the generator polynomial G (x) = x 16 + x 13 + x 12 + x 9 + x 7 + x 5 + x 4 + x 3 + x 2 +1 (reciprocal polynomial: x 16 + x 14 + x 13 + x 12 + X 11 + x 9 + x 7 + x 4 + x 3 +1)
20. When r = 16 and 23 ≦ n ≦ 31, the generator polynomial G (x) = x 16 + x 13 + x 11 + x 5 + x 3 + x 2 + x + 1 (reciprocal polynomial: x 16 + x 15 + x 14 + x 13 + x 11 + x 5 + x 3 +1),
21. When r = 16, 36 ≦ n ≦ 151, the generator polynomial G (x) = x 16 + x 15 + x 13 + x 8 + x 5 + x 3 + x + 1 (reciprocal polynomial: x 16 + x 15 + x 13 + x 11 + x 8 + x 3 + x + 1) Is,
22. When r = 16 and 152 ≦ n ≦ 257, the generator polynomial G (x) = x 16 + x 15 + x 8 + x + 1.
23. When r = 16 , 258 ≦ n ≦ 32767, the generator polynomial G (x) = x 16 + x 13 + x 2 +1 (reciprocal polynomial: x 16 + x 14 + x 3 +1).
24. When r = 16 and n ≧ 32768, the generator polynomial G (x) = x 16 + x 9 + x 7 + x 4 +1 (reciprocal polynomial: x 16 + x 12 + x 9 + x 7 +1).
CRC符号化回路。 The generator polynomial G (x) selected according to any one of claims 1 to 6 is cyclically connected to a shift register and an exclusive OR circuit provided according to the coefficient of the generator polynomial G (x); The circuit configuration is such that the output of the exclusive OR circuit at the final stage is input to the exclusive OR circuit provided according to the coefficient of the generator polynomial G (x).
CRC encoding circuit.
符号長nおよび次数rによって規定されるCRC符号の最小ハミング距離最大値Max.d min 、次数rのもとで符号の最小ハミング距離最大値Max.d min が一定となる符号長nの範囲をnmin ≦n≦nmax としたとき(ただし、nmin は最小符号長であり、nmax は最大符号長である)、周期p≧最大符号長nmax 、もしくは、周期p=2r −1、かつ、nmin ≦n≦nmax の条件下において、
符号の最小ハミング距離d min がd min =Max.d min を満たす生成多項式G(x)のなかで、生成多項式G(x)の項数が最小となり、かつ、2次元対称通信路における符号の未検出誤り確率が最小となる生成多項式G(x)を用いる、
CRC符号化方法。
A CRC encoding method for encoding a CRC code having a code length n using a generator polynomial G (x) of degree (parity number) r and period p,
The minimum Hamming distance maximum value Max. Of the CRC code defined by the code length n and the order r. d min , the minimum hamming distance of the code Max. When the range of code length n where d min is constant is defined as n min ≦ n ≦ n max (where n min is the minimum code length and n max is the maximum code length), period p ≧ maximum code length n max or period p = 2 r −1 and n min ≦ n ≦ n max
The minimum hamming distance d min of the code is d min = Max. Among generator polynomials G (x) satisfying dmin , the generator polynomial G (x) has the smallest number of terms in the generator polynomial G (x) and the smallest undetected error probability of the code in the two-dimensional symmetric channel. ),
CRC encoding method.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004370796A JP4379329B2 (en) | 2004-12-22 | 2004-12-22 | CRC generator polynomial selection method, CRC encoding method, and CRC encoding circuit |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004370796A JP4379329B2 (en) | 2004-12-22 | 2004-12-22 | CRC generator polynomial selection method, CRC encoding method, and CRC encoding circuit |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2006180172A JP2006180172A (en) | 2006-07-06 |
| JP4379329B2 true JP4379329B2 (en) | 2009-12-09 |
Family
ID=36733852
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004370796A Expired - Fee Related JP4379329B2 (en) | 2004-12-22 | 2004-12-22 | CRC generator polynomial selection method, CRC encoding method, and CRC encoding circuit |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4379329B2 (en) |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101110975B1 (en) * | 2007-07-10 | 2012-03-14 | 미쓰비시덴키 가부시키가이샤 | Transmitter apparatus and communication system |
| US7853857B2 (en) | 2007-09-14 | 2010-12-14 | Motorola Mobility, Inc. | Multi-layer cyclic redundancy check code in wireless communication system |
| JP5298621B2 (en) * | 2007-12-21 | 2013-09-25 | ソニー株式会社 | Transmitting apparatus and method, receiving apparatus and method |
| EP2075918A3 (en) * | 2007-12-21 | 2012-09-12 | Sony Corporation | Transmission apparatus and method, reception apparatus and method, and program |
| JP4798164B2 (en) | 2008-04-02 | 2011-10-19 | ソニー株式会社 | Transmitting apparatus and method, receiving apparatus and method, and program |
| CN108418658B (en) * | 2017-09-08 | 2019-03-26 | 华为技术有限公司 | Coding method and device |
| CN116707708A (en) * | 2023-06-14 | 2023-09-05 | 北京航空航天大学 | A detection method for reducing the missed detection error rate of AFDX network transmission data |
-
2004
- 2004-12-22 JP JP2004370796A patent/JP4379329B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2006180172A (en) | 2006-07-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5298622B2 (en) | Transmitting apparatus and method, receiving apparatus and method | |
| US8341510B2 (en) | CRC generator polynomial select method, CRC coding method and CRC coding circuit | |
| JP5127189B2 (en) | Error detection and correction method based on error detection code and apparatus suitable therefor | |
| US5349589A (en) | Generalized viterbi algorithm with tail-biting | |
| US8495462B1 (en) | Absorb decode algorithm for 10gbase-t LDPC decoder | |
| US8745469B2 (en) | Signal segmentation method and CRC attachment method for reducing undetected error | |
| EP1931034A2 (en) | Error correction method and apparatus for predetermined error patterns | |
| JP2001036417A (en) | Error correction coding apparatus, method and medium, and error correction code decoding apparatus, method and medium | |
| EP3713096B1 (en) | Method and device for decoding staircase code, and storage medium | |
| US20050210358A1 (en) | Soft decoding of linear block codes | |
| CN101983481B (en) | Transmission device and method, reception device and method, and program | |
| US6895546B2 (en) | System and method for encoding and decoding data utilizing modified reed-solomon codes | |
| JP3756525B2 (en) | Decoding method of data signal using fixed length decision window | |
| JP4379329B2 (en) | CRC generator polynomial selection method, CRC encoding method, and CRC encoding circuit | |
| EP2075918A2 (en) | Transmission apparatus and method, reception apparatus and method, and program | |
| CN1399815A (en) | Method and apparatus for correction of errors in fire codes used in GSM control channels | |
| US8503585B2 (en) | Decoding method and associated apparatus | |
| CN121173314A (en) | LDPC-CRC concatenated code decoding method and device for high-precision BeiDou satellite navigation receiver | |
| MXPA98009332A (en) | Method for decoding data signals using length decision window f |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070522 |
|
| 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: 20090825 |
|
| 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: 20090907 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121002 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121002 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131002 Year of fee payment: 4 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |