[go: up one dir, main page]

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 PDF

Info

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
Application number
JP2004370796A
Other languages
Japanese (ja)
Other versions
JP2006180172A (en
Inventor
仁 品川
啓太郎 近藤
誠 野田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2004370796A priority Critical patent/JP4379329B2/en
Publication of JP2006180172A publication Critical patent/JP2006180172A/en
Application granted granted Critical
Publication of JP4379329B2 publication Critical patent/JP4379329B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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 transmission device 1 and a reception device 3 are connected via a transmission line 2.
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 transmission device 1. It is done.
In the transmission apparatus 1, an input information sequence in which a plurality of information words (data) to be CRC-encoded to be transmitted is continuous is input to the CRC encoder 11 and subjected to CRC encoding. Details of the CRC encoder 11 will be described later with reference to FIG. The CRC-encoded information is then input to the error correction encoder 12, where it is subjected to error correction encoding such as a Reed-Solomon code. The error-corrected encoded information is then input to the transmission path encoder 13, subjected to transmission path encoding processing corresponding to the transmission path 2, and sent to the transmission path 2.
The signal passing through the transmission path 2 is detected by the code detector 31 of the receiving device 3, and the detected information is input to the transmission path decoder 32. The error correction decoder 33 performs error correction, such as a Reed-Solomon code, on the detected information series decoded by the transmission path decoder 32 in accordance with the processing of the error correction encoder 12. The error corrected information is then input to the CRC detector 34. The CRC detector 34 performs CRC processing on the error-corrected detection sequence, determines whether the error correction is correctly performed (whether there is an error in the detection sequence), and outputs the result as a coincidence signal. .
Details of the CRC detector 34 will be described later with reference to FIG.

CRC検出器34から出力された一致信号は、たとえば、情報記録装置のドライブのコントローラにおいて再送信要求を行うなどによる信頼性向上に用いられる。
CRC符号のその他の用途として、たとえば、符号検出器におけるポストプロセッサの一部として用いられたり、ヘッダ情報や、パケット通信における送信パケットに対しても用いられる。また、誤り訂正用の消失フラグとしても用いられる。
The coincidence signal output from the CRC detector 34 is used, for example, for improving reliability by making a retransmission request in the controller of the drive of the information recording apparatus.
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 following expression 2 by using the (r-1) th order) and the quotient polynomial Q (x) according to the following expression 1.

[数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 Equations 1 and 2, the code polynomial is W (x) = Q (x) G (x). Therefore, the sign polynomial W (x) is divisible by the generator polynomial G (x).

以上の観点の下、たとえば、図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 receiving device 3 receives the transmission of the code polynomial W (x) to the receiving device 3 via the transmission path 2, the CRC of the receiving device 3 is received. The detector 34 checks whether the reception polynomial Y (x) is divisible by the generator polynomial G (x).
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 transmission path 2. If the reception polynomial Y (x) is not divisible by the generator polynomial G (x), the reception polynomial Y (x) is not the code polynomial W (x). Can be judged (can be estimated).

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 encoder 11 of the transmission apparatus 1 in FIG. It is possible to make a device relatively easily using the sum.

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 transmission apparatus 1 in FIG. 1 when the generator polynomial G (x) = x 3 + x + 1 when the number of parity bits (order) r = 3 is set. ) A configuration example of 11 will be described with reference to FIG.
FIG. 2 is a diagram illustrating a configuration example of the CRC encoder 11 that generates the code polynomial W (x) from the information polynomial M (x).
The CRC encoder 11 includes a CRC parity generator 110, a first selector 111, a second selector 112, and a bit number counter 113.
The CRC parity generator 110 generates an r-bit CRC parity for the k-bit information bit sequence and outputs the CRC parity to the first selector 111. A method of generating parity in the CRC parity generator 110 will be described with reference to FIGS.
The second selector 112 outputs the input information bit sequence based on the state control signal S 1 from the bit number counter 113 during a period in which the k-bit information bit sequence is input to the “0” input terminal. In addition, when the input of the information bit sequence to the “0” input terminal is completed, the second selector 112 is generated by the CRC parity generator 110 that is input to the “1” input terminal via the first selector 111. Output r-bit parity. As described above, the second selector 112 of the CRC encoder 11 receives “k-bit information bit sequence”, followed by “r-bit parity bits generated by the CRC parity generator 110 based on the information bit sequence”. Is output. As described above, the code bit sequence output from the second selector 112 is a code bit sequence having a code length n = k + r, which includes “k-bit information bit sequence” and “r-bit parity bit”.

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 CRC parity generator 110 and the first selector 111 will be described.
FIG. 3 shows a circuit example of the CRC parity generator 110 when the generator polynomial G (x) is G (x) = x 3 + x + 1.
The CRC parity generator 110 in FIG. 3 includes a first shift register R00, a first exclusive OR (EXOR) circuit EXOR1, a second shift register R01, a third shift register R02, and a second exclusive OR circuit EXOR2. Are connected in a cyclic manner, and the output of the second exclusive OR circuit EXOR2 is input to the first exclusive OR circuit EXOR1.

