CN101983481A - Transmission device and method, reception device and method, and program - Google Patents

Transmission device and method, reception device and method, and program Download PDF

Info

Publication number
CN101983481A
CN101983481A CN2009801121320A CN200980112132A CN101983481A CN 101983481 A CN101983481 A CN 101983481A CN 2009801121320 A CN2009801121320 A CN 2009801121320A CN 200980112132 A CN200980112132 A CN 200980112132A CN 101983481 A CN101983481 A CN 101983481A
Authority
CN
China
Prior art keywords
crc
data
generator polynomial
cyclic redundancy
redundancy check
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2009801121320A
Other languages
Chinese (zh)
Other versions
CN101983481B (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
Publication of CN101983481A publication Critical patent/CN101983481A/en
Application granted granted Critical
Publication of CN101983481B publication Critical patent/CN101983481B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • H04L1/001Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding applied to control information
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/007Unequal error protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0072Error control for data other than payload data, e.g. control data

Abstract

It is possible to provide a transmission device and method, a reception device and method, and a program which can obtain an undetected error probability characteristic near to a limit value in a system using a CRC for a plurality of data having different code lengths. In a transmission device (101) are set: a generation polynomial for header data used when performing a CRC encoding process on header data; and a generation polynomial for sub-header data used when performing a CRC encoding process on sub-header data. The generation polynomials are switched from one to the other in accordance with the data to be processed by the CRC encoding process. In the polynomial for the header data, the undetected error probability is lowered when the polynomial is used for 176-bit data, i.e., the same code length as the header data. As for the polynomial for the sub-header data, the undetected error probability is lowered when the polynomial is used for 656-bit data, i.e., the same code length as the sub-header data. The present invention may be applied to a device using the CRC code.

Description

Equipment that is used to send and method, the equipment that is used to receive and method and program
Technical field
The present invention relates to a kind of equipment that is used to send and method, the equipment that is used to receive and method and program, relate in particular to a kind of making it possible at the equipment that is used to send and method, the equipment that is used to receive and the method and the program of the multiple segment data acquisition with different code length degree near the probability of undetected error characteristic of the limiting value in the system that uses CRC.
Background technology
When from information-recording apparatus when information reproduction device sends data, perhaps when during to receiving equipment transmission data, going wrong in the data on the transmission line etc. from transmitting apparatus.Exist CRC (cyclic redundancy check (CRC)) as being used for detecting the method whether data go wrong.In order to carry out CRC, need in transmitter side equipment, the data that will send to be carried out the CRC coding in advance.
Fig. 1 is the block diagram of example that the configuration of sending/receiving system is shown.
The sending/receiving system of Fig. 1 forms by transmitting apparatus 1 and receiving equipment 3 are connected to each other via transmission line 2.Transmitting apparatus 1 is made of CRC encoder 11, error recovery encoder 12 and transmission line encoder 13.Receiving equipment 3 is made of code detectors 21, transmission line decoder 22, error recovery decoder 23 and CRC detector 24.To be input to CRC encoder 11 in the transmitting apparatus 1 as information word as the transmission data that send object as the object of CRC encoding process.
Be input to CRC encoder 11 as the information word of the object of CRC encoding process with the form of the bit string of value 1 and 0.Therefore, hereinafter, also suitably will be called signal bit sequence as the information word of the object of CRC encoding process.In addition, the code word (CRC sign indicating number) that hereinafter will be expressed as the bit string of value 1 and 0 is called a yard bit sequence, obtains this code word by signal bit sequence is carried out the CRC encoding process.
CRC encoder 11 is carried out the CRC encoding process by the information word of input is added the CRC odd even.CRC encoder 11 will output to error recovery encoder 12 by the CRC sign indicating number that execution CRC encoding process obtains.
The CRC sign indicating numbers that 12 pairs of error recovery encoders provide from CRC encoder 11 are carried out the error recovery encoding process such as Reed-Solomon encoding process etc., and will output to transmission line encoder 13 by the data that the error recovery encoding process obtains.
Transmission line encoder 13 is carried out encoding process (modulation treatment etc.) according to 2 pairs of data that provide from error recovery encoder 12 of transmission line, and via transmission line 2 data that produce is sent to receiving equipment 3.The signal that to represent the data that send from transmission line encoder 13 via transmission line 2 is input to the code detectors 21 the receiving equipment 3.
Code detectors 21 is based on the input signal detection data, and detected data are outputed to transmission line decoder 22.
Transmission line decoder 22 is carried out decoding processing (demodulation process etc.) according to 2 pairs of data that provide from code detectors 21 of transmission line, and the data that obtain are outputed to error recovery decoder 23.
23 pairs of data execution error treatment for correcting that provide from transmission line decoder 22 of error recovery decoder, and will handle the data that obtain by error recovery and export as receiving data.The reception bit sequence that will constitute as the bit string by value 1 and 0 from the reception data of error recovery decoder 23 outputs is provided to the equipment the next stage, and is provided to CRC detector 24.
24 pairs of reception bit sequences that provide from error recovery decoder 23 of CRC detector are carried out CRC and are handled, and to determine whether correctly to have carried out error recovery, that is to say whether have mistake in receiving bit sequence.CRC detector 24 will indicate the consistent signal of determining the result to output to equipment in the next stage.
Equipment in the next stage that is present in receiving equipment 3 is recording equipment, and recording equipment is provided with and is used for when receiving data and be recorded in driver on the recording medium, use to improve reliability, perhaps for example is used for determining whether that having sent data to transmitting apparatus 1 resends request from the consistent signal of CRC detector 24 outputs in the controller of driver.As other use of CRC sign indicating number, the CRC sign indicating number is used as the part of the preprocessor in the code detectors 21, and is used to header and transmission package in the packet communication.
The principle of the error detection occurs of using the CRC sign indicating number is described below.
When the odd even of adding the r position to the information word of k position has the code word of code length of n (n=k+r) position with formation, with following equation (1) expression value M (x) x r, value M (x) x rMultiply by x by information word being expressed as polynomial (k-1) rank message polynomial M (x) rAnd obtain, wherein, R (x) and Q (x) are respectively the x with value M (x) r(r-1) rank remainder polynomid that obtains during divided by r rank generator polynomial G (x) and merchant's multinomial.In addition, when the code word that obtains by the CRC encoding process is set to (n-1) exponent multinomial W (x), with following equation (2) indication code multinomial W (x).
[equation 1]
M(x)·x r=Q(x)·G(x)+R(x) …(1)
[equation 2]
W(x)=M(x)·x r-R(x) …(2)
According to equation (1) and (2), with following equation (3) indication code multinomial W (x).Code polynomial W (x) can be generated multinomial G (x) and eliminate.
[equation 3]
W(x)=Q(x)·G(x) …(3)
According to top description, when the reception data that are provided to CRC detector 24 from error recovery decoder 23 are set to receiverd polynomial Y (x), whether reception can be generated multinomial G (x) by the CRC detector 24 verification receiverd polynomial Y (x) in the receiving equipment 3 of the code word of code polynomial W (x) expression eliminates, and the transmitting apparatus 1 of this code word from Fig. 1 sends.
Can be generated multinomial G (x) when eliminating when check results shows receiverd polynomial Y (x), receiverd polynomial Y (x) is consistent with code polynomial W (x), so CRC detector 24 is determined not go wrong.On the other hand, when receiverd polynomial Y (x) can not be generated multinomial G (x) when eliminating, receiverd polynomial Y (x) and code polynomial W (x) are inconsistent, so CRC detector 24 is determined mistake to have occurred on transmission line 2.
Because the CRC sign indicating number is a cyclic code, therefore when having determined generator polynomial G (x), can use shift register and XOR circuit in equipment, easily to realize the CRC sign indicating number.As generator polynomial G (x), known widely CRC-CCITT (G (x)=x as 16 CRC 16+ x 12+ x 5+ 1) and CRC-ANSI (G (x)=x 16+ x 15+ x 2+ 1).
Below will be to generator polynomial G (x)=x 3CRC encoder 11 during+x+1 (r=3) in the transmitting apparatus 1 and the CRC detector 24 in the receiving equipment 3 be configured into line description.
Fig. 2 is the figure of example that the configuration of CRC encoder 11 is shown.
As shown in Figure 2, CRC encoder 11 is made of CRC parity generator 31, selector 32, selector 33 and figure place counter 34.CRC encoder 11 with this configuration is according to the sign indicating number bit sequence of being represented by code polynomial W (x) by the information bit sequence column-generation of message polynomial M (x) expression.
CRC parity generator 31 generates the CRC odd even of the r position of the signal bit sequence that will add the k position to, and the CRC odd even that generates is outputed to selector 32.The configuration of CRC parity generator 31 is described with reference to Fig. 3 after a while.
Selector 32 selects to be input to from CRC parity generator 31 the output R00 of input terminal 00,01 and 10 according to the selection signal S0 from not shown control circuit output Out, R01 OutAnd R02 OutOne of, and successively output is outputed to one-input terminal of selector 33.
Be input to the zero-input terminal period of the day from 11 p.m. to 1 a.m of selector 33 at the signal bit sequence with the k position, selector 33 is selected signal bit sequence according to the selection signal S1 from 34 outputs of figure place counter, and output information bit sequence in statu quo.In addition, in the timing of the end of input of signal bit sequence, selector 33 selects also that output CRC odd even is input to one-input terminal as the output of selector 32 with this output.
Therefore, be the sign indicating number bit sequence of n=k+r from selector 33 output code length, this yard bit sequence constitutes by the signal bit sequence of k position with based on the CRC odd even of the r position of the information bit sequence column-generation of k position.
Fig. 3 is the circuit diagram of example that the configuration of the CRC parity generator 31 among Fig. 2 is shown.As mentioned above, generator polynomial G (x) is x 3+ x+1.
As shown in Figure 3, CRC parity generator 31 by connect circularly shift register R00, as the first XOR circuit EXOR1, shift register R01, shift register R02 and form as the EXOR2 of the second XOR circuit.The output of EXOR2 is input to shift register R00, and is input to EXOR1.
At every turn (for example by the clock signal definition that is used for operate shift register each regularly) will be input to EXOR2 by turn with a order by the signal bit sequence of message polynomial M (x) expression from the position beginning of higher order term.In advance message polynomial M (x) be multiply by x rSignal bit sequence M (x) x of form rBe input to CRC parity generator 31.The initial value of shift register R00, R01 and R02 is zero.
When the position of the zeroth order item of signal bit sequence during, lost efficacy (unactivated state) from the enable signal E0 of not shown control circuit output, and kept the value of shift register R00, R01 and R02 to the end of input of CRC parity generator 31.Shift register R00, the R01 at the time point place of the position of the zeroth order item of signal bit sequence during to the end of input of CRC parity generator 31 and the value of R02 are the coefficients on each rank of remainder polynomid R (x).That is to say, remainder polynomid R (x) is expressed as R (x)=(value of R02) * x 2+ (value of R01) * x+ (value of R00).
Respectively with the value of shift register R00, R01 and R02 respectively as output R00 Out, R01 OutAnd R02 OutOutput to selector 32.To export R00 OutBe input to the input terminal 00 of selector 32.To export R01 OutBe input to the input terminal 01 of selector 32.To export R02 OutBe input to the input terminal 00 of selector 32.
Fig. 4 is the figure of example that the configuration of the CRC detector 24 in the receiving equipment 3 is shown.
As shown in Figure 4, CRC detector 24 is made of CRC parity checker 41 and comparator 42.Whether CRC detector 24 verifications with this configuration exist mistake in the reception bit sequence by receiverd polynomial Y (x) expression, this reception bit sequence provides from error recovery decoder 23.
CRC parity checker 41 divided by generator polynomial G (x), and will be represented the output R10 of the coefficient of remainder polynomid R (x) with receiverd polynomial Y (x) Out, R11 OutAnd R12 OutOutput to comparator 42.
Comparator 42 is based on the output R10 from CRC parity checker 41 Out, R11 OutAnd R12 OutWhether determine has remainder with receiverd polynomial Y (x) divided by the result of generator polynomial G (x).
When comparator 42 because output R10 Out, R11 OutAnd R12 OutValue all be zero and determine do not have remainder and receiverd polynomial Y (x) can be generated multinomial G (x) when eliminating divided by the result of generator polynomial G (x) receiverd polynomial Y (x), because receiverd polynomial Y (x) is consistent with code polynomial W (x), therefore do not go wrong in comparator 42 specified datas, and output indication receiverd polynomial Y (x) the consistent signal consistent with code polynomial W (x).In addition, when comparator 42 determines that receiverd polynomial Y (x) is had remainder divided by the result of generator polynomial G (x), and receiverd polynomial Y (x) can not be generated multinomial G (x) when eliminating, because receiverd polynomial Y (x) and code polynomial W (x) are inconsistent, therefore comparator 42 determines that mistake is arranged in data, and output indication receiverd polynomial Y (x) and the inconsistent consistent signal of code polynomial W (x).
Fig. 5 is the circuit diagram of example that the configuration of the CRC parity checker 41 among Fig. 4 is shown.
The configuration of CRC parity checker 41 is corresponding to the configuration of CRC parity generator 31 shown in Figure 3.As shown in Figure 5, CRC parity checker 41 forms by connecting EXOR11, the shift register R10 as the first XOR circuit, EXOR12, shift register R11 and the shift register R12 as the second XOR circuit circularly.With the output of shift register R12 as output R12 OutBe input to comparator 42, and be input to EXOR11 and EXOR12.
To be input to the EXOR11 position by turn with the order that the position from higher order term begins by the reception bit sequence of receiverd polynomial Y (x) expression at every turn.The initial value of shift register R10, R11 and R12 is zero.
The position of zeroth order item that receives bit sequence during to the end of input of CRC parity checker 41 the shift register R10 of time point place, R11 and the value of R12 be the coefficient on each rank of remainder polynomid R (x).That is to say, remainder polynomid R (x) is expressed as R (x)=(value of R12) * x 2+ (value of R11) * x+ (value of R10).
Respectively with the value of shift register R10, R11 and R12 as output R10 Out, R11 OutAnd R12 OutOutput to comparator 42.
The performance of the CRC that is realized by the equipment with aforesaid configuration is subjected to rank, the probability of undetected error P of generator polynomial G (x) usually largely UdAnd smallest hamming distance (minimumHamming distance) d MinInfluence.
For example, the random error detectability can detect all (d Min-1) individual mistake or still less.Yet, also can detect other a large amount of mistakes.In addition, the burst error detectability can detect all mistakes that length is equal to or less than the rank of generator polynomial G (x).Yet, also can detect the many burst errors of length greater than the rank of generator polynomial.
Probability of undetected error P UdBe meant owing to change into the probability of the reception bit sequence of different sign indicating number bit sequences from the sign indicating number bit sequence (by to add the sign indicating number bit sequence that the CRC odd even obtains as the other signal bit sequence outside the signal bit sequence given) that sends, even receiver side equipment also determines not exist mistake when having mistake in receiving bit sequence as the data that send object in the mistake that occurs on the transmission line.
In below equation (4) and (5), represent probability of undetected error P by odevity r, code length n, the weight distribution A that when determining generator polynomial G (x) and code length n, determines or the weight distribution B of dicode and channel bit error probability (conversion probability) ε of binary symmetric channel Ud(non-patent literature 1).
[equation 4]
P ud = Σ i = 0 n A i ϵ i ( 1 - ϵ ) n - i . . . ( 4 )
[equation 5]
P ud = 2 - r Σ i = 0 n B i ( 1 - 2 ϵ ) i - ( 1 - ϵ ) n . . . ( 5 )
Non-patent literature 2 to 8 has proposed rank (odevity) according to generator polynomial and code length with the minimized various generator polynomials of probability of undetected error.
For example, non-patent literature 2 and 3 proposed such as under each code length in 16 CRC with the minimized generator polynomial of the probability of undetected error of sign indicating number.
In addition, non-patent literature 5 and 8 shows and has such characteristic: when code length n changes, and probability of undetected error P UdChange into extreme value along with code length, wherein smallest hamming distance d MinChange as the border.Figure 6 illustrates this characteristic.Fig. 6 shows 16 minimum (limit) probability of undetected errors among the CRC.
The transverse axis indication code length n (position) of Fig. 6, the longitudinal axis is represented probability of undetected error P UdDotted line among Fig. 6 is represented to use G (the x)=x that is adopted by the CRC-CCITT standard at the data of each code length 16+ x 12+ x 5+ 1 o'clock probability of undetected error, solid line are represented 16 theoretical limit probability of undetected errors among the CRC.
Patent documentation 1 discloses and the relevant invention of method of selecting the CRC generator polynomial.In this invention, when the rank of given generator polynomial, select generator polynomial based on composing at all generator polynomial calculated distance on these rank.Distance spectrum is the table that the number of codewords under each Hamming distance is shown.Select thus to have minimum and maximum Hamming distance and make the minimized generator polynomial of probability of undetected error.
Patent documentation 2 discloses and has been chosen in the wide as far as possible code length scope spendablely, has the method for the generator polynomial of alap probability of undetected error and big as far as possible smallest hamming distance under given code length and given CRC odd even length.
The prior art document
Patent documentation
Patent documentation 1: United States Patent (USP) 6,085, No. 349
Patent documentation 2: the Japan Patent spy opens 2006-180172 number
Non-patent literature
Non-patent literature 1:J.K.Wolf, R.D.Blakeney, " An exact evaluation of theprobability of undetected error for certain shortened binary CRC codes; " Military Communications Conference, 1988.MILCOM 88, Conferencerecord. ' 21st Century Military Communications-What ' s Possible? ' 1988IEEE, vol.1, pp.287-292, Oct.1988.
Non-patent literature 2:T.Baicheva, S.Dodunekov, and P.Kazakov, " Undetected error probability performance of cyclic redundancy-checkcodes of 16-bit redundancy; " IEE Proc.-Commun., vol.147, no.5, pp.253-256, Oct.2000.
Non-patent literature 3:P.Kazakov, " Fast calculation of the Number ofMinimum-Weight Words of CRC Codes, " IEEE.Trans.Inform.Theory, vol.47, no.3, pp.1190-1195, Mar.2001.
Non-patent literature 4:P.Koopman, " Cyclic Redundancy Code (CRC) Polynomial Selection For Embedded Networks; " The InternationalConference on Dependable System and Networks, DSN-2004.
Non-patent literature 5:G.Castagnoli, J.Ganz, P.Graber, " Optimum CyclicRedundancy-Check Codes with 16-Bit Redundancy, " IEEE Trans.Commun., vol.38, no.1, pp.111-114, Jan.1990.
Non-patent literature 6:G.Funk, " Determination of Best Shortened Codes, " IEEE TraRs.Commun., vol.44, no.1, PP.1-6, Jan.1996.
Non-patent literature 7:D.Chun, J.K.Wolf, " Special Hardware forComputing the Probability of Undetected Error for Certain CRC Codesand Test Results; " IEEE Trans.Commun., vol.42, no.10, pp.2769-2772, Oct.1994.
Non-patent literature 8:G.Castagnoli, S.Brauer, M.Herrmann, " Optimum ofCyclic Redundancy-Check Codes with 24and 32Parity Bits, " IEEE Trans.Commun., vol.41, no.6, pp.883-892, Jun.1993.
Summary of the invention
Technical problem
As mentioned above, determine CRC performance (probability of undetected error and the quantity that can detect amiss position reliably) by generator polynomial and code length.Do not exist in the generator polynomial that has best probability of undetected error and best smallest hamming distance under all code lengths.Best generator polynomial is according to code length and difference.
That is to say in limited code length scope, to have best probability of undetected error and best smallest hamming distance in the generator polynomial shown in widely used CRC-CCITT standard and ansi standard and the non-patent literature 4 to 8.
In addition, as shown in Figure 6, design is by the generator polynomial of employings such as CRC-CCITT standard, and the probability of undetected error when being set to object with the data than long code length with several kilobits minimizes.Exist when have less than the code length of several kilobits be set to object than short data the time represent even the generator polynomial of more performance.
In addition, in real system, use various code lengths and CRC odd even length.Yet, also do not know generator polynomial up to now for the best of all code lengths and CRC odd even length.Current known generator polynomial is not necessarily enough when obtaining minimum probability of undetected error separately in real system.
Utilization is frequently used CRC or is frequently used CRC at a data and user data at a data and a son data by the public system that the information that forms as the unit to user data interpolation data and a son data communicates.
Yet, even in this case, use single generator polynomial usually, and actual drop into the actual communication system of using and do not change generator polynomial according to the change of the code length of object data.Though patent documentation 2 discloses the method for selecting generator polynomial according to code length, can not say inevitably that having carried out sufficient consideration makes the selection generator polynomial with the change corresponding to the code length of object data.
When single generator polynomial at the different greatly employings such as multiple segment data use CRC-CCITT standard of code length, and when this generator polynomial is designed to code length minimizing of probability of undetected error when long, certainly, when the data of short code length are set to object, only obtain from the limiting value probability of undetected error performance of deterioration greatly.
For example, a data and the son data by the IEEE802.15.3c standard definition have the code length of hundreds of position.In the time will using the generator polynomial identical to carry out processing at these data with code length of hundreds of position with the generator polynomial that adopts by the CRC-CCITT standard, as shown in Figure 6, near as code length the hundreds of position time characteristic, probability of undetected error is significantly away from theoretical boundary.
Consider that this situation made the present invention, especially, even in the code length of object data relatively more in short-term, the present invention also makes it possible to use provide to carry out near the generator polynomial of the probability of undetected error of limiting value and handles.
Technical scheme
Transmitting apparatus according to an aspect of the present invention comprises: the CRC code processing apparatus, it has a plurality of generator polynomials, generator polynomial is used for the CRC encoding process to every segment data execution of the multiple segment data with different code length degree, described CRC code processing apparatus is used for selecting generator polynomial according to object data, and carries out described CRC encoding process; And dispensing device, be used to send the data that obtain by the CRC encoding process of carrying out by the CRC code processing apparatus.
In the CRC code processing apparatus, be provided with at first generator polynomial of first data with first code length and at second generator polynomial of second data with second code length as a plurality of generator polynomials, and the CRC code processing apparatus can be that first data or second data are selected one of first generator polynomial and described second generator polynomial according to object data, and carries out the CRC encoding process.
First generator polynomial can be the peaked generator polynomial that smallest hamming distance equals the smallest hamming distance under first code length, and be the generator polynomial of from the generator polynomial of the predetermined quantity selected with the ascending order of probability of undetected error, selecting, and second generator polynomial can be the peaked generator polynomial that smallest hamming distance equals the smallest hamming distance under second code length, and is the generator polynomial of selecting from the generator polynomial of the predetermined quantity selected with the ascending order of probability of undetected error.
According to an aspect of the present invention sending method or program comprise step: select generator polynomial according to object data, and carry out the CRC encoding process; And transmission is by the data of CRC encoding process acquisition.
Receiving equipment according to a further aspect in the invention comprises: deriving means is used for obtaining data based on the signal that sends from transmitting apparatus; And CRC processing unit, it has a plurality of generator polynomials, generator polynomial is used for the CRC that every segment data of the multiple segment data with different code length degree is carried out is handled, and the CRC processing unit is used for selecting generator polynomial and carrying out CRC and handle and detect data error by the data of obtaining according to deriving means.
In the CRC processing unit, be provided with at first generator polynomial of first data with first code length and at second generator polynomial of second data with second code length as a plurality of generator polynomials, the data that the CRC processing unit can obtain according to deriving means are that first data or second data are selected one of first generator polynomial and second generator polynomial, and carry out CRC and handle.
First generator polynomial can be the peaked generator polynomial that smallest hamming distance equals the smallest hamming distance under first code length, and be the generator polynomial of from the generator polynomial of the predetermined quantity selected with the ascending order of probability of undetected error, selecting, and second generator polynomial can be the peaked generator polynomial that smallest hamming distance equals the smallest hamming distance under second code length, and is the generator polynomial of selecting from the generator polynomial of the predetermined quantity selected with the ascending order of probability of undetected error.
According to a further aspect in the invention method of reseptance or program comprise step: obtain data based on the signal that sends from transmitting apparatus; And by selecting generator polynomial according to the data obtained and carrying out CRC and handle and detect data error.
According to an aspect of the present invention, select generator polynomial, carry out the CRC encoding process, and send by carrying out the data that the CRC encoding process is obtained according to object data.
According to a further aspect in the invention, obtain data according to the signal that sends from transmitting apparatus, and by selecting generator polynomial according to the data of obtaining and carrying out CRC and handle and detect data error.Beneficial effect
According to the present invention, can use the generator polynomial that provides near the probability of undetected error of limiting value to carry out processing.
Description of drawings
Fig. 1 is the block diagram of example that the configuration of sending/receiving system is shown.
Fig. 2 is the figure of example that the configuration of the CRC encoder among Fig. 1 is shown.
Fig. 3 is the circuit diagram of example that the configuration of the CRC parity generator among Fig. 2 is shown.
Fig. 4 is the figure of example that the configuration of the CRC detector among Fig. 1 is shown.
Fig. 5 is the circuit diagram of example that the configuration of the CRC parity checker among Fig. 4 is shown.
Fig. 6 is the figure of example that the result of calculation of probability of undetected error is shown.
Fig. 7 illustrates according to an embodiment of the invention to send and the block diagram of the example of the configuration of receiving system.
Fig. 8 is the block diagram of example that the configuration of the transmitting apparatus among Fig. 7 is shown.
Fig. 9 is the circuit diagram of example of configuration that is used to generate the part of CRC odd even in the CRC encoder that illustrates among Fig. 8.
Figure 10 is the block diagram of example that the configuration of the receiving equipment among Fig. 7 is shown.
Figure 11 is the circuit diagram of example of configuration of the part of the execution CRC odd even in the CRC detector that illustrates among Figure 10.
Figure 12 is the flow chart of the processing of aid illustration transmitting apparatus.
Figure 13 is the flow chart of the processing of aid illustration receiving equipment.
Figure 14 is the figure that the generator polynomial candidate target is shown.
Figure 15 is the figure that the generator polynomial candidate target among the Figure 14 that divides by code length is shown.
Figure 16 is another figure that the generator polynomial candidate target is shown.
Figure 17 is the figure that the generator polynomial candidate target among the Figure 16 that divides by code length is shown.
Figure 18 is the another figure that the generator polynomial candidate target is shown.
Figure 19 is the figure that the generator polynomial candidate target among the Figure 18 that divides by code length is shown.
Figure 20 is the figure that the result of calculation of probability of undetected error is shown.
Figure 21 is the block diagram of example that the configuration of messaging device is shown.
Figure 22 is aid illustration is selected the processing of generator polynomial in messaging device a flow chart.
Figure 23 is the flow chart that the extraction carried out among the step S51 of aid illustration in Figure 22 is handled.
Embodiment
Fig. 7 is the block diagram of example that the configuration of transmission according to an embodiment of the invention and receiving system is shown.
The transmission of Fig. 7 and receiving system are by as the transmitting apparatus 101 of data transmitter side equipment be equipped with 102 as the receiving equipment of Data Receiving side apparatus and constitute.In the transmission and receiving system of Fig. 7, for example transmit and receive data according to IEEE802.15.3c standard as the radio communication standard that uses the millimeter wave in the 60-GHz frequency band.
Transmitting apparatus 101 is suitably carried out CRC encoding process, error recovery encoding process and transmission line encoding process to the user data, a data and the son data that send the data of object such as the conduct of video data, voice data etc., and transmission is handled the data that obtain by these.
In transmitting apparatus 101, be provided with at the generator polynomial of a data with at the generator polynomial of a son data, when correct data are carried out the CRC encoding process, use is at the generator polynomial of a data, when antithetical phrase head data are carried out the CRC encoding process, use generator polynomial at a son data.Select generator polynomial according to the data that will carry out the CRC encoding process.
At the generator polynomial of a data be at the code length that equals a data for example 176 data are used the time probability of undetected error become lower generator polynomial.At the generator polynomial of a son data be at the code length that equals a son data for example 656 data are used the time probability of undetected error become lower generator polynomial.The method of selecting each generator polynomial is described after a while.
Receiving equipment 102 receives the data that send from transmitting apparatus 101 with transmission line as the interval.
The data that receiving equipment 102 detects from received signal, and by detected data execution transmission line decoding processing and error recovery decoding processing are obtained to receive data.Receiving equipment 102 or be connected to reception data that the external equipment of receiving equipment 102 use to obtain and carry out the reproduction that receives data, record etc.
In addition, receiving equipment 102 detects data error by reception data execution CRC is handled.As in transmitting apparatus 101, in receiving equipment 102, be provided with at the generator polynomial of a data with at the generator polynomial of a son data.The generator polynomial that selection will be used in CRC handles.
By being that a data or a son data are selected generator polynomial so according to object data, carry out the CRC encoding process at transmitting apparatus 101, and in receiving equipment 102, carry out CRC and handle, can realize the CRC of high reliability.
Fig. 8 is the block diagram of example that the configuration of transmitting apparatus 101 is shown.
As shown in Figure 8, transmitting apparatus 101 is made of controller 111, CRC encoder 112, error recovery encoder 113 and transmission line encoder 114.
The user data that controller 111 is imported the user with predefined procedure, a data and a son data output to CRC encoder 112.
In addition, when the data of the object of the CRC encoding process in being set to CRC encoder 112 were data, controller 111 outputs were used to send the instruction of CRC encoding process is carried out in use at the generator polynomial of a data selection signal.On the other hand, when the data of the object of the CRC encoding process in being set to CRC encoder 112 were sub data, controller 111 outputs were used to send the instruction of CRC encoding process is carried out in use at the generator polynomial of a son data selection signal.Therefore, controller 111 is specified the selection signal of the generator polynomial that will use in the CRC encoding process to 112 outputs of CRC encoder according to the data of the object that is set to the CRC encoding process.
CRC encoder 112 obtains the CRC odd even to the data execution CRC encoding process that head adds by slave controller 111 is provided, and the Xiang Zitou interpolation obtains the CRC odd even by antithetical phrase head data execution CRC encoding process.
The CRC encoding process that correct data are carried out is used each different generator polynomial with the selection signal that the CRC encoding process that antithetical phrase head data are carried out provides according to slave controller 111.CRC encoder 112 outputs to error recovery encoder 113 with the data of having added the predetermined format of head and son head.By way of parenthesis, when needs are carried out the CRC encoding process to user data, in the CRC encoding process, use the predetermined generator polynomial that sets in advance.
The data that 113 pairs of error recovery encoders provide from CRC encoder 112 are carried out the error recovery encoding process such as Reed-Solomon encoding process etc., and will output to transmission line encoder 114 by the data that the error recovery encoding process obtains.
Transmission line encoder 114 is carried out encoding process (modulation treatment etc.) according to transmission line to the data that provide from error recovery encoder 113, and sends the data that obtain.
Fig. 9 is the figure of example of the configuration of the part that is used for generating the CRC odd even (corresponding to the part of the CRC parity generator 31 of Fig. 3) in the CRC encoder 112 that illustrates among Fig. 8.
The sequence data (signal bit sequence) that forms a data or a son data is input to the circuit of Fig. 9.
Fig. 9 shows and uses G 1(x)=x 16+ x 14+ x 13+ x 12+ x 8+ x 7+ x 6+ x 5+ x 2+ x+1 is as the generator polynomial at a data, and use G 2(x)=x 16+ x 12+ x 11+ x 9+ x 5+ x 4+ x 3+ x 2+ 1 conduct is at the example of the generator polynomial of a son data.When coming the selection signal indicated value 0 of self-controller 111, use generator polynomial G 1(x)=x 16+ x 14+ x 13+ x 12+ x 8+ x 7+ x 6+ x 5+ x 2+ x+1 carries out computing.When coming the selection signal indicated value 1 of self-controller 111, use generator polynomial G 2(x)=x 16+ x 12+ x 11+ x 9+ x 5+ x 4+ x 3+ x 2+ 1, carry out computing.The be one another in series quantity of the shift register that connects of the subscript numeral on letter " D " right side in the piece of the expression shift register among Fig. 9.For the Figure 11 that describes after a while also is like this.
EXOR circuit 121 carries out XOR based on the sequence data of slave controller 111 input and the value that postponed two timings in shift register 122.The operation result of EXOR circuit 121 is exported as sequence data, and be provided to AND circuit 149 to 158, EXOR circuit 127,139 and 145 and shift register 148.
EXOR circuit 147 carries out XOR based on the value that has postponed a timing in shift register 148 with from the value that AND circuit 158 provides.The operation result of EXOR circuit 147 is provided to shift register 146.
EXOR circuit 145 carries out XOR based on the value that has postponed a timing in shift register 146 with from the value that EXOR circuit 121 provides.The operation result of EXOR circuit 145 is provided to shift register 144.
EXOR circuit 143 carries out XOR based on the value that has postponed a timing in shift register 144 with from the value that AND circuit 157 provides.The operation result of EXOR circuit 143 is provided to shift register 142.
EXOR circuit 141 carries out XOR based on the value that has postponed a timing in shift register 142 with from the value that AND circuit 156 provides.The operation result of EXOR circuit 141 is provided to shift register 140.
EXOR circuit 139 carries out XOR based on the value that has postponed a timing in shift register 140 with from the value that EXOR circuit 121 provides.The operation result of EXOR circuit 139 is provided to shift register 138.
EXOR circuit 137 carries out XOR based on the value that has postponed a timing in shift register 138 with from the value that AND circuit 155 provides.The operation result of EXOR circuit 137 is provided to shift register 136.
EXOR circuit 135 carries out XOR based on the value that has postponed a timing in shift register 136 with from the value that AND circuit 154 provides.The operation result of EXOR circuit 135 is provided to shift register 134.
EXOR circuit 133 carries out XOR based on the value that has postponed a timing in shift register 134 with from the value that AND circuit 153 provides.The operation result of EXOR circuit 133 is provided to shift register 132.
EXOR circuit 131 carries out XOR based on the value that has postponed a timing in shift register 132 with from the value that AND circuit 152 provides.The operation result of EXOR circuit 131 is provided to shift register 130.
EXOR circuit 129 carries out XOR based on the value that has further postponed two timings in shift register 130 with from the value that AND circuit 151 provides.The operation result of EXOR circuit 129 is provided to shift register 128.
EXOR circuit 127 carries out XOR based on the value that has postponed a timing in shift register 128 with from the value that EXOR circuit 121 provides.The operation result of EXOR circuit 127 is provided to shift register 126.
EXOR circuit 125 carries out XOR based on the value that has postponed a timing in shift register 126 with from the value that AND circuit 150 provides.The operation result of EXOR circuit 125 is provided to shift register 124.
EXOR circuit 123 carries out XOR based on the value that has postponed a timing in shift register 124 with from the value that AND circuit 149 provides.The operation result of EXOR circuit 123 is provided to shift register 122.
When the value of EXOR circuit 121 output and slave controller 111 all are 1 as the value of selecting signal output and counter-rotating NOT circuit 159, AND circuit 149,150,153,154,155 and 158 output valves 1.Otherwise, AND circuit 149,150,153,154,155 and 158 output valves 0.
When the value of exporting as the selection signal from the value and the slave controller 111 of 121 outputs of EXOR circuit all is 1, AND circuit 151,152,156 and 157 output valves 1.Otherwise, AND circuit 151,152,156 and 157 output valves 0.
Figure 10 is the block diagram of example that the configuration of receiving equipment 102 is shown.
As shown in figure 10, receiving equipment 102 is made of code detectors 201, transmission line decoder 202, error recovery decoder 203, CRC detector 204 and controller 205.
Code detectors 201 detects data based on received signal, and detected data are outputed to transmission line decoder 202.
Transmission line decoder 202 carries out decoding processing (demodulation process etc.) according to transmission line to the data that provide from code detectors 201, and the data that obtain are outputed to error recovery decoder 203.
203 pairs of data that provide from transmission line decoder 202 of error recovery decoder are carried out the error recovery processing, and will handle the data that obtain by error recovery and export as receiving data.Receive data and comprise user data, a data and a son data.To be provided to that data are reproduced to receiving from the reception data of error recovery decoder 203 output, the processing section of the next stage of record etc., and be provided to CRC detector 204 and controller 205.
204 pairs of reception data that provide from error recovery decoder 203 of CRC detector are carried out the CRC processing, and detect data error.When correct data were carried out the CRC processing, the generator polynomial that the selection signal that CRC detector 204 uses to be provided according to slave controller 205 is selected was handled.When antithetical phrase head data were carried out the CRC processing, the generator polynomial that the selection signal that CRC detector 204 uses to be provided according to slave controller 205 is selected was handled.CRC detector 204 will indicate the consistent signal of testing result to output to the processing section of next stage.For example use consistent signal to determine whether to ask transmitting apparatus 101 to resend data.
The data of the object of the CRC processing the CRC detector 204 are provided based on the reception data identification that provides from error recovery decoder 203 controller 205.The reception data identical with the reception data that are provided to CRC detector 204 are provided to controller 205 from error recovery decoder 203.
When the data of the object that CRC in being set to CRC detector 204 handles were data, controller 205 outputs were used to send the instruction that CRC handles is carried out in use at the generator polynomial of a data selection signal.On the other hand, when the data of the object that the CRC in being set to CRC detector 204 handles were sub data, controller 205 outputs were used to send the instruction of CRC processing is carried out in use at the generator polynomial of a son data selection signal.Therefore, controller 205 is specified the selection signal of the generator polynomial that will use in CRC handles to 204 outputs of CRC detector according to the data of the object that is set to the CRC processing.
Figure 11 is the figure of example of configuration of the part (corresponding to the part of the CRC parity checker 41 of Fig. 5) of the execution CRC parity check in the CRC detector 204 that illustrates among Figure 10.
Figure 11 also shows and uses G 1(x)=x 16+ x 14+ x 13+ x 12+ x 8+ x 7+ x 6+ x 5+ x 2+ x+1 is as the generator polynomial at a data, and use G 2(x)=x 16+ x 12+ x 11+ x 9+ x 5+ x 4+ x 3+ x 2+ 1 conduct is at the example of the generator polynomial of a son data.When coming the selection signal indicated value 0 of self-controller 205, use generator polynomial G 1(x)=x 16+ x 14+ x 13+ x 12+ x 8+ x 7+ x 6+ x 5+ x 2+ x+1 carries out computing.When coming the selection signal indicated value 1 of self-controller 205, use generator polynomial G 2(x)=x 16+ x 12+ x 11+ x 9+ x 5+ x 4+ x 3+ x 2+ 1 carries out computing.
EXOR circuit 211 carries out XOR based on reception data that provide as sequence data from error recovery decoder 203 and the value that has postponed two timings shift register 238.The operation result of EXOR circuit 211 is provided to shift register 212.
EXOR circuit 213 carries out XOR based on the value that has postponed a timing in shift register 212 with from the value that AND circuit 248 provides.The operation result of EXOR circuit 213 is provided to shift register 214.
EXOR circuit 215 carries out XOR based on the value that has postponed a timing in shift register 214 with from the value that shift register 238 provides.The operation result of EXOR circuit 215 is provided to shift register 216.
EXOR circuit 217 carries out XOR based on the value that has postponed a timing in shift register 216 with from the value that AND circuit 247 provides.The operation result of EXOR circuit 217 is provided to shift register 218.
EXOR circuit 219 carries out XOR based on the value that has postponed a timing in shift register 218 with from the value that AND circuit 246 provides.The operation result of EXOR circuit 219 is provided to shift register 220.
EXOR circuit 221 carries out XOR based on the value that has postponed a timing in shift register 220 with from the value that shift register 238 provides.The operation result of EXOR circuit 221 is provided to shift register 222.
EXOR circuit 223 carries out XOR based on the value that has postponed a timing in shift register 222 with from the value that AND circuit 245 provides.The operation result of EXOR circuit 223 is provided to shift register 224.
EXOR circuit 225 carries out XOR based on the value that has postponed a timing in shift register 224 with from the value that AND circuit 244 provides.The operation result of EXOR circuit 225 is provided to shift register 226.
EXOR circuit 227 carries out XOR based on the value that has postponed a timing in shift register 226 with from the value that AND circuit 243 provides.The operation result of EXOR circuit 227 is provided to shift register 228.
EXOR circuit 229 carries out XOR based on the value that has postponed a timing in shift register 228 with from the value that AND circuit 242 provides.The operation result of EXOR circuit 229 is provided to shift register 230.
EXOR circuit 231 carries out XOR based on the value that has postponed two timings in shift register 230 with from the value that AND circuit 241 provides.The operation result of EXOR circuit 231 is provided to shift register 232.
EXOR circuit 233 carries out XOR based on the value that has postponed a timing in shift register 232 with from the value that shift register 238 provides.The operation result of EXOR circuit 233 is provided to shift register 234.
EXOR circuit 235 carries out XOR based on the value that has postponed a timing in shift register 234 with from the value that AND circuit 240 provides.The operation result of EXOR circuit 235 is provided to shift register 236.
EXOR circuit 237 carries out XOR based on the value that has postponed a timing in shift register 236 with from the value that AND circuit 239 provides.The operation result of EXOR circuit 237 is provided to shift register 238.
When the value that has postponed two timings in shift register 238 and slave controller 205 all are 1 as the value of selecting signal output and counter-rotating in NOT circuit 249, AND circuit 239,240,243,244,245 and 248 output valves 1.Otherwise, AND circuit 239,240,243,244,245 and 248 output valves 0.
When the value that has postponed two timings in shift register 238 and slave controller 205 all are 1 as the value of selecting signal output, AND circuit 241,242,246 and 247 output valves 1.Otherwise, AND circuit 241,242,246 and 247 output valves 0.
The processing that below description is had the transmitting apparatus 101 and the receiving equipment 102 of aforesaid configuration.
At first send the processing of the transmitting apparatus 101 of data with reference to the flow chart description of Figure 12.When the user of transmitting apparatus 101 imported user data, a data and sub data, this handled beginning.
In step S1, the user data that controller 111 is imported the user with predefined procedure, a data and a son data output to CRC encoder 112.
In step S2, controller 111 will specify the selection signal of the generator polynomial that will use in the CRC encoding process to output to CRC encoder 112 according to the data that are set to the object of CRC encoding process.
In step S3, the selection signal that CRC encoder 112 provides according to slave controller 111 is selected generator polynomial, and correct data or a son data are carried out the CRC encoding process.Carry out CRC odd even that CRC encoding process obtain by using at the generator polynomial of a data to the head interpolation.Xiang Zitou adds by using at the generator polynomial of a son data and carries out the CRC odd even that the CRC encoding process obtains.
In step S4,113 pairs of data that provide from CRC encoder 112 of error recovery encoder are carried out the error recovery encoding process, and will output to transmission line encoder 114 by carrying out the data that the error recovery encoding process obtains.
In step S5, transmission line encoder 114 carries out encoding process according to transmission line to the data that provide from error recovery encoder 113.
In step S6, transmission line encoder 114 will send to receiving equipment 102 by carrying out the data that encoding process obtains, and processing finishes.
Next, receive the processing of the receiving equipment 102 of data with reference to the flow chart description of Figure 13.
In step S11, code detectors 201 detects data based on received signal, and detected data are outputed to transmission line decoder 202.
In step S12, transmission line decoder 202 carries out decoding processing according to transmission line to the data that provide from code detectors 201, and the data that obtain are outputed to error recovery decoder 203.
In step S13,203 pairs of data that provide from transmission line decoder 202 of error recovery decoder are carried out error recovery and are handled, and will handle the data that obtain and export as receiving data by carrying out error recovery.
In step S14, the data of the object of the CRC processing the CRC detector 204 are provided based on the reception data identification that provides from error recovery decoder 203 controller 205.
In step S15, controller 205 will specify the selection signal of the generator polynomial that will use in CRC handles output to CRC detector 204 according to the data of the object that is set to the CRC processing.
In step S16, CRC detector 204 is selected generator polynomial according to the selection signal that slave controller 205 provides, and the received signal that provides from error recovery decoder 203 is carried out CRC handle.When correct data are carried out the CRC processing, use generator polynomial at a data.When antithetical phrase head data are carried out the CRC processing, use generator polynomial at a son data.The result's that CRC detector 204 output indication CRC handle consistent signal, and processing finishes.
Can realize the CRC of high reliability by above-mentioned processing.
The generator polynomial that is provided with in the CRC detector 204 of the CRC of transmitting apparatus 101 encoder 112 and receiving equipment 102 is described below.
Below, for convenience of description, adopt with hexadecimal number and represent that the method for setting of coefficient is as the method for expression generator polynomial G (x).For example, be 100101101 when being expressed as binary number as the 12D of hexadecimal number, therefore represent generator polynomial G (x)=x 8+ x 5+ x 3+ x 2+ 1.In addition, establish the item number that w is generator polynomial G (x).Reciprocal polynomial (multinomial that high-order coefficient and low order coefficient are inverted) is showed consistent each other characteristic.
Figure 14 is the figure that the candidate target of the generator polynomial of using when the data with code length of 36 to 149 are handled is shown.
When in the CRC of transmitting apparatus 101 encoder 112, the data of the predetermined codes length in 36 to 149 the scope being carried out the CRC encoding process, and in the CRC of receiving equipment 102 detector 204, it is carried out CRC when handling, the generator polynomial of selecting from candidate target shown in Figure 14 is set in CRC encoder 112 and CRC detector 204.
First row and the 4th row that begin from the left side among Figure 14 show index A1 to A34.Secondary series and the 5th row show the setting of coefficient is represented in expression with hexadecimal number generator polynomial.The 3rd row and the 6th row show the item number w of each generator polynomial.
For example, the generator polynomial G of index A1 (x) is that item number w is 8 13613 (G (x)=x 16+ x 13+ x 12+ x 10+ x 9+ x 4+ x+1).The generator polynomial G of index A2 (x) is that item number w is 10 13D65 (G (x)=x 16+ x 13+ x 12+ x 11+ x 10+ x 8+ x 6+ x 5+ x 2+ 1).
Figure 15 is the figure that the generator polynomial of the Figure 14 that is divided into each generator polynomial of using when the data of each code length in 36 to 149 the scope are handled is shown.The row in left side show code length n among Figure 15.The row on right side show the index of generator polynomial G (x) among Figure 15.
For example, when the data to 36 in the CRC of transmitting apparatus 101 encoder 112 are carried out the CRC encoding process, and in the CRC of receiving equipment 102 detector 204, it is carried out CRC when handling, the generator polynomial select is set, shown in second row that begins from the top among Figure 15 in CRC encoder 112 and CRC detector 204 from the candidate target of index A6, A25 to A29 and A31 to A34.Similarly, when 37 data being carried out CRC encoding process and CRC processing, the generator polynomial select is set, shown in the third line that begins from the top among Figure 15 in CRC encoder 112 and CRC detector 204 from the candidate target of index A6, A11, A22 and A25 to A34.
Figure 16 is the figure that the candidate target of the generator polynomial of using when the data with code length of 152 to 255 are handled is shown.
First row and the 4th row that begin from the left side among Figure 16 show index B1 to B15.Secondary series and the 5th row show the setting of coefficient is represented in expression with hexadecimal number generator polynomial.The 3rd row and the 6th row show the item number w of each generator polynomial.
For example, the generator polynomial G of index B1 (x) is that item number w is 11 156F3 (G (x)=x 16+ x 14+ x 12+ x 10+ x 9+ x 7+ x 6+ x 5+ x 4+ x+1).The generator polynomial G of index B2 (x) is that item number w is 5 12109 (G (x)=x 16+ x 13+ x 8+ x 3+ 1).
Figure 17 is the figure that the generator polynomial of the Figure 16 that is divided into each generator polynomial of using when the data of each code length in 152 to 255 the scope are handled is shown.The row in left side show code length n among Figure 17.The row on right side show the index of generator polynomial G (x) among Figure 17.
For example, when the data that to predetermined codes length are 152 to 170 are carried out the CRC encoding process in the CRC of transmitting apparatus 101 encoder 112, and when in the CRC of receiving equipment 102 detector 204, carrying out the CRC processing, the generator polynomial select is set, shown in second row that begins from the top among Figure 17 in CRC encoder 112 and CRC detector 204 from the candidate target of index B1 to B15.Similarly, when the data of 171 to 255 predetermined codes length being carried out CRC encoding process and CRC when handling, the generator polynomial select is set, shown in the third line that begins from the top among Figure 17 in CRC encoder 112 and CRC detector 204 from the candidate target of index B1 to B10, B14 and B15.
Figure 18 is the figure that the candidate target of the generator polynomial of using when the data with code length of 258 to 8001 are handled is shown.
First row and the 4th row that begin from the left side among Figure 18 show index C1 to C36.Secondary series and the 5th row show the setting of coefficient is represented in expression with hexadecimal number generator polynomial.The 3rd row and the 6th row show the item number w of each generator polynomial.
For example, the generator polynomial G of index C1 (x) is that item number w is 9 1941F (G (x)=x 16+ x 15+ x 12+ x 10+ x 4+ x 3+ x 2+ x+1).The generator polynomial G of index C2 (x) is that item number w is 7 16087 (G (x)=x 16+ x 14+ x 13+ x 7+ x 2+ x+1).
Figure 19 is the figure that the generator polynomial of the Figure 18 that is divided into each generator polynomial of using when the data of each code length in 258 to 8001 the scope are handled is shown.The row in left side show code length n among Figure 19.The row on right side show the index of generator polynomial G (x) among Figure 19.
For example, when the data to 258 to 595 predetermined codes length in the CRC of transmitting apparatus 101 encoder 112 are carried out the CRC encoding process, and in the CRC of receiving equipment 102 detector 204, it is carried out CRC when handling, being provided with in CRC encoder 112 and CRC detector 204 from index is the generator polynomial of selecting the candidate target of C1 to C35, shown in second row that begins from the top among Figure 19.Similarly, when the data that to predetermined codes length are 596 to 600 are carried out CRC encoding process and CRC processing, being provided with in CRC encoder 112 and CRC detector 204 from index is the generator polynomial of selecting the candidate target of C1 to C7 and C9 to C35, shown in the third line that begins from the top among Figure 19.
Figure 20 is the figure that the result of calculation of probability of undetected error when using the generator polynomial of selecting as mentioned above from candidate target is shown.
Figure 20 shows as the 171E7 (G that selects index B4 from Figure 17 from the candidate target of index B1 to B10, B14 shown in the third line that the top begins and B15 1(x)=x 16+ x 14+ x 13+ x 12+ x 8+ x 7+ x 6+ x 5+ x 2+ x+1) as being the generator polynomial of a data of 176, from Figure 19, from the candidate target of index C1 to C4, C7, C10, C13 and the C15 to C35 shown in the 9th row that the top begins, select the 11A3D (G of index C3 at code length 2(x)=x 16+ x 12+ x 11+ x 9+ x 5+ x 4+ x 3+ x 2+ 1), as the generator polynomial that at code length is 656 a son data, and during the CRC (16 CRC odd evens) of 16 of generation or verifications, the result of calculation of probability of undetected error.That is to say that Figure 20 shows the circuit of Fig. 9 and Figure 11 and selects and use generator polynomial G 1(x) and G 2(x) result the time.In order to compare, also to show and use CRC-CCITT (G (x)=x 16+ x 12+ x 5+ 1) probability of undetected error the time.
As shown in figure 20, when using CRC-CCITT (G (x)=x 16+ x 12+ x 5+ 1) as generator polynomial to be that 176 data are carried out CRC encoding process and CRC when handling to code length, probability of undetected error is 1.56 * 10 -13, and when using 171E7 (G 1(x)=x 16+ x 14+ x 13+ x 12+ x 8+ x 7+ x 6+ x 5+ x 2+ x+1) time, probability of undetected error is 1.99 * 10 -16
In addition, when using CRC-CCITT (G (x)=x 16+ x 12+ x 5+ 1) as generator polynomial to be that 656 son data are carried out CRC encoding process and CRC when handling to code length, probability of undetected error is 2.17 * 10 -11, and when using 11A3D (G 2(x)=x 16+ x 12+ x 11+ x 9+ x 5+ x 4+ x 3+ x 2+ 1) time, probability of undetected error is 1.05 * 10 -11
When any one in the data was set to object when a data and son, the probability of undetected error of the generator polynomial of selecting from above-mentioned candidate target was lower, and probability is near theoretical boundary shown in Figure 6.
Therefore, being set to be used for to code length by the generator polynomial of selecting in the candidate target from Figure 16 is that 176 data are carried out the generator polynomial that CRC encoding process and CRC handle, it is that 656 son data are carried out the generator polynomial that CRC encoding process and CRC handle that the generator polynomial of selecting in the candidate target from Figure 18 is set to be used for to code length, and select and the use generator polynomial according to object data, the CRC precision can be brought up near the theoretical boundary.
Should note, though the 171E7 that selects index B4 in this case in the candidate target from Figure 16 is as the generator polynomial at a data, and the 11A3D that selects index C3 in the candidate target from Figure 18 is as the generator polynomial at a son data, but the combination of generator polynomial is arbitrarily.
In addition, more than hypothesis is set to the situation of object and two generator polynomials of situation selection that a son data are set to object at a data.Yet, other data that have different separately code lengths when existence, when these data are set to the object of CRC encoding process or CRC processing, generator polynomial at every segment data can be set in transmitting apparatus 101 and receiving equipment 102 in advance, and can select these generator polynomials.
Figure 21 is the block diagram of example that the configuration of the messaging device 301 that is used to select generator polynomial as mentioned above is shown.
Messaging device 301 for example is a personal computer.By bus 314 CPU (central processing unit) 311, ROM (read-only memory) 312 and RAM (random access memory) 313 are interconnected.
Bus 314 also is connected with input/output interface 315.The driver 320 that input/output interface 315 and the importation 316 that is formed by keyboard, mouse etc., the output 317 that is formed by display etc., the storage area 318 that is formed by hard disk and nonvolatile memory, the communications portion 319 that formed by network interface etc. and being used to drives such as the removable medium 321 of CD, semiconductor memory etc. is connected.
In the messaging device 301 of configuration as mentioned above, the program that CPU 311 for example will be stored in the storage area 318 is loaded among the RAM 313 via input/output interface 315 and bus 314, then executive program.Thus, select the processing of generator polynomial.
Next, with reference to the processing that is used to select generator polynomial of the flow chart description messaging device 301 of Figure 22.This processing is to select to handle basic similar the processing with 2004-370796 number (the Japan Patent spy opens (patent documentation 2) 2006-180172 number) middle generator polynomial of describing of Japanese patent application of the applicant.
Particularly, in step S51, the CPU 311 of messaging device 301 extracts the smallest hamming distance d that satisfies condition by global search MinThe maximum Max.d of the smallest hamming distance at=code length n place MinGenerator polynomial.Smallest hamming distance d MinAccording to generator polynomial and difference.Smallest hamming distance d MinValue big more, it is high more that random error detects performance, and probability of undetected error is low more.As also in patent documentation 2, describing the maximum Max.d of smallest hamming distance MinIt is the value that changes according to code length n.The details that the extraction of carrying out in step S51 with reference to the flow chart description of Figure 23 is after a while handled.
In step S52, CPU 311 from the generator polynomial of among step S51, extracting with probability of undetected error P UdAscending order select for example 10 generator polynomials, and processing finishes.The generator polynomial of selecting in step S52 is as Figure 14, Figure 16 and generator polynomial candidate target shown in Figure 180.
Next, the extraction of carrying out among the step S51 of flow chart description in Figure 22 with reference to Figure 23 is handled.
In step S61, the generator polynomial candidate target G ' at CPU 311 generated code length n places (x).
In step S62, CPU 311 determines that whether generator polynomial candidate target G ' are the reciprocal polynomials of the generator polynomial retrieved (x), that is to say that generator polynomial is as the object of the processing in step S63 and the subsequent step.
When CPU 311 determines generator polynomial candidate target G ' (x) when being the reciprocal polynomial of the generator polynomial retrieved in step S62, CPU 311 turns back to step S61 and (x) and similarly handles to generate different generator polynomial candidate target G '.The reciprocal polynomial of generator polynomial and generator polynomial has identical performance at aspects such as probability of undetected errors.Therefore, generator polynomial candidate target G ' with performance identical with the generator polynomial of having retrieved (x) is not carried out subsequent treatment.
On the other hand, when CPU 311 determines generator polynomial candidate target G ' (x) when not being the reciprocal polynomial of the generator polynomial retrieved in step S62, CPU 311 determines that in step S63 generator polynomial candidate target G ' item number w (x) is whether less than the maximum Max.d of smallest hamming distance Min
When CPU 311 determines the maximum Max.d of generator polynomial candidate target G ' item number w (x) less than smallest hamming distance in step S63 MinThe time, CPU 311 turns back to step S61 and (x) and similarly handles to generate different generator polynomial candidate target G '.As mentioned above, the maximum Max.d of smallest hamming distance MinIt is the value that changes according to code length n.Item number w means generator polynomial candidate target G ' the smallest hamming distance d (x) of present concern less than this value MinMaximum Max.d less than smallest hamming distance Min, and generator polynomial candidate target G ' (x) be not to retrieve in this processing satisfy smallest hamming distance d MinThe maximum Max.d of=smallest hamming distance MinThe generator polynomial of condition.Need m or bigger value as item number w, to realize smallest hamming distance d Min=m.
On the other hand, be not less than the maximum Max.d of smallest hamming distance as CPU 311 definite generator polynomial candidate target G ' item number w (x) in step S63 MinThe time, CPU 311 obtains the weight distribution B of generator polynomial candidate target G ' dicode (x) in step S64, use this weight distribution B in above-mentioned equation (5).As mentioned above, weight distribution B is disclosed in non-patent literature 1.
In step S65, CPU 311 obtains generator polynomial candidate target G ' smallest hamming distance d (x) Min
In step S66, CPU 311 definite smallest hamming distance d that obtained MinWhether less than the maximum Max.d of smallest hamming distance Min
When CPU 311 determines smallest hamming distance d in step S66 MinMaximum Max.d less than smallest hamming distance MinThe time, CPU 311 turns back to step S61 and (x) and similarly handles to generate different generator polynomial candidate target G '.
On the other hand, as CPU 311 definite smallest hamming distance d in step S66 MinBe not less than the maximum Max.d of smallest hamming distance MinThe time, that is to say, when CPU 311 determines that in step S66 the generator polynomial candidate target G ' that pays close attention to now is to satisfy smallest hamming distance d (x) MinThe maximum Max.d of=smallest hamming distance MinThe generator polynomial of condition the time, CPU 311 obtains probability of undetected error P according to above-mentioned equation (5) in step S67 UdCan obtain probability of undetected error P according to above-mentioned equation (4) Ud
In step S68, CPU 311 determine whether to exist also be not set to object search another generator polynomial candidate target G ' (x).
When CPU 311 determine to exist another generator polynomial candidate target G ' that also is not set to aforesaid object search (x) time in step S68, CPU 311 turns back to step S61 and (x) and similarly handles to generate different generator polynomial candidate target G '.
On the other hand, when because all generator polynomial candidate target G ' of being set to object (x) have been carried out aforesaid search, thereby CPU 311 is when determining not exist generator polynomial candidate target G ' (x) in step S68, and CPU 311 turns back to step S51 among Figure 22 to carry out subsequent treatment.
Not only can pass through hardware, can also carry out above-mentioned a series of processing by software.When carrying out this a series of processing by software, the program that constitutes software is installed to the computer that is included in the specialized hardware from program recorded medium, perhaps for example can be installed to by carrying out on the general purpose personal computer of various functions in the various programs of installation on the general purpose personal computer.
For example, provide with the state that is recorded on the removable medium 321, perhaps provide CPU the program of 311 execution, and the program that CPU 311 is carried out is installed to storage area 318 via wired or wireless transmission medium such as local area network (LAN), internet, digital broadcasting etc.
It should be noted that the program that computer is carried out for example can be the program of handling with time series with the order of describing in this manual, perhaps can be parallel or with in the program of handling such as the required timing in the moment of calling.
Embodiments of the invention are not limited to previous embodiment, can carry out various changes, and not break away from spirit of the present invention.
Explanation to Reference numeral
101 transmitting apparatus, 102 receiving equipments, 111 controllers, 112CRC encoder, 113 error recovery encoders, 114 transmission line encoders, 201 code detectors, 202 transmission line decoders, 203 error recovery decoders, 204CRC detector and 205 controllers.

Claims (10)

1. transmitting apparatus comprises:
The cyclic redundancy check (CRC) code processing apparatus, it has a plurality of generator polynomials, described a plurality of generator polynomial is used for the cyclic redundancy check (CRC) encoding process to every segment data execution of the multiple segment data with different code length degree, described cyclic redundancy check (CRC) code processing apparatus is used for selecting generator polynomial according to object data, and carries out described cyclic redundancy check (CRC) encoding process; And
Dispensing device is used to send the data that obtain by the described cyclic redundancy check (CRC) encoding process of being carried out by described cyclic redundancy check (CRC) code processing apparatus.
2. transmitting apparatus according to claim 1,
Wherein, described cyclic redundancy check (CRC) code processing apparatus have at first generator polynomial of first data with first code length and at second generator polynomial of second data with second code length as described a plurality of generator polynomials, described cyclic redundancy check (CRC) code processing apparatus is that described first data or described second data are selected one of described first generator polynomial and described second generator polynomial according to described object data, and carries out described cyclic redundancy check (CRC) encoding process.
3. transmitting apparatus according to claim 2,
Wherein, described first generator polynomial is the peaked generator polynomial that smallest hamming distance equals the smallest hamming distance under described first code length, and be the generator polynomial of from the generator polynomial of the predetermined quantity selected with the ascending order of probability of undetected error, selecting, and
Described second generator polynomial is the peaked generator polynomial that smallest hamming distance equals the smallest hamming distance under described second code length, and is the generator polynomial of selecting from the generator polynomial of the predetermined quantity selected with the ascending order of probability of undetected error.
4. the sending method of a transmitting apparatus, described transmitting apparatus has a plurality of generator polynomials, described a plurality of generator polynomial is used for the cyclic redundancy check (CRC) encoding process to every segment data execution of the multiple segment data with different code length degree, and described sending method comprises step:
Select generator polynomial according to object data, and carry out described cyclic redundancy check (CRC) encoding process; And
Send the data that obtain by described cyclic redundancy check (CRC) encoding process.
5. program that makes computer carry out the processing of transmitting apparatus, described transmitting apparatus has a plurality of generator polynomials, described a plurality of generator polynomial is used for the cyclic redundancy check (CRC) encoding process to every segment data execution of the multiple segment data with different code length degree, and described program comprises step:
Select generator polynomial according to object data, and carry out described cyclic redundancy check (CRC) encoding process; And
The data that transmission obtains by described cyclic redundancy check (CRC) encoding process.
6. receiving equipment comprises:
Deriving means is used for obtaining data based on the signal that sends from transmitting apparatus; And
The cyclic redundancy check (CRC) processing unit, it has a plurality of generator polynomials, described a plurality of generator polynomial is used for the cyclic redundancy check (CRC) that every segment data of the multiple segment data with different code length degree is carried out is handled, and described cyclic redundancy check (CRC) processing unit is used for by selecting generator polynomial according to the data of being obtained by described deriving means and carrying out described cyclic redundancy check (CRC) and handle and detect data error.
7. receiving equipment according to claim 6,
Wherein, described cyclic redundancy check (CRC) processing unit have at first generator polynomial of first data with first code length and at second generator polynomial of second data with second code length as described a plurality of generator polynomials, described cyclic redundancy check (CRC) processing unit is that described first data or described second data are selected one of described first generator polynomial and described second generator polynomial according to the data of being obtained by described deriving means, and carries out described cyclic redundancy check (CRC) and handle.
8. receiving equipment according to claim 7,
Wherein, described first generator polynomial is the peaked generator polynomial that smallest hamming distance equals the smallest hamming distance under described first code length, and be the generator polynomial of from the generator polynomial of the predetermined quantity selected with the ascending order of probability of undetected error, selecting, described second generator polynomial is the peaked generator polynomial that smallest hamming distance equals the smallest hamming distance under described second code length, and is the generator polynomial of selecting from the generator polynomial of the predetermined quantity selected with the ascending order of probability of undetected error.
9. the method for reseptance of a receiving equipment, described receiving equipment has a plurality of generator polynomials, described a plurality of generator polynomial is used for the cyclic redundancy check (CRC) that every segment data of the multiple segment data with different code length degree is carried out is handled, and described method of reseptance comprises step:
Obtain data based on the signal that sends from transmitting apparatus; And
By selecting generator polynomial according to the data obtained and carrying out described cyclic redundancy check (CRC) and handle and detect data error.
10. program that makes computer carry out the processing of receiving equipment, described receiving equipment has a plurality of generator polynomials, described a plurality of generator polynomial is used for the cyclic redundancy check (CRC) that every segment data of the multiple segment data with different code length degree is carried out is handled, and described program comprises step:
Obtain data based on the signal that sends from transmitting apparatus; And
By selecting generator polynomial according to the data obtained and carrying out described cyclic redundancy check (CRC) and handle and detect data error.
CN2009801121320A 2008-04-02 2009-04-02 Transmission device and method, reception device and method, and program Expired - Fee Related CN101983481B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008096273A JP4798164B2 (en) 2008-04-02 2008-04-02 Transmitting apparatus and method, receiving apparatus and method, and program
JP2008-096273 2008-04-02
PCT/JP2009/056881 WO2009123280A1 (en) 2008-04-02 2009-04-02 Transmission device and method, reception device and method, and program

Publications (2)

Publication Number Publication Date
CN101983481A true CN101983481A (en) 2011-03-02
CN101983481B CN101983481B (en) 2013-11-20

Family

ID=41135647

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801121320A Expired - Fee Related CN101983481B (en) 2008-04-02 2009-04-02 Transmission device and method, reception device and method, and program

Country Status (5)

Country Link
US (1) US9209931B2 (en)
EP (1) EP2264905A4 (en)
JP (1) JP4798164B2 (en)
CN (1) CN101983481B (en)
WO (1) WO2009123280A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109327224A (en) * 2013-05-07 2019-02-12 华为技术有限公司 A kind of method, apparatus and system of encoding and decoding

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2011142133A1 (en) 2010-05-11 2013-07-22 エイシップ・ソリューションズ株式会社 Error correction code processing method and apparatus
WO2018207155A2 (en) * 2017-05-12 2018-11-15 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive crc length for beam sweeping
US10530523B2 (en) 2017-11-20 2020-01-07 International Business Machines Corporation Dynamically adjustable cyclic redundancy code rates
US10530396B2 (en) 2017-11-20 2020-01-07 International Business Machines Corporation Dynamically adjustable cyclic redundancy code types
US10541782B2 (en) 2017-11-20 2020-01-21 International Business Machines Corporation Use of a cyclic redundancy code multiple-input shift register to provide early warning and fail detection
US10419035B2 (en) 2017-11-20 2019-09-17 International Business Machines Corporation Use of multiple cyclic redundancy codes for optimized fail isolation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6848072B1 (en) * 2000-09-19 2005-01-25 Bbn Solutions Llc Network processor having cyclic redundancy check implemented in hardware
JP2006180172A (en) * 2004-12-22 2006-07-06 Sony Corp Selecting method of crc generator polynomial, crc encoding method, and crc encoding circuit
US7162675B2 (en) * 2002-04-05 2007-01-09 Lucent Technologies Inc. Error detection methods in wireless communication systems

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4763332A (en) * 1987-03-02 1988-08-09 Data Systems Technology Corp. Shared circuitry for the encoding and syndrome generation functions of a Reed-Solomon code
JP2816223B2 (en) * 1990-03-02 1998-10-27 株式会社日立製作所 Cell synchronization circuit
JPH04211547A (en) * 1990-03-20 1992-08-03 Fujitsu Ltd Synchronous circuit
JP2998366B2 (en) * 1991-12-03 2000-01-11 富士通株式会社 CRC check method
JPH10117147A (en) * 1996-10-09 1998-05-06 Nec Corp Data generating circuit for error check
JPH10233700A (en) * 1997-02-20 1998-09-02 Oki Electric Ind Co Ltd Crc error check method, crc error check system, monitor control method and monitor control system
DE19736434C3 (en) * 1997-08-21 2002-08-22 Nokia Mobile Phones Ltd Methods and devices for recognizing the position of data packets lying in a serial data reception stream
US6085349A (en) 1997-08-27 2000-07-04 Qualcomm Incorporated Method for selecting cyclic redundancy check polynomials for linear coded systems
US6192498B1 (en) * 1997-10-01 2001-02-20 Globepan, Inc. System and method for generating error checking data in a communications system
WO2000044105A1 (en) * 1999-01-21 2000-07-27 Samsung Electronics Co., Ltd. A communication apparatus and method for a cdma communication system
US6530057B1 (en) * 1999-05-27 2003-03-04 3Com Corporation High speed generation and checking of cyclic redundancy check values
US6681364B1 (en) * 1999-09-24 2004-01-20 International Business Machines Corporation Cyclic redundancy check for partitioned frames
TW498312B (en) * 1999-09-29 2002-08-11 Sony Corp Disc-shaped recording medium, data recording device and method thereof, and data recovery device
US6456875B1 (en) * 1999-10-12 2002-09-24 Medtronic, Inc. Cyclic redundancy calculation circuitry for use in medical devices and methods regarding same
JP2001285076A (en) * 2000-03-31 2001-10-12 Ando Electric Co Ltd Circuit and method for operating crc code
GB2372337B (en) * 2000-08-18 2004-10-20 Sgs Thomson Microelectronics Error checking
US6732317B1 (en) * 2000-10-23 2004-05-04 Sun Microsystems, Inc. Apparatus and method for applying multiple CRC generators to CRC calculation
US6931581B1 (en) * 2000-10-25 2005-08-16 Sun Microsystems, Inc. Method for superimposing a sequence number in an error detection code in a data network
US6684363B1 (en) * 2000-10-25 2004-01-27 Sun Microsystems, Inc. Method for detecting errors on parallel links
JP2002141809A (en) * 2000-10-31 2002-05-17 Ando Electric Co Ltd Circuit and method for operating crc code
JP2002164791A (en) * 2000-11-27 2002-06-07 Ando Electric Co Ltd Circuit and method for operating crc code
US6701478B1 (en) * 2000-12-22 2004-03-02 Nortel Networks Limited System and method to generate a CRC (cyclic redundancy check) value using a plurality of CRC generators operating in parallel
US6810501B1 (en) * 2001-01-03 2004-10-26 Juniper Networks, Inc. Single cycle cyclic redundancy checker/generator
US6732318B2 (en) * 2001-04-03 2004-05-04 Sun Microsystems, Inc. Variable width parallel cyclical redundancy check
US6820228B1 (en) * 2001-06-18 2004-11-16 Network Elements, Inc. Fast cyclic redundancy check (CRC) generation
US6988161B2 (en) * 2001-12-20 2006-01-17 Intel Corporation Multiple port allocation and configurations for different port operation modes on a host
US7246303B2 (en) * 2002-03-25 2007-07-17 Intel Corporation Error detection and recovery of data in striped channels
US6961893B1 (en) * 2002-03-28 2005-11-01 Adaptec, Inc. Separable cyclic redundancy check
EP1499024B1 (en) * 2002-04-22 2010-06-30 Fujitsu Limited Error-detection encoder and decoder
US6938197B2 (en) * 2002-08-01 2005-08-30 Lattice Semiconductor Corporation CRC calculation system and method for a packet arriving on an n-byte wide bus
US7290196B1 (en) * 2003-03-21 2007-10-30 Cypress Semiconductor Corporation Cyclical redundancy check using nullifiers
US7191383B2 (en) * 2003-03-28 2007-03-13 International Business Machines Corporation System and method for optimizing iterative circuit for cyclic redundancy check (CRC) calculation
US7571370B2 (en) * 2003-06-19 2009-08-04 Lsi Logic Corporation Configurable, fast, 32-bit CRC generator for 1-byte to 16-bytes variable width input data
US7523305B2 (en) * 2003-12-17 2009-04-21 International Business Machines Corporation Employing cyclic redundancy checks to provide data security
US7249306B2 (en) * 2004-02-20 2007-07-24 Nvidia Corporation System and method for generating 128-bit cyclic redundancy check values with 32-bit granularity
US7546512B2 (en) * 2004-09-23 2009-06-09 Intel Corporation Techniques to perform error detection
US7583664B2 (en) * 2004-12-28 2009-09-01 Michael Ho Techniques for transmitting and receiving traffic over advanced switching compatible switch fabrics
US7363573B1 (en) * 2005-01-10 2008-04-22 Xilinx, Inc. Method and apparatus for a dedicated cyclic redundancy check block within a device
US7761776B1 (en) * 2005-11-03 2010-07-20 Xilinx, Inc. Method and apparatus for a modular, programmable cyclic redundancy check design
JP4764973B2 (en) * 2005-12-09 2011-09-07 独立行政法人産業技術総合研究所 CRC value calculation device
US7916641B2 (en) * 2006-06-29 2011-03-29 Wi-Lan, Inc. System and process for packet delineation
US8341510B2 (en) * 2007-06-22 2012-12-25 Sony Corporation CRC generator polynomial select method, CRC coding method and CRC coding circuit
JP5298621B2 (en) * 2007-12-21 2013-09-25 ソニー株式会社 Transmitting apparatus and method, receiving apparatus and method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6848072B1 (en) * 2000-09-19 2005-01-25 Bbn Solutions Llc Network processor having cyclic redundancy check implemented in hardware
US7162675B2 (en) * 2002-04-05 2007-01-09 Lucent Technologies Inc. Error detection methods in wireless communication systems
JP2006180172A (en) * 2004-12-22 2006-07-06 Sony Corp Selecting method of crc generator polynomial, crc encoding method, and crc encoding circuit

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109327224A (en) * 2013-05-07 2019-02-12 华为技术有限公司 A kind of method, apparatus and system of encoding and decoding
CN109327224B (en) * 2013-05-07 2022-04-05 华为技术有限公司 Method, device and system for encoding and decoding

Also Published As

Publication number Publication date
JP2009253440A (en) 2009-10-29
EP2264905A4 (en) 2016-01-20
CN101983481B (en) 2013-11-20
WO2009123280A1 (en) 2009-10-08
JP4798164B2 (en) 2011-10-19
US9209931B2 (en) 2015-12-08
EP2264905A1 (en) 2010-12-22
US20110029838A1 (en) 2011-02-03

Similar Documents

Publication Publication Date Title
US10536171B2 (en) Encoding/decoding method, device, and system
CN101465715B (en) Transmission apparatus and method, reception apparatus and method, and program
CN101983481B (en) Transmission device and method, reception device and method, and program
US8745469B2 (en) Signal segmentation method and CRC attachment method for reducing undetected error
JP3549788B2 (en) Multi-stage encoding method, multi-stage decoding method, multi-stage encoding device, multi-stage decoding device, and information transmission system using these
US8341510B2 (en) CRC generator polynomial select method, CRC coding method and CRC coding circuit
US8887021B2 (en) Continuously interleaved error correction
KR100294436B1 (en) Transmission-reception communication system and encoding method
GB2259633A (en) Detecting speech or control channels in a mobile radio system
EP2264930B1 (en) Distributed code generation method and device
Luyi et al. Forward error correction
CN110943745B (en) Polarization code BP decoding method and system for early terminating iterative output result
RU2295196C1 (en) Communication channel quality control method
JP4379329B2 (en) CRC generator polynomial selection method, CRC encoding method, and CRC encoding circuit
JP2002517120A (en) Transmission system with simplified channel decoder
RU2608872C1 (en) Method of encoding and decoding block code using viterbi algorithm
JP2004015171A (en) Tfci decoder circuit and decoding method
Anfalov et al. Comparative analysis of coding effectiveness in telecommunication systems with ARQ
US6411663B1 (en) Convolutional coder and viterbi decoder
JP2013118445A (en) Communication device, communication method and communication program
JP2006345475A (en) Network data transmission error detection/correction architecture and method
Cideciyan et al. Shortened cyclic codes for correcting and detecting burst errors
Jianhua et al. Performance evaluation of a reliable broadcast scheme for satellite communications
Baicheva Linear Codes of Good Error Control Performance.
JPH08251036A (en) Error correcting and decoding method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20131120

Termination date: 20190402

CF01 Termination of patent right due to non-payment of annual fee