なお、生成多項式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 CRC parity generator 110 when the generator polynomial G (x) = x 4 + x 3 + x 2 + x + 1.
The CRC parity generator 110 of FIG. 4 includes a first shift register R00, a first exclusive OR (EXOR) circuit EXOR1, a second shift register R01, a second exclusive OR circuit EXOR2, a third shift register R02, 3 exclusive OR circuit EXOR3, 4th shift register R03, and 4th exclusive OR circuit EXOR4 are connected cyclically, and the output of 4th exclusive OR circuit EXOR4 is 1st, 2 and 3 exclusive. The signals are input to the logical sum circuits EXOR1, EXOR2, and EXOR3.

図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 CRC parity generator 110 is configured based on a generator polynomial G (x). In other words, as can be understood from the illustrations of FIG. 3 and FIG. 4, when the generator polynomial G (x) is determined, the CRC parity generator 110 cyclically connects the shift register and the exclusive OR circuit to the final stage. An exclusive OR circuit, for example, a circuit that applies the output of the second exclusive OR circuit EXOR2 in FIG. 3 or the fourth exclusive OR circuit EXOR4 in FIG. 4 to the exclusive OR circuit in the preceding stage can be configured.
The operation of the CRC parity generator 110 illustrated in FIG. 3 will be described below. The operation of the CRC parity generator 110 illustrated in FIG. 4 is basically the same as the operation of the CRC parity generator 110 illustrated in FIG.

図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 device 110.
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 CRC parity generator 110 are the respective orders of the remainder polynomial R (x). Gives the coefficient of. That is, the remainder polynomial R (x) is R (x) = (retained content of R02) × x 2 + (retained content of R01) × x + (retained content of R00).
Therefore, when the zero-order term of this information bit sequence has been input to the CRC parity generator 110, the enable signal E0 output from the control circuit (not shown in FIG. 2) is disabled (inactive state), and the CRC The values held in the first to third shift registers R00, R01, R02 of the parity generator 110 are held and output to the first selector 111.

図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 CRC parity generator 110 whose circuit configuration is illustrated in FIG. 3 to the three input terminals 00, 01, and 10 of the first selector 111 are the shift registers R00, Outputs R00 out , R01 out , R02 out of R01, R02, and the first selector 111 has three input terminals 00, 01, 10 according to a first select signal S0 output from a control circuit (not shown in FIG. 2). , One of the outputs R00 out , R01 out , and R02 out from the CRC parity generator 110 are sequentially selected and output to the “1” input terminal of the second selector 112.
The second selector 112 operates in accordance with the second select signal S1 output from the bit number counter 113 controlled by a control circuit (not shown in FIG. 2), in other words, according to the bit count value of the bit number counter 113. During a period in which the k-bit information bit sequence is input to the “0” input terminal of the selector 112, the information bit sequence input to the “0” input terminal is selected and the information bit sequence is output as it is. On the other hand, when the information bit sequence is completely input to the CRC parity generator 110 and all the parities are generated, the output of the first selector 111 input to the “1” input terminal of the second selector 112, that is, The parity generated by the CRC parity generator 110 is selected and output.

このようにして、たとえば、図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 second selector 112 in the CRC encoder 11 in FIG. 2 is “k-bit information bit sequence” and “r-bit parity bit”. And a code bit sequence of code length n = k + r.
For example, in the transmission apparatus 1 of FIG. 1, as described above, the code bit sequence CRC-encoded by the CRC encoder 11 is input to the error correction encoder 12, for example, an error correction code such as a Reed-Solomon code. The error-corrected and encoded information is input to the transmission line encoder 13, subjected to transmission line encoding processing corresponding to the transmission line 2, and sent to the transmission line 2.
The signal passing through the transmission path 2 is detected by the code detector 31 of the receiving device 3, and the detected information is input to the transmission path decoder 32. The error correction decoder 33 performs error correction on the detected information sequence that has been transmission path decoded by the transmission path decoder 32. The error-corrected information is determined by the CRC detector 34 as to whether or not there is an error in the detection sequence.

図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 CRC detector 34 that checks whether there is an error in the reception polynomial Y (x).
The CRC detector 34 includes a CRC parity checker 341 and a comparator 342.
As described above, the CRC parity checker 341 checks whether the reception polynomial Y (x) is divisible by the generator polynomial G (x), and 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 it is determined that no error has occurred in the information word in the transmission path 2, and the reception polynomial Y (x) is divisible by the generator polynomial G (x). Otherwise, the reception polynomial Y (x) is not the code polynomial W (x), so it is determined that an error has occurred in the information word in the transmission path 2.
The CRC parity checker 341 is a circuit that divides the reception polynomial Y (x) by the generator polynomial G (x), and the comparator 342 is a circuit that checks whether there is a remainder in the result of the division by the CRC parity checker 341. It is.

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 CRC parity checker 341 is shown in FIG.
The CRC detector 34 corresponds to the CRC detector 34 of FIG. 1, and the configuration of the CRC parity checker 341 illustrated in FIG. 6 corresponds to the CRC parity generator 110 illustrated in FIG. When the CRC parity generator 110 has the circuit configuration of FIG. 4, the CRC parity checker 341 also has a circuit configuration conforming thereto. Hereinafter, the CRC parity checker 341 corresponding to the CRC parity generator 110 illustrated in FIG. 3 will be described.
The CRC parity checker 341 illustrated in FIG. 6 includes a first exclusive OR circuit EXOR11, a first shift register R10, a second exclusive OR circuit EXOR12, a second shift register R11, and a third shift register R12. The circuits are connected in a cyclic manner, and the output of the third shift register R12 is input to the second exclusive OR circuit EXOR12.
In the CRC parity checker 341 of FIG. 6, the received bit sequence represented by the receiving polynomial Y (x) is increased by 1 bit at each time to the first exclusive OR circuit EXOR11 at the right end of the first shift register R10. Enter the following items in order. The values of the first to third shift registers R10, R11, R12 at the time when the zero-order term of the received bit sequence has been input to the CRC parity checker 341 give the coefficient of the remainder polynomial R (x). That is, R (X) = (R12 value) × x 2 + (R11 value) × x + (R10 value).
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 CRC parity checker 341 to the comparator 342 are outputs of the registers R10, R11, and R12 of the CRC parity checker 341 in FIG.
The comparator 342 compares (checks) whether all the values of R10 out , R11 out , and R12 out are zero, that is, the remainder is zero, and determines whether all the values of R10 out , R11 out , and R12 out are zero. A 1-bit coincidence signal is output. That is, when all the values of R10 out , R11 out , and R12 out are zero, the reception polynomial Y (x) matches the code polynomial W (x), and an error occurs in the information word in the transmission path 2 The comparator 342 determined not to output, for example, a match signal of logic “1”, and if not, for example, a match signal of logic “0” is output.

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 Non-Patent Document 1, the undetected error probability P ud of the code is obtained by determining the degree (parity number) r, the code length n, the generator polynomial G (x), and the code length n. The distribution A or the dual code weight distribution B is expressed by the channel bit error probability (transition probability) ε in a binary symmetric channel (Binary Symmetric Channel) as follows.

Figure 0004379329
Figure 0004379329

Figure 0004379329
Figure 0004379329

ランダム誤り検出能力については、(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 Non-Patent Documents 2 to 8, various reports on generator polynomials that minimize the undetected error probability of codes have been made, and various ones have been proposed according to the order of the generator polynomial (number of parity) and code length. Yes.
Non-Patent Documents 2 and 3 propose a generator polynomial that minimizes the undetected error probability of a code for each code length in a 16-bit CRC.
Further, in Non-Patent Documents 5 and 8, the undetected error probability P ud of a code exhibits a characteristic that when the code length n changes, it increases extremely with the code length at which the minimum hamming distance d min of the code changes as a boundary. Has been confirmed.

図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は、それぞれのハミング距離における符号語の数を表したテーブルである。これにより、最大・最小ハミング距離を持った生成多項式を選択し、符号の未検出誤り確率を最小化する生成多項式を選択する。
Patent Document 1 discloses an invention relating to a method for selecting a CRC generator polynomial.
In Patent Document 1, when the order of a generator polynomial is given, the generator polynomial is selected based on a distance spectrum calculated for all generator polynomials of that order. This distance spectrum is a table showing the number of code words at each Hamming distance. Thus, a generator polynomial having the maximum / minimum Hamming distance is selected, and a generator polynomial that minimizes the undetected error probability of the code is selected.

J. K. Wolf, R. D. Blakeney, “An exact evaluation of the probability of undetected error for certain shortened binary CRC codes,” Military Communications Conference, 1988. MILCOM 88, Conference record. '21st Century Military Communications - What's Possible?'. 1988 IEEE, vol. 1, pp. 287-292, Oct. 1988.JK Wolf, RD Blakeney, “An exact evaluation of the probability of undetected error for certain shortened binary CRC codes,” Military Communications Conference, 1988. MILCOM 88, Conference record. '21st Century Military Communications-What's Possible?'. 1988 IEEE, vol. 1, pp. 287-292, Oct. 1988. T. Baicheva, S. Dodunekov, P. Kazakov,“Undetected error probability performance of cyclic redundancy-check codes of 16-bitredundancy,” IEE Proc.-Commun., vol. 147, no. 5, pp. 253-256, Oct. 2000.T. Baicheva, S. Dodunekov, P. Kazakov, “Undetected error probability performance of cyclic redundancy-check codes of 16-bitredundancy,” IEE Proc.-Commun., Vol. 147, no. 5, pp. 253-256, Oct. 2000. P. Kazakov, “Fast Calculation of the Number of Minimum-Weight Words of CRC Codes,” IEEE Trans. Inform. Theory, vol. 47, no. 3, pp. 1190-1195, Mar. 2001.P. Kazakov, “Fast Calculation of the Number of Minimum-Weight Words of CRC Codes,” IEEE Trans. Inform. Theory, vol. 47, no. 3, pp. 1190-1195, Mar. 2001. P. Koopman, “Cyclic Redundancy Code (CRC) Polynomial Selection For Embedded Networks,” The International Conference on Dependable System and Networks, DSN-2004.P. Koopman, “Cyclic Redundancy Code (CRC) Polynomial Selection For Embedded Networks,” The International Conference on Dependable System and Networks, DSN-2004. G. Castagnoli, J. Ganz, P. Graber,“Optimum Cyclic Redundancy-Check Codes with 16-Bit Redundancy,” IEEE Trans. Commun., vol. 38, no. 1, pp. 111-114, Jan. 1990.G. Castagnoli, J. Ganz, P. Graber, “Optimum Cyclic Redundancy-Check Codes with 16-Bit Redundancy,” IEEE Trans. Commun., Vol. 38, no. 1, pp. 111-114, Jan. 1990. G. Funk,“Determination of Best Shortened Codes,” IEEE Trans. Commun., vol. 44, no. 1, pp. 1-6, Jan. 1996.G. Funk, “Determination of Best Shortened Codes,” IEEE Trans. Commun., Vol. 44, no. 1, pp. 1-6, Jan. 1996. D. Chun, J. K. Wolf,“Special Hardware for Computing the Probability of Undetected Error for Certain CRC Codes and Test Results,” IEEE Trans. Commun., vol. 42, no. 10, pp. 2769-2772, Oct. 1994.D. Chun, J. K. Wolf, “Special Hardware for Computing the Probability of Undetected Error for Certain CRC Codes and Test Results,” IEEE Trans. Commun., Vol. 42, no. 10, pp. 2769-2772, Oct. 1994. G. Castagnoli, S. Brauer, M. Herrmann,“Optimum of Cyclic Redundancy-Check Codes with 24 and 32 Parity Bits,” IEEE Trans. Commun., vol. 41, no. 6, pp. 883-892, Jun. 1993.G. Castagnoli, S. Brauer, M. Herrmann, “Optimum of Cyclic Redundancy-Check Codes with 24 and 32 Parity Bits,” IEEE Trans. Commun., Vol. 41, no. 6, pp. 883-892, Jun. 1993. J. M. Stein, “METHOD FOR SELECTING CYCLIC REDUNDANCY CHECK POLYNOMIALS FOR LINEAR CODED SYSTEMS”, US Patent 6,085,349, Qualcomm Incorporated, Filed Aug. 27, 1997.J. M. Stein, “METHOD FOR SELECTING CYCLIC REDUNDANCY CHECK POLYNOMIALS FOR LINEAR CODED SYSTEMS”, US Patent 6,085,349, Qualcomm Incorporated, Filed Aug. 27, 1997.

上述したように、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 Non-Patent Documents 4 to 8 have code lengths that minimize the undetected error probability of the code and maximize the minimum hamming distance of the code. The range is limited.

上述した文献の多くは、データ通信などにおける符号長の長い(数千ビット以上の)場合に符号の未検出誤り確率が最小(限界値)となるように設計されており、ヘッダ情報に対して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では、符号長ごとに符号の最小ハミング距離が最大値を持つ生成多項式を選択しているが、これは回路規模の増加につながるという問題があった。
Non-Patent Documents 2 and 3 propose a generator polynomial with the lowest undetected error probability for each code length. In this case, when using a different code length, a different generator polynomial is used each time. Had to use.
For example, in Patent Document 1, a generator polynomial having a maximum code minimum hamming distance is selected for each code length, but this has the problem of increasing the circuit scale.

実際のシステムにおいては、様々な符号長やパリティ長のものが使用されるが、これまで、全ての符号長やパリティ長について最適な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 transmission apparatus 1 of FIG. 1 and the CRC detector used in the reception apparatus 3 are implemented as circuits, a CRC encoding scheme that can simplify the circuit as much as possible is desired.

本発明の目的は、与えられた符号長およびパリティ長において符号の未検出誤り確率ができるだけ低く、符号の最小ハミング距離が出来るだけ大きく、かつ、出来るだけ広い符号長範囲において使用できる生成多項式を選択する、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 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 A generator polynomial G (x) with the smallest probability P ud is selected.

上記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 steps 3 and 4 will be described with reference to FIG.

ステップ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 Equation 4, and a generator polynomial G (x) that minimizes P ud is found.

ただし、符号長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 step 41.

また、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 maximum period 2 r −1 (which is a primitive polynomial). A generator polynomial G (x) is selected. In other words, this is Max. This coincides with the generator polynomial G (x) obtained by d min = 3. This is because n max (r, 3) = 2 r −1.

実施例と比較例
以上の方法で見いだした生成多項式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.

Figure 0004379329
Figure 0004379329

Figure 0004379329
Figure 0004379329

Figure 0004379329
Figure 0004379329

表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.

Figure 0004379329
Figure 0004379329

本発明の実施例として示した生成多項式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 CRC parity generator 110 shown in FIG. 2 or the CRC parity checker 341 shown in FIG.
For example, the CRC parity generator 110 shown in FIG. 2 includes a shift register and an exclusive OR circuit provided according to the order of the generator polynomial G (x) as shown in FIG. 3 or FIG. Connect cyclically. The exclusive OR circuit is provided according to the coefficient of the generator polynomial G (x), and the output of the exclusive OR circuit at the final stage, for example, the second exclusive OR circuit EXOR2 of FIG. The circuit configuration is input to the exclusive OR circuit.
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 CRC parity checker 341.

表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は本発明のCRC符号化方法およびCRC符号化装置が適用される1例としての、送信装置および受信装置の構成の例を示す図である。FIG. 1 is a diagram showing an example of the configuration of a transmission apparatus and a reception apparatus as an example to which the CRC encoding method and the CRC encoding apparatus of the present invention are applied. 図2は図1の送信装置におけるCRC符号器の構成例を示す図である。FIG. 2 is a diagram illustrating a configuration example of a CRC encoder in the transmission apparatus of FIG. 図3は図2に図解したCRC符号器におけるCRCパリティ生成器の第1構成例を示す図である。FIG. 3 is a diagram showing a first configuration example of a CRC parity generator in the CRC encoder illustrated in FIG. 図4は図2に図解したCRC符号器におけるCRCパリティ生成器の第2構成例を示す図である。FIG. 4 is a diagram showing a second configuration example of the CRC parity generator in the CRC encoder illustrated in FIG. 図5は図1の受信装置におけるCRC検出器の構成例を示す図である。FIG. 5 is a diagram showing a configuration example of a CRC detector in the receiving apparatus of FIG. 図6は図5に図解したCRC検出器を構成するCRCパリティ検査器の構成例を示す図である。FIG. 6 is a diagram showing a configuration example of a CRC parity checker constituting the CRC detector illustrated in FIG. 図7は8ビットCRCの場合の符号の最小ハミング距離最大値Max.d min が変化する符号長n(横軸)における符号の未検出誤り確率Pud(縦軸)の変化を示すn−Pud特性を示すグラフである。FIG. 7 shows the minimum hamming distance maximum value Max. It is a graph which shows the n- Pud characteristic which shows the change of the code undetected error probability Pud (vertical axis) in the code length n (horizontal axis) where dmin changes. 図8は本発明のCRC符号選択方法の処理内容の1例を示すフローチャートである。FIG. 8 is a flowchart showing an example of the processing contents of the CRC code selection method of the present invention. 図9は図8に図解したフローチャートにおける部分詳細処理を示すフローチャートである。FIG. 9 is a flowchart showing a partial detailed process in the flowchart illustrated in FIG. 図10は16ビットCRCにおける本発明の実施例と比較例について、n−Pud特性を示すグラフである。FIG. 10 is a graph showing n-P ud characteristics for an example of the present invention and a comparative example in 16-bit CRC. 図11は8ビットCRCにおける本発明の実施例と比較例について、n−Pud特性を示すグラフである。FIG. 11 is a graph showing n-P ud characteristics for an example of the present invention and a comparative example in 8-bit CRC.

符号の説明Explanation of symbols

1…送信装置
11…CRC符号器
110…CRCパリティ生成器、111…第1セレクタ
112…第2セレクタ、113…ビット数カウンタ
12…誤り訂正符号器、13…伝送路符号器
2…伝送路
3…受信装置
31…符号検出器、32…伝送路復号器、33…誤り訂正復号器
34…CRC検出器
341…CRCパリティ検査器、342…比較器
DESCRIPTION OF SYMBOLS 1 ... Transmitting device 11 ... CRC encoder
110: CRC parity generator, 111: First selector
DESCRIPTION OF SYMBOLS 112 ... 2nd selector, 113 ... Bit number counter 12 ... Error correction encoder, 13 ... Transmission path encoder 2 ... Transmission path 3 ... Reception apparatus 31 ... Code detector, 32 ... Transmission path decoder, 33 ... Error correction decoding 34 ... CRC detector
341 ... CRC parity checker, 342 ... comparator

Claims (9)

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生成多項式の選択方法。
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.
前記第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))を見いだす工程と、
を有する、
請求項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.
前記生成多項式G(x)を検索および選択する工程において、最大・最小ハミング距離(Max.d min )がMax.d min =2については、周期(p)が最大周期2r −1をもつ(原始多項式である)生成多項式G(x)の中で、生成多項式の項数w、および、符号の未検出誤り確率Pudが最小である生成多項式G(x)を選択する
請求項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.
請求項1〜3いずれかにおいて、nmin ≠nmax である、
CRC生成多項式の選択方法。
In any one of claims 1 to 3, a n min ≠ n max,
CRC generator polynomial selection method.
請求項1〜3いずれかに記載のCRC生成多項式の選択方法により、下記のいずれかの生成多項式G(x)が選択された、CRC生成多項式の選択方法。
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).
請求項4において、下記のいずれかの生成多項式G(x)が選択された、CRC生成多項式の選択方法。
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).
請求項1〜6いずれかにより選択された生成多項式G(x)を用いたCRC符号化を行う、CRC符号化方法。   A CRC encoding method for performing CRC encoding using the generator polynomial G (x) selected according to any one of claims 1 to 6. 請求項1〜6いずれかにより選択された生成多項式G(x)を、シフトレジスタと前記生成多項式G(x)の係数に応じて設けられた排他的論理和回路と巡回的に接続し、かつ、前記生成多項式G(x)の係数に応じて設けられた排他的論理和回路に、最終段の排他的論理和回路の出力を入力する回路構成を持つ、
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.
次数(パリティ数)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符号化方法。
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.
JP2004370796A 2004-12-22 2004-12-22 CRC generator polynomial selection method, CRC encoding method, and CRC encoding circuit Expired - Fee Related JP4379329B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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