WO2003090362A1 - Codeur et decodeur de detection d'erreur, et diviseur - Google Patents

Codeur et decodeur de detection d'erreur, et diviseur Download PDF

Info

Publication number
WO2003090362A1
WO2003090362A1 PCT/JP2002/003965 JP0203965W WO03090362A1 WO 2003090362 A1 WO2003090362 A1 WO 2003090362A1 JP 0203965 W JP0203965 W JP 0203965W WO 03090362 A1 WO03090362 A1 WO 03090362A1
Authority
WO
WIPO (PCT)
Prior art keywords
bit
remainder
data
error detection
sub
Prior art date
Application number
PCT/JP2002/003965
Other languages
English (en)
French (fr)
Inventor
Kazuhisa Obuchi
Tetsuya Yano
Takaharu Nakamura
Original Assignee
Fujitsu Limited
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 Fujitsu Limited filed Critical Fujitsu Limited
Priority to EP02720542A priority Critical patent/EP1499024B1/en
Priority to PCT/JP2002/003965 priority patent/WO2003090362A1/ja
Priority to DE60236896T priority patent/DE60236896D1/de
Priority to EP10150593A priority patent/EP2175559A1/en
Priority to JP2003587014A priority patent/JP3930479B2/ja
Publication of WO2003090362A1 publication Critical patent/WO2003090362A1/ja
Priority to US10/970,859 priority patent/US7428693B2/en

Links

Classifications

    • 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
    • H03M13/091Parallel or block-wise CRC computation
    • 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
    • H03M13/093CRC update after modification of the information word
    • 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/0041Arrangements at the transmitter end
    • H04L1/0043Realisations of complexity reduction techniques, e.g. use of look-up tables
    • 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/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end

Definitions

  • the present invention relates to an error detection coding / decoding device and a division device, and more particularly to an error detection coding device and a parity generation device for generating an error detection parity bit of an input data sequence and adding the parity bit to the data sequence.
  • the present invention relates to an error detection decoding device that performs error detection processing on an input data sequence to which a bit is added to detect an error in an input data sequence, and a division device that can be used in these error detection encoding and decoding devices.
  • Error detection codes are used in systems that require data to be transmitted without error when performing data communications, such as mobile communications, faxes, and cash dispensers in banks, or large-capacity devices such as magnetic disks and CDs. Applied to systems that require data to be read without error when storing data.
  • An error detection code is usually used in combination with an error correction code to detect an error that cannot be completely corrected by error correction. If an error is detected, retransmission control and reread control are performed. Will be
  • Figure 42 shows a configuration example of a system to which error detection is applied.
  • the error detection coding unit 1b performs an error detection coding process on the data string of a predetermined bit length generated by the information generation unit 1a, and the error correction coding unit 1c performs convolutional coding or
  • the input data sequence is error-correction-coded by turbo coding or the like, and transmitted to the receiving side 3 via the communication channel 2.
  • the error correction decoding unit 3a decodes the input coded data sequence by an error correction decoding process, and inputs the decoded data sequence to the error detection decoding unit 3b.
  • Error detection decoding section 3b performs error detection decoding processing on the decoded data sequence to detect the presence or absence of an error, and if there is an error, sends a retransmission request signal RRQ to the transmitting side.
  • the information extraction unit 3c extracts and outputs data if there is no error.
  • CRC Cyclic Redundancy Check
  • the CRC side on the transmitting side assumes that a data sequence of a predetermined bit length is a polynomial, divides it by a polynomial (generation polynomial) for generating an error detection code, and the remainder becomes zero.
  • the receiving side regards the received data sequence as a polynomial, divides it by the same generator polynomial as the transmitting side, and determines that there is no error if the remainder is ⁇ and that there is an error if the remainder is not zero.
  • k-bit information is regarded as a polynomial and is defined as K (x), and the polynomial ⁇ ( ⁇ ) is divided by the generator polynomial G (x) so that the parity bit is set so that the remainder becomes zero. Attach For example, if the generator polynomial G (x) is 16 bits,
  • ⁇ 6 ⁇ ( ⁇ ) means a data string in which 16-bit “0” is added to the lower order side of a k-bit data string.
  • This CRC calculation device is provided on the 16-stage shift register SR and on the input side at the 0-bit position, 5-bit position, and 12-bit position, and is exclusive of the output data of the previous stage and the built-in pack data.
  • Exclusive OR circuit Exclusive OR circuit that performs a logical OR operation. It is composed of EOR1 to EOR3 and a switch SW provided on the output side at the 15-bit position.
  • W '(X) is 48 bits during error detection decoding
  • a 48-bit signal from a higher order is operated while operating the shift register SR in EOR1 of the CRC arithmetic unit with the same configuration as in Fig. 43 (A).
  • the contents of register SR become the remainder R (x), so if this is all "0", it is determined that there is no error. If at least one is not "0", it is determined that there is an error. I do.
  • Fig. 43 (B) shows the CRC calculation device (G (x)) in which the number of calculations is reduced by correcting the data input position in Fig. 43 (A).
  • the EOR 1 position for data input has moved from the left end to the right end.
  • division is performed by inputting EOR1 one bit at a time from the higher order side of the data row, as in the case of Fig. 2 (A). It positions the EOR1 than 2 (A) and just moved from the left end to the right end, which is equivalent to being input while multiplying ⁇ ⁇ 6 to the input data sequence.
  • the CRC arithmetic unit In error detection decoding, if the input data sequence (X) is 48 bits with a parity bit (the lower 16 bits are parity bits), the CRC arithmetic unit with the same configuration as in Fig. 43 (B) Input a 32-bit data string from the higher order to the EOR1 while operating the shift register SR. When the 32-bit input is completed, the contents of register SR become a remainder, and this remainder is compared with the remaining 16-bit parity.If there is a perfect match, it is determined that there is no error. Judge that there is. With this, The number of calculations can be reduced to 32.
  • error detection decoding can be performed as follows. In other words, if the input data string W (X) is 48 bits with parity bits (the lower 16 bits are parity bits), the EOR1 of the CRC arithmetic unit with the same configuration as in Figure 43 (B) Input all 48-bit data strings from the higher order while operating shift register SR. In this case, if all the contents of the shift register SR are "0", it is determined that there is no error, and if not all "0", it is determined that there is an error. Note that the content of the register SR in this error detection decoding method is not the remainder, but indicates the result of the match detection.
  • K (x) ⁇ 31+ ⁇ 30 + ⁇ 29 + ⁇ 28 + ,, + ⁇ 2 + ⁇ 1 + 1
  • R (x) ⁇ 15 + ⁇ 12 + ⁇ ⁇ + ⁇ 8 + ⁇ 7 + ⁇ 6 + ⁇ 3 + ⁇ 2 + ⁇ +1
  • Fig. 43 (B) In the CRC calculation device shown in Fig. 43 (B), in the initial state, the value of register SR is all "0" To With the switch SW on the A side, only the information bits excluding the parity bit in the input data string W (x) 'are sequentially input. A match between the value of the register SR when only the information bits have been input and the parity bit, which is the remaining bits of the input data string, is detected. If they match, there is no error, and if they do not match, there is an error.
  • Fig. 45 shows the encoded data obtained by adding a 16-bit parity bit to a 32-bit "all" data string and inputting one bit per clock to EOR1 in Fig. 43 (B) from the next side.
  • Error detection is performed based on whether or not P 1 matches.As described above, error detection is performed based on whether or not the calculated parity and the parity added to the input data sequence match.
  • the decoding method is called a match detection decoding method.
  • Figure 46 shows encoded data in which a 16-bit parity bit is added to a 32-bit all-in-one data string. This indicates the contents of the register SR when input is performed.Check whether the value of the shift register SR is all 0 when input of 32 bits of encoded data and 16 bits of parity has been completed. However, if all 0, there is no error, and if there is at least one, there is an error.As described above, there is no error if all "0", and there is an error if there is even one "" ". Is referred to as an all "0" detection decoding method.
  • the CRC operation requires at least the operation of the information bit length. That is, the error detection encoder and decoder of FIGS. 44 to 46 require at least 32 clocks.
  • the 4th generation (new generation) mobile communication system is said to have a maximum information rate of 100 Mbps or more (wireless LANs of 1 Gbps or more).
  • CRC calculation Requires a 100MHz clock. Even in this case, a delay of one packet length is caused only by CRC error detection.
  • retransmission control is further taken into consideration, it takes time to generate a retransmission signal request, which leads to a significant reduction in data transmission speed.
  • Fig. 47 shows the time chart on the receiving side in the case shown in Fig. 47. If packet # 1 is received and it is NG, it will be understood that the retransmission request will be made after packet # 7. If the CRC calculation is performed at high speed, a retransmission request can be made before that.
  • an object of the present invention is to reduce the time required for CRC calculation.
  • Another object of the present invention is to reduce the packet delay time even when retransmission control is performed.
  • a first aspect of the present invention is an error detection encoding device that creates a parity bit by an error detection encoding process, adds the parity bit to an input data sequence, and encodes it.
  • the data dividing means divides the input data sequence to be subjected to the error detection coding into a plurality of pieces, and the dividing means divides the divided sub-data strings by a generator polynomial, calculates the remainder, and performs conversion.
  • the error detection encoding process of the present invention if the data sequence is divided into n by the data dividing means, the time required for the CRC operation (parity bit operation) can be reduced to approximately 1 / n. it can.
  • the second and third aspects of the present invention are error detection decoding devices that perform error detection processing on an input data sequence to which a parity bit has been added and detect errors in the input data sequence.
  • the data dividing means duplicates the input data sequence.
  • the division means divides the divided sub-data sequence by a generator polynomial to calculate the remainder, and the conversion means performs, for each residue, a conversion process corresponding to the division position of the sub-data sequence to the remainder.
  • the combining means combines the converted values obtained by the conversion processing and outputs a parity bit, and the error detection unit determines that the parity bit matches the parity bit added to the input data. The presence or absence of an error in the input data is detected based on whether or not there is an error.
  • the data dividing means divides the input data sequence including the parity bit into a plurality of parts, and the dividing means divides the divided sub-data sequence by a predetermined generator polynomial and divides the remainder.
  • the conversion means performs a conversion process on the remainder in accordance with the division position of the sub-data sequence for each of the residues, and a combining unit combines the converted values obtained by the conversion process, and performs error detection.
  • the module detects whether or not there is an error in the input data based on whether or not the combination result is all bits "0".
  • the time required for the CRC operation can be reduced to approximately one. Error detection can be performed in a short time. In addition, even when retransmission control is performed, the packet delay time can be reduced.
  • the fourth invention is a division device that regards a K-bit input data sequence as a first polynomial, divides the same by a second polynomial, and calculates the remainder ⁇ ⁇ .
  • the data dividing means divides the input data string into a plurality of pieces, and the dividing means divides the information bits of the sub data string by the second polynomial for each divided sub data string, treating the information bits of the sub data string as a polynomial.
  • the conversion unit calculates the remainder, and performs a conversion process on the remainder in accordance with the division position of the sub-data string for each of the residues, and a combining unit combines the converted values obtained by the conversion process.
  • the combined result is the remainder when the K-bit input data sequence is divided by the second polynomial.
  • this division device if the data sequence is to be divided by ⁇ by the data dividing means, the division is performed.
  • the time can be reduced to approximately 1 ⁇ ⁇ .
  • FIG. 1 is a block diagram of an error detecting encoder according to the present invention.
  • FIG. 2 is an explanatory diagram of a 16 x 16 matrix that performs 1-bit shift in the CRC calculation device.
  • Fig. 7 is a connection configuration diagram of the CRC calculation device and the 8-bit shift device.
  • Fig. 8 is a connection configuration diagram of the CRC calculation device and the 16-bit shift device.
  • FIG. 9 is a connection configuration diagram of the CRC operation device and the 24-bit shift device.
  • FIG. 10 is a diagram illustrating a first operation of the error detection encoder.
  • FIG. 11 is an explanatory diagram of a second operation of the error detection encoder.
  • FIG. 12 is a diagram illustrating a third operation of the error detection encoder.
  • FIG. 13 is a diagram illustrating a fourth operation of the error detection encoder.
  • FIG. 14 is an explanatory diagram of a fifth operation of the error detection encoder.
  • FIG. 15 is a block diagram of the error detection decoder according to the present invention.
  • FIG. 16 is a diagram illustrating a first operation of the error detection decoder.
  • FIG. 17 is a diagram illustrating a second operation of the error detection decoder.
  • FIG. 18 is a diagram illustrating a third operation of the error detection decoder.
  • FIG. 19 is a diagram illustrating a fourth operation of the error detection decoder.
  • FIG. 20 is a diagram illustrating a fifth operation of the error detection decoder.
  • FIG. 21 is a block diagram of another error detection decoder according to the present invention.
  • FIG. 22 is a diagram illustrating a first operation of the error detection decoder.
  • FIG. 23 is an explanatory diagram of a second operation of the error detection decoder.
  • FIG. 24 is a diagram illustrating a third operation of the error detection decoder.
  • FIG. 25 is a diagram for explaining a fourth operation of the error detection decoder.
  • FIG. 26 is a diagram illustrating a fifth operation of the error detection decoder.
  • FIG. 27 is an explanatory diagram of a sixth operation of the error detection decoder.
  • FIG. 28 is an explanatory diagram of a seventh operation of the error detection decoder.
  • FIG. 29 is an explanatory diagram of advantages of the present invention.
  • FIG. 30 is a configuration diagram of the error detection encoder according to the first embodiment.
  • FIG. 31 is a configuration diagram of an error detection decoder according to the second embodiment.
  • FIG. 32 is a configuration diagram of an error detection decoder according to the third embodiment.
  • FIG. 33 is a configuration diagram of the error detection decoder of the fourth embodiment.
  • FIG. 34 is a configuration diagram of the error detection decoder of the fifth embodiment.
  • FIG. 35 is a configuration diagram of the error detection decoder of the sixth embodiment.
  • FIG. 36 is a configuration diagram of the error detection decoder of the seventh embodiment.
  • FIG. 37 is a configuration diagram of the entire system and an explanatory diagram of data processing.
  • FIG. 38 is a configuration diagram of an error detection decoder as an application example of the seventh embodiment.
  • FIG. 39 is a configuration diagram of the error detection decoder of the eighth embodiment.
  • FIG. 40 is an explanatory diagram of data processing.
  • FIG. 41 is another configuration diagram of the error detection decoder of the eighth embodiment.
  • Figure 42 is an example of the configuration of a system to which error detection is applied.
  • FIG. 44 illustrates the operation of the error detection encoder.
  • FIG. 45 is an explanatory diagram of the coincidence detection decoding method.
  • FIG. 46 is an explanatory diagram of the all- "0" detection decoding method.
  • FIG. 47 is an explanatory diagram of a conventional problem.
  • W '(x) / G (x) X 2 * A (x) / G (x) + xi6B (x) / G (x) + x 8 C (x) / G (x) + D (x) / G (x) Is expressed as
  • RA (X) The calculation of RA '(X) is performed as follows. RA '(X)
  • Figure 1 is a block diagram of the error detection encoder of the present invention when the error detection encoding target is a 32-bit data sequence b0 to b31.
  • the input data division unit 11 converts the 32-bit input data system Ub0 to b31 into 8 bits each of b0 to b7 and b8 to! D 15, bl6 ⁇ b23, b24 ⁇ b31
  • the polynomials represented by 8-bit information b24 to b31 are A (x), bl6 to!
  • the polynomials represented by 323 8-bit information are B (x), b8 ⁇ ! )
  • C (x) be the polynomial expressed by 15 pieces of 8-bit information
  • D (x) the polynomial expressed by 8 bits of b0 to b7.
  • Each of the CRC calculators 12A, 12B, 12C, and 12D has the configuration shown in FIG. Let 1 be a generator polynomial
  • the 24-bit shift unit 13A processes the remainder RA (X) by 24 bits and calculates the remainder RA '(X) of ⁇ 24 ⁇ ( ⁇ ) / G (x), and the 16-bit shift unit 13B computes the remainder RB ( X) is subjected to 16-bit shift processing to calculate the remainder RB '(X) of ⁇ 6 ⁇ ( ⁇ ) G (x), and the 8-bit shift unit 13C shifts the remainder Rc (x) by 8 bits. Process and calculate the remainder Rc '(x) of xsCOOZ GOc). If RA ′ (x), RB ′ (X), RC ′ (X), and RD ′ (x) are obtained, the combining unit 14
  • the remainder is synthesized by (exclusive OR (EX-OR) operation for each bit), and the remainder when the 32-bit input data sequence is divided by the generator polynomial G (x), that is, 16 Outputs the CRC parity bit of the bit.
  • EX-OR exclusive OR
  • the time required for the CRG operation can be reduced to one-fourth of the conventional time. can be shortened to n.
  • N-bit shift device N-bit shift device
  • FIG. 2 shows that the CRC operation device shown in FIG. 43 (B) performs one-bit shift operation equivalent to inputting one “0” and shifting the contents of the shift register SR by one bit.
  • FIG. 4 is an explanatory diagram of a matrix of X 16. The way of looking at this matrix indicates which bit before shift is obtained by the EX-OR operation of each bit after shift in shift register SR. The bit before the shift that is the target of the EX-OR operation is the bit with a "1". For example, the 5th bit after the shift is obtained by the EX-OR of the 4th bit and the 15th bit before the shift, and the 12th bit after the shift is the 12th bit before the shift. It is determined by the 11-bit and 15-bit EX-OR.
  • the 0th bit after the shift is the value of the 15th bit before the shift because only one “ ⁇ ” stands.
  • the 1st bit after the shift is the value before the shift.
  • the 0th bit and the 2nd bit after the shift are the value of the 1st bit before the shift.
  • the 8-bit shift device 13C in FIG. 1 converts the 16-bit remainder Rc (x) (represented by a 16 ⁇ 1 matrix) output from the CRC operation device 12C into the right side of FIG. 4 (A). it can be realized Ri by the multiplication circuit for multiplying the conversion matrix a 8.
  • FIG. 7 is a connection configuration diagram of the CRC operation device 12C and the 8-bit shift device 13C.
  • 8-bit Toshifu Bok device 13C are No ⁇ result of the conversion matrix A 8 and remainder RCG 16 bit Rc '(x) 16 EOR It is configured to output using a circuit.
  • the 16-bit shift unit 13B in FIG. 1 converts the 16-bit remainder RB (X) (represented by a 16 ⁇ 1 matrix) output from the CRC operation unit 12B into a conversion matrix on the right side of FIG. 4 (B). This can be realized by a multiplication circuit that multiplies A.
  • Fig. 8 is a connection configuration diagram of the CRC calculation device 12B and the 16-bit shift device 13B.
  • the 16-bit shift device 13B has a conversion matrix A And the remainder: 16-bit RB '(X), which is the result of multiplication with RB (X), is output using 16 EOR circuits.
  • FIG. 9 is a connection configuration diagram of the CRC operation device 12A and the 24-bit shift device 13A.
  • 24 bit Toshifu winding device 13A although not shown, FIG. 7, the multiplication result is a 16-bi Tsu Bok and 8 similarly to the transformation matrix A 24 and a remainder RA (X) RA 'of 16 (X) It is configured to output using an EOR circuit.
  • 10 to 14 are explanatory diagrams of the operation of each unit of the error detection encoder, and assume that the input data is 32-bit all " ⁇ ".
  • FIG 10 (A), (B) is an operation explanatory diagram of the respective CRC arithmetic unit 12A and 24 bit Toshifu winding device 13A, the CRC arithmetic unit 12B sequentially Kai3i ⁇ chi 24 is input at 8 clock higher order side Then, when the input of 24 is completed, the contents of the shift register SR become the remainder RA (X) of A (x) / G (x).
  • the 24-bit shift device 13A multiplies the transformation matrix A 24 by the matrix RA (X) of 16X1 and outputs the remainder RA ′ (X) of x 24 A (x) ZG (x).
  • x A m in the figure refers to X m.
  • Figure 11 (A), (B) is an operation explanatory diagram of the respective CRC arithmetic unit 12B and 16-bit Toshifu winding device 13B, the CRC arithmetic unit 12B sequentially X 23 ⁇ x "in 8 clock higher order side
  • the contents of the shift register SR become the remainder RB (X) of B (x) / G (x)
  • the 16-bit shift unit 13B converts the transformation matrix and the 16X1 matrix RB ( X) multiplied by x to output the remainder R B '(x) of x ls B ( X ) / G (x).
  • Figure 12 (A), (B) is an operation explanatory diagram of the respective CRC arithmetic unit 12C and 8-bit Toshifu winding device 13C, sequential X i 5 ⁇ x the CRC arithmetic unit 12C in 8 clock Ri by higher order side 8 is input, and when the input of ⁇ 8 is completed, the contents of the shift register SR become C (x) ZG (x). The remainder is Rc (x). 8 bit Bok shift device 13C outputs the remainder Rc '(x) of by multiplying matrix Hc (x) of the transformation matrix A 8 and 16X1 x 8 C (x) _ G (x).
  • FIG. 14 is an explanatory diagram of the operation of the synthesizing unit 14.
  • the combining unit 14 performs an EX-OR operation corresponding to the bits of the calculated remainders RA '(X), RB' (X), RC '(X), and RD (X) to obtain a 16-bit CRC parity. Output.
  • FIG. 15 is a block diagram of an error detection decoder according to the present invention when a CRC parity bit of 16 bits is added to the lower order side of input data of 32 bits.
  • the data dividing section 21 has a 32-bit input data string bl6 to! 6 excluding the CRC parity bit. ) 47 in 8-bit bl6-b23, b24-! ) 31, b32 ⁇ b39, b40 ⁇ ! Harm to 47)! ) Then ⁇ 24 ⁇ ( ⁇ ) + ⁇ 6 ⁇ ( ⁇ ) + ⁇ 8 C (x) + D (x)
  • the polynomials represented by 8-bit information b40 to b47 are A (x), b32 to! B (x) represents the polynomial represented by 339 8-bit information, C (x) represents the polynomial represented by 8-bit information b24 to b31, and bl6 to! )
  • D (x) be the polynomial represented by 23 8-bit information.
  • the data division unit 21 separates and outputs the CRC parity bits P (x) of b0 to bl5.
  • Each of the CRC calculation devices 22A, 22B, 22C, and 22D has the configuration shown in FIG. As a generator polynomial
  • the 24-bit shift unit 23A processes the remainder I (x) by 24 bits to calculate the remainder of ⁇ 24 ⁇ ( ⁇ ) / G (x), and the 16-bit shift unit 23B converts the remainder R B (x) to 16 Bit shift processing is performed to calculate the remainder RB '(X) of xi 6 B (x) / G (x), and the 8-bit shift unit 23C performs 8-bit shift processing on the remainder Rc (x).
  • the remainder R c '(x) of x8C (x) ZG (x) is calculated.
  • Each of the shift devices 23A to 23 can be configured similarly to the error detection encoder. If R A '(x), RB' (X), RC '(X) and RD' (x) are obtained,
  • G (x), ie, the parity bit P '(x ) Is output.
  • the comparator 25 compares the calculated 16-bit parity bit P ′ ( ⁇ ) with the 16-bit parity bit P (x) added to the input data in a bit-by-bit manner, and if all match, Judge that there is no error, and if even one does not match, judge that there is an error.
  • 16 to 2 0 are each part operation explanatory view of the error detection decoder, input data of 48 bit - 16-bit ⁇ ⁇ ⁇ 5 lower order side of the data is CRC parity bits, high-order of the side 32-bit ⁇ 6 ⁇ ⁇ 4? it is assumed to be all "1".
  • Figure 16 (A), ( ⁇ ) is a diagram for describing the operation of CRC arithmetic unit 22 ⁇ and 24 bit Toshifu winding device 23 ⁇ respectively, the CRC arithmetic unit 22 ⁇ sequential X 47 ⁇ 8 clock Ri by higher order side. Is input, and the content of the shift register when the input of « ⁇ is completed becomes the remainder RA (X) of ⁇ ( ⁇ ) / G (x).
  • the 24-bit Toshifu winding device 23A outputs the remainder RA '(X) of by multiplying matrix RA of the transformation matrix and 16X1 (X) x 24 A ( x) ZG (x).
  • Figure 17 (A), (B) is a diagram for describing the operation of each CRC arithmetic unit 22B and 16-bit Toshifu winding device 23B, the CRC arithmetic unit 22B sequentially X 39 ⁇ X 32 8 clock Ri by higher order side type, the contents of the shift register SR is beta (chi) / remainder RB of G (x) (X) when the input of X 32 is completed.
  • the 16-bit shift device 23B multiplies the transformation matrix A ⁇ 6 by the matrix RB (X) of 16X1 and outputs the remainder RB '(X) of xisB (x) "G (x).
  • FIGS. 18 (A) and (B) are explanatory diagrams of the operation of the CRC operation unit 22C and the 8-bit shift unit 23C, respectively.
  • the CRC operation unit 22C has xsi to ⁇ 24 in 8 clocks from the higher side. There type, the contents of the input is complete and Kino shift register SR X 24 is C (x) / G remainder Rc of (x) (x).
  • 8-bit Toshifu winding device 23C outputs the remainder Rc '(x) of by multiplying matrix Rc (x) of the transformation matrix A 8 and 16X1 x 8 C (x) G (x).
  • Figure 19 is a diagram for describing the operation of CRC arithmetic unit 22D, sequentially X 23 ⁇ ? Is entered in 8 click Lock Repetitive by higher order side to the CRC arithmetic unit 22D, shift when the input of 7 has been completed
  • FIG. 20 is an explanatory diagram of the operation of the synthesizing unit 24.
  • the combining unit 24 calculates the remainder R A '(x), Performs an EX-OR operation corresponding to the RB '(X), RC' (X), and RD (X) bits and outputs a 16-bit CRC parity ⁇ '(X).
  • the time required for error detection can be reduced to 1/4 in the past, and if the input data sequence is divided into 1 / ⁇ , the time required for error detection is required. Time can be reduced to 1 / ⁇ . Therefore, even when retransmission control is performed, the packet delay time can be reduced.
  • FIG. 21 is a block diagram of another error detection decoder according to the present invention.
  • the data division unit 31 is configured to input a 48-bit input data string b0-! Including a 16-bit CRC parity.
  • 347 is divided into 8 bits b0 to b7, b8 to bl5, bl6 to b23, b24 to b31, b32 to b39, b40 to b47.
  • a (x) represents a polynomial represented by 47 8-bit information
  • B (x) represents a polynomial represented by 8-bit information from b32 to b39
  • C (x) the polynomial expressed by the 8-bit information bl6-b23 is D (x)
  • the polynomial expressed by the 8-bit information b8-bl5 is E (x)
  • the 8-bit information b0-b7 Let F (X) be the polynomial represented by the default information.
  • Each of the CRC calculation devices 32A, 32B, 32C, 32D, 32E, and 32F has the configuration shown in FIG.
  • the 40-bit shift unit 33A processes the remainder I (x) by 40 bits to calculate the remainder RA '(X) of ⁇ 40 ⁇ ( ⁇ ) / G (x), and the 32-bit shift unit 33B performs the remainder RB and (X) the 32-bit shift process calculates the remainder RB '(X) of x 32 B (x) / G (x), 24 -bit Toshifu Bok apparatus 33C is the remainder Rc (x) 24 bit Toshifu Calculates the remainder Rc '(x) of x 24 C (x) / G (x), and the 16-bit shift unit 33D shifts the remainder R D (x) by 16 bits to obtain xi6D ( x) / G (x) is calculated by the remainder RD '(X), and the 8-bit shift unit 33E shifts the remainder RE (X) by 8 bits.
  • the 40-bit shift unit 33A uses a multiplication circuit that multiplies the 16-bit remainder (represented by a 161 matrix) output from the CRC operation unit 32A with the transformation matrix A «on the right side of FIG. 6 (B).
  • the 32-bit shifter 33B converts the 16-bit remainder RB (X) (represented by a matrix of 16 1) output from the CRC calculator 32B into a conversion matrix A 32 on the right side of FIG. 6 (A).
  • This can be realized by a multiplication circuit that performs multiplication.
  • the 24-bit shift device 33C, the 16-bit shift device 33D, and the 8-bit shift device 33E can be configured similarly to the error detection encoder.
  • the remainder is synthesized (bit-wise EX-OR operation) to generate a 48-bit input data sequence.
  • the remainder when divided by the polynomial G (x), that is, the parity bit P '(x) Output.
  • the error detection unit 35 checks whether all the calculated 16-bit parity bits P ′ ( ⁇ ) are “0”, and if all the bits are “0”, determines that there is no error. (CRC O), if at least one is not "0”, judge that there is an error (CRC NG) D
  • Fig. 22 to Fig. 28 are explanatory diagrams of the operation of each part of the error detection decoder in Fig. 21.
  • the lower 16 bits ⁇ to ⁇ 5 are CRC parity bits, and the higher 32 bits ⁇ 6 to ⁇ 47 of the bit are all “1”.
  • Figure 22 (A), ( ⁇ ) is an operation explanatory diagram of the CRC arithmetic unit 32 ⁇ and 40 bit Toshifu winding device 33 ⁇ respectively, the CRC arithmetic unit 32 ⁇ sequentially X 47 ⁇ 40 in 8 clock higher order side Input, the contents of the shift register SR when the other input is completed become the remainder of A (x) / G (x).
  • the conversion matrix A 4 is provided by the 40-bit shift device 33A. Is multiplied by the 16X1 matrix RA (X) to output the remainder R A '(x) of x 4 oA (x) ZG (x).
  • FIGS. 23 (A) and (B) are explanatory diagrams of the operation of the GRC arithmetic unit 32B and the 32-bit shift unit 33B, respectively.
  • the CRC arithmetic unit 32B sequentially stores X39 to ⁇ 32 at 8 clocks from the primary side. type, the contents of the input is complete and Kino shift register SR X 32 is B (x) / G remainder RB of (x) (X).
  • the 32-bit shift device 33B multiplies the transformation matrix A32 by the 16X1 matrix RB (X) and outputs the remainder RB '(X) of ⁇ 32 ⁇ ( X ) / G (x).
  • Figures 24 (A) and (B) show the operation of the CRC calculator 32C and the 24-bit shifter 33C, respectively. It is an explanatory diagram of the operation.
  • ⁇ 3 ⁇ to # 24 are sequentially input to the CRC operation device 32C in eight clocks from the higher-order side, the contents of the shift register SR when the input of X24 is completed are set to C.
  • the 8-bit shift device 33C multiplies the transformation matrix A 24 by the 16X1 matrix Rc (x) and outputs the remainder Rc '(x) of xC (x) ZG (x).
  • Figure 25 (A) Fig. B) is an operation explanatory diagram of the CRC arithmetic unit 32D and 16 bit Bok shift Bok apparatus 33D respectively, sequentially X 23 ⁇
  • the CRC arithmetic unit 32D in 8 clock Ri by higher order side x 16 inputs, the remainder RD (X) of the contents of the shift register SR at the time of the input of ⁇ 6 is completed D (x) / G (x ).
  • the 16-bit shift unit 33D multiplies the transformation matrix A by the matrix RD (X) of 16X1 and outputs the remainder RD '(X) of xi 6 D (x) / G (x).
  • Figure 26 (A), (B) is an operation explanatory diagram of the CRC arithmetic unit 32E and 8-bit Toshifu winding device 33E respectively, sequentially X i 5 the CRC arithmetic unit 32E in 8 click lock higher order side ⁇ x 8 is input, the contents of the shift register SR when the input has been completed X 8 is E (x) / G (x ) D remainder RE (X). 8 bit Bok shift device 33E outputs a remainder RE '(X) of the multiplied transformation matrix A S and 16X1 matrix RE (X) and x 8 E (x) / G (x).
  • Figure 27 is a diagram for describing the operation of CRC arithmetic unit 32F, Schiff when the CRC arithmetic unit 32F sequentially X 7 ⁇ is entered in 8 click Lock Repetitive by higher side, the input of chi o is completed
  • the remainder of the register SR is F (x) / G (x), the remainder RF (X) Becomes
  • FIG. 28 is an explanatory diagram of the operation of the combining section 34.
  • the synthesizing unit 34 generates an EX- corresponding to the bits of the calculated remainders I '(x), RB' (X), RG '(X), RD' (X), RE '(X), and RF (X). Performs OR operation and outputs 16-bit CRC parity P '(X).
  • the error detection unit 35 determines that there is no error if the CRC parity ⁇ '(X) has a total bit power of “0”, and determines that there is an error if there is at least one “ ⁇ ”.
  • the conventional error detection encoder requires 32 clocks to generate parity.
  • the required number of clocks is eight, so that the operation time is reduced to 1/4.
  • the conventional error detection decoder using the coincidence detection decoding method requires 32 clocks.
  • the encoder and the decoder of the present invention have a hardware scale of 4 times, 4 times and 6 times, respectively, in inverse proportion to the operation time. This is because the operations that were performed in series were performed in parallel. However, for example, when a CRC calculation is performed on an information rate of 100 Mbps with a clock of 25 MHz, the scale of one door is equal to that of the conventional example.
  • Table 1 shows (1) the hardware scale of the error detection decoder, (2) the number of hardware required to perform the CRC operation on the information rate of 100 Mbps with a 25 MHz clock, and (3) the operation time. It becomes as shown in. From this, it can be seen that according to the present invention, the calculation time can be shortened without changing the total hardware scale.
  • the error detection decoder has been described above, but the same applies to the error detection encoder.
  • the initial value of the shift register SR in all the CRC calculation units 12A to 12D is set to "0".
  • the data division unit (not shown) converts a 32-bit data string into 8-bit data strings.
  • each CRC arithmetic unit input to each CRC arithmetic unit is divided into chi. 24 to chi 31.
  • x si to x 24 are input from the high-order side in 8 clocks, and the calculation result (residual RA (X) of A (x) / G (x)) is is converted 24 bit Toshifu winding devices are 24 bit Toshifu preparative process in 13A to ⁇ 24 ⁇ ( ⁇ ) / G (x ) modulo RA of '(X).
  • CRC arithmetic unit 12B shift ⁇ 23 ⁇ ⁇ ⁇ 6 in 8 clocks to registers is input from the high order side, the calculated result of (B (remainder RB of x) / G (x) ( X)) is 16-bit The data is converted into a remainder RB '(X) of x "B (x) / G (x) by 16-bit shift processing in the shifter 13B.
  • CRC operation unit X to X8 are input from the high-order side in 8 clocks to the shift register of the 12C, and the calculation result (residue Rc (x) of C (x) / G (x)) It is converted to the remainder Rc (X) of the 8 bits Toshifu preparative treated with 8-bit Toshifu winding device 13C in x 8 C (x) / G (x).
  • FIG. 31 is a configuration diagram of the error detection decoder according to the second embodiment, and the same parts as those in FIG. 15 are denoted by the same reference numerals.
  • 32-bit CRC parity of 16 bits in the lower order side of the input data is appended to Bok
  • the initial value of the shift register SR in all the CRC calculation units 22A to 22D is set to "0". Keep it.
  • Data dividing unit (not shown) separates the data string of 48 bits in the lower order side 16-bit CRC Roh utility ⁇ 5 and higher side of the 32 input data one data ⁇ ⁇ 47 of bit Bok, further, 32-bit input data to 8 bits at a time of ⁇ 16 ⁇ 23, ⁇ 24 ⁇ 31, ⁇ 32 ⁇ 39, ⁇ 40
  • CRC X ⁇ X 32 is to shift register of the arithmetic unit 22B at 8 clock inputs Ri by higher ⁇ , the CRC arithmetic unit 22B of the arithmetic result (B (x) / G ( x remainder RB of) (X) ) Is input to the 16-bit shift pad 23B, where it is converted to the remainder RB '(X) of x "B (x) / G (x) by 16-bit shift processing.
  • x si to 4 are input from the high-order side to the shift register of the CRC operation device 22C in 8 clocks, and the operation result (C (x) / G (x) of the CRC operation device 22C is calculated.
  • remainder RG (X)) is input to 8-bit Toshifu Bok device 23C, where it is converted is 8 bits Toshifu preparative process x 8 C (x) / G (x) of the retained surplus Rc (X).
  • the above operations are performed simultaneously, and the combining unit 24 calculates the EX-OR of the remainders RA ′ (X), RB ′ (X), RC ′ (X), and RD (X) that are the result of these operations for each bit.
  • the CRC parity P '(x) is output.
  • the comparing unit 25 calculates the 16-bit CRC parity P '(x) and the CRC number added to the input data.
  • Utility bits [rho (chi) detecting errors by ( ⁇ 5 ⁇ ⁇ ⁇ ) and every bit Bok and the EX-OR connexion addition (logical OR).
  • the CRC parity bit ⁇ '( ⁇ ), which is the operation result, and the GRC parity bit ⁇ ( ⁇ ) added to the input data are all equal, and if there is no error, the comparator 25 outputs “0”, If there is an error, output '' ⁇ .
  • FIG. 32 is a configuration diagram of an error detection decoder according to the third embodiment, and the same parts as those in FIG. 21 are denoted by the same reference numerals.
  • the 16-bit CRC code is on the lower side of the 32-bit input data.
  • the initial value of the shift register SR in all the CRC calculation devices 32A to 32F is set to "0".
  • Data dividing unit 48 bits of de one data string 8 bits at a time of ⁇ 7, ⁇ 8 ⁇ 15, ⁇ 16 ⁇ 23 , ⁇ 24 ⁇ 31, ⁇ 32 ⁇ 39, ⁇ 40 ⁇ ⁇ 47 And input to each CRC calculation device.
  • CRC arithmetic unit 32A of the operation result (A (x) / G ( x) modulo RA of (X) ) is 40-bit input to Toshi oice device 33A, is where 40-bit Toshifu preparative process x 4.
  • a (x) is converted to the remainder RA '(X) of G (x).
  • Bok register CRC arithmetic unit 32F is 8 clock at ⁇ 7 ⁇ enter Ri by higher side, F (x) / G remainder of RF (x) (X) is calculated.
  • the above operations are performed simultaneously, and the combining unit 34 calculates the residuals RA ′ (X), RB ′ (X), RC ′ (X), RD ′ (X), RE ′ (X), RF ( X) is EX-ORed for each bit, and a 16-bit CRC parity P '(x) is output.
  • the error detection unit 35 calculates the OR of all the bits of P' (x). If all bits of the CRC noise F (x) are "0", there is no error, and the error detection unit 35 outputs "0". However, if at least one is "1", there is an error, and the error detection unit 35 outputs "".
  • FIG. 33 is another configuration diagram of the error detection decoder of the fourth embodiment, and the decoding method is the same as the decoding method of FIG.
  • the error detection decoder in FIG. 33 includes four CRC calculation devices 42A and 42D.
  • the input data division control unit 41 determines the bit length to be input to each CRG arithmetic unit 42A 42D.
  • the input data division control unit 41 For example, if the CRC error detection coding bit length is 40 bits including CRC parity, the input data division control unit 41
  • the CRC calculation units 42 ⁇ , 42 ⁇ , 42C, and 42D input them to the CRC calculation units 42 ⁇ , 42 ⁇ , 42C, and 42D together with the number of input bits (number of operations) 10. Further, the input data dividing unit 41 inputs the bit shift amount to each shift converter 43 ⁇ , 43 43, 43C. In the above IB example, 30-bit shift is instructed to shift converter 43A, 20-bit shift is instructed to shift converter 43B, and 10-bit shift is instructed to shift converter 43C. As described above, the CRC arithmetic units 42A, 42B, 42C, and 42D store the contents of the shift register at the time when the data of the indicated number of bits is input, with the remainder RA (X), RB (X), RC ( X) and RD (X) are output.
  • the shift converter 43A performs a 30-bit shift process on the input remainder RA (X) to convert it into a remainder i ′ (x), and the shift converter 43B converts the input remainder RB (X) into an input remainder RB (X). Performs a 20-bit shift process to convert to a remainder RB '(X), and shift converter 43C performs a 10-bit shift process on the input remainder Rc (x) to convert to a remainder Rc' (x).
  • the combining unit 44 combines the remainders R A '(x), RB' (X), RC '(X), and RD (X) by performing an EX-OR operation for each bit and combining all bits with "0". Error detection is performed based on whether or not ".
  • the input data division control unit 41 divides the input data by 13, 13, 12, and 12 bits x49 y48 y47. ⁇ 38 ⁇ 37
  • the input data division control unit 41 inputs the bit shift amount to each of the shift converters 43 ⁇ , 43 ⁇ , and 43C.
  • 37-bit shift is instructed to shift converter 43 #
  • 24-bit shift is instructed to shift converter 43 #
  • 12-bit shift is instructed to shift converter 43C.
  • the CRC arithmetic units 42A, 42B, 42C, and 42D store the contents of the shift register at the time when the data of the indicated number of bits is input, with the remainder RA (X), RB (X), RC ( X) and RD (X) are output.
  • the shift converter 43A performs a 37-bit shift process on the input remainder RA (X) to convert it to a remainder RA '(X), and the shift converter 43B outputs a 24-bit shift to the input remainder RB (X).
  • the shift converting device 43C performs a to-shift process to convert the input remainder Rc (x) into a remainder Rc '(x) by performing a 12-bit shift process on the input remainder Rc (x).
  • the synthesizing unit 44 synthesizes the remainders RA '(X), RB' (X), RC '(X), and RD (X) by performing an EX-OR operation for each bit and checking whether all bits are 0 " Error detection is performed based on whether or not it is not.
  • the calculation time of each CRC calculation device can be made uniform, so that the CRC calculation time can be reduced.
  • the idea of dividing the input data sequence into approximately 1 / n equally can be applied to the error detection decoder in FIG. 15 and the error detection encoder in FIG. That is, for the data divisions 11 and 21 in FIGS. 1 and 15, the input data sequence is divided so that the bit length of the divided data sequence is equal, and each divided data sequence is 1 bit from the higher side. Input to the CRC calculation device (division means).
  • FIG. 34 is another block diagram of the error detection decoder of the fifth embodiment, and the decoding method is the same as the decoding method of FIG. In the error detection decoder,
  • the maximum CRC error detection coding bit length is 60 bits
  • the shift converters 53A to 53C perform 45-bit shift processing, 30-bit shift processing, and 15-bit shift processing, respectively.
  • the input data division control part 51 divides these 40 bits into 15 bits from the lower order side, and sequentially performs CRC calculation.
  • Device 52D input to CRC operation device 52C, input the remaining 10 bits to CRC operation device 52B, and do not input to CRC operation device A. That is, the input data division unit 51 does not input data to the CRC operation device 52A, and inputs the data to the CRC operation devices 52B ; 52C and 52D, respectively.
  • the input data division unit 51 inputs the number of input bits (the number of operations) 0, 10, 15, 15 to each of the CRC operation devices 52A, 52B, 52C, 52D.
  • the device 53B performs a 30-bit shift process on the input remainder RB (X) and
  • the 15-bit shift converter 53C converts the input remainder Rc (x) into a remainder Rc '(x) by performing a 15-bit shift process.
  • the combining unit 54 combines the remainders RA '(X), RB' (X), RG '(X), and RD (X) by performing an EX-OR operation for each bit, and determines whether all bits are 0 ". Error detection is performed according to the above.
  • the input data division control unit 51 outputs the input data from the lower-order side to 15, 15, 15, 5 And divided into CRC calculation units 52A, 52B, 52C, and 52D, respectively.
  • the input data division control unit 51 inputs the number of input bits (number of operations) 5, 15, 15, 15 to each of the CRC operation devices 52A, 52B, 52C, 52D.
  • the CRC operation devices 52A, 52B, 52C, and 52D store the contents of the shift register at the time when the data of the designated number of bits is input, with the remainder I (x), RB (X), and RC (X ), Output as RD (X).
  • the 45-bit shift converter 53A performs a 45-bit shift process on the input remainder I (x) to convert it to a remainder RA '(X)
  • the 30-bit shift converter 53B outputs the input remainder RB (X ) Is converted to a remainder RB '(X) by 30-bit shift processing
  • the 15-bit shift converter 53C performs 15-bit shift processing on the input remainder Rc (x) to generate a remainder Rc' (x).
  • the combining unit 54 combines the remainders R A '(x), RB' (X), RC '(X), and RD (X) by performing an EX-OR operation for each bit and obtaining a total bit power of 0 ". Error detection is performed depending on whether or not there is.
  • each bit shift converter since each bit shift converter only needs to always perform a fixed number of bit shift processes, the configuration can be simplified.
  • FIG. 35 is another configuration diagram of the error detection decoder of the sixth embodiment, and the decoding method is the same as the decoding method of FIG. In the error detection decoder,
  • the maximum CRC error detection coding bit length is 60 bits
  • the maximum number of input bits to each of the CRC calculation units 62A to 62D is 15 bits.
  • the shift converters 63A to 63C perform 45-bit shift processing, 30-bit shift processing, and 15-bit shift processing, respectively.
  • the input data division control unit 61 divides the 40 bits into 15 bits from the lower order side, and sequentially performs CRC calculation. Input to the device 62D and CRC calculation device 62C. For devices with less than 15 bits, insert "0" on the higher order side and input a total of 15 bits. Therefore, the input data division control unit 61 sends the data to the CRC operation units 62A, 62B, 62C, and 62D respectively.
  • the device 63B performs a 30-bit shift process on the input remainder RB (X) to convert it to a remainder RB '(X), and the 15-bit shift converter 63C performs a 15-bit shift on the input remainder Rc (x). Perform processing and convert to remainder Rc '(x).
  • the combining unit 64 combines the remainders RA '(X), RB' (X), RC '(X), and RD (X) by performing an EX-OR operation for each bit, and determines whether the total bit power is 0 ". Erroneous detection is performed depending on whether or not.
  • the input data division control unit 61 divides the input data into 15, 15, 15, and 5 parts from the low-order side, and performs CRC calculation.
  • Apparatus 62A, 62B, 62C, 62D respectively
  • the CRC calculation units 62 ⁇ , 62B, 62C, and 62D store the contents of the shift register at the time when the 15-bit data is input as the remainder I (x), RB (X), RC (X), RD Output as (X). Also, the 45-bit shift converter 63A performs 45-bit shift processing on the input remainder RA (X) to convert it to a remainder RA '(X), and the 30-bit shift converter 63B outputs the input remainder RB (X).
  • X> is converted to a remainder RB '(X) by performing a 30-bit shift process, and the 15-bit shift converter 63C performs a 15-bit shift process on the input remainder Rc (x) to perform a remainder RG'
  • the combining unit 64 combines the remainders I '(x), RB' (X), RG '(X), and RD (X) by performing an EX-OR operation for each bit and combining them. Error detection is performed based on whether or not it is Toka 0.
  • the configuration can be simplified. Since the shift converter only needs to always perform a certain number of bit shift processes, the configuration can be further simplified.
  • FIG. 36 is a configuration diagram of the error detection decoder of the seventh embodiment, and the same parts as those of the error detection decoder of FIG. 31 are denoted by the same reference numerals. The difference is that the storage devices 26A to 26D for storing the remainders RA '(X), RB' (X), RC '(X), and RD (X) obtained by the bit shift process are provided. (2) The remainder is calculated again only for the 8-bit divided data re-input by error detection, and the remainder is combined with the remaining remainder of the divided data to generate a CRC parity. Is output.
  • the first error detection is performed in the same manner as in FIG. 31, but if an error is detected and the data is partially re-input, the error is re-input.
  • the remainder is calculated again only for the divided data of 8 bits, and the remainder is combined with the remainder of other stored divided data to output CRC parity.
  • Data dividing unit (not shown) separates the data string of 48 bits in the input data ⁇ 6 ⁇ ⁇ 47 of 32-bit CRC parity Kaishita ⁇ chi 5 and higher side of the lower-order side 16 bits, further, 32-bit ⁇ 6 ⁇ of 8 bits at a time the input data of Bok ⁇ 23, ⁇ 24 ⁇ ⁇ 31, ⁇ 32
  • 1-9 is divided into ⁇ 4 ⁇ 47 input to each CRC arithmetic unit. 22A to 22D.
  • x "to x « are input from the higher order side in eight clocks, and the operation result of the CRC operation unit 22A (the remainder R A of A (x) / G (x) (x)) is input to the 24-bit shift unit 23A, where it is subjected to 24-bit shift processing, converted to the remainder I '(X) of x «A (x) / G (x), and stored in the storage unit. It is recorded on 26A.
  • CRC remainder RB arithmetic device X ⁇ X 32 is the shift register in 8 clock inputs Ri by higher order side 22B
  • the CRC arithmetic unit 22B of the arithmetic result (B (x) / G ( x) (X)) is input to 16-bit Bok shift device 23B, and converted where 16-bit Toshifu preparative processed by the remainder RB '(X) of ⁇ 6 ⁇ ( ⁇ ) / G (x), a storage device 26B Is stored.
  • the shift register of the CRC arithmetic unit 22 C 8 black Tsu x 3 i ⁇ x 24 is high ⁇ Ri by side input using the clock
  • the CRC arithmetic unit 22C of the operation result (C (x) / G ( x) remainder Rc (x)) is 8 input to bit Toshifu winding device 23C, where it is 8 bit Toshifu preparative process is converted into x 8 C (x) / G (x retained surplus Rc'G of)), storage Stored in device 26C.
  • the synthesizing unit 24 calculates the remainders R A '(x), RB' (X), RG '(X), and RD (X), which are the result of the operation, EXOR And outputs the CRC parity bit P '(x). Comparing unit 25, this CRC Bruno utility bits P '(x), the CRC bits Tobi' preparative ⁇ ( ⁇ ) ( ⁇ 5 ⁇ ⁇ ⁇ ) and EX-OR the each bit added to the input data Then, an error is detected by adding (OR).
  • the comparator 25 If the parity bit P '(x) and the CRC parity bit P (x) added to the input data are all equal and there is no error, the comparator 25 outputs “0”, and if there is an error, the comparator 25 outputs “0”. and outputs the gamma.
  • CRC arithmetic unit 22B of the shift register only 8 click lock with 8-bit data x 39 ⁇ x 32 Is input again, and the operation result (remainder RB (X) of B (x) / G (x)) of the CRC operation device 22B is input to the 16-bit shift device 23B, where it is shifted by 16 bits to ⁇ 6 ⁇ ( ⁇ ) Converted to the remainder RB '(X) of / G (x).
  • the synthesizing unit 24 reads the remainders RA '(X), RG' (X), and RD (X) stored in the storage devices 26A, 26C, and 26D, and outputs these to the 16-bit shift circuit 23B.
  • the result RB '(X) obtained by processing is XORed bit by bit.
  • Comparing section 25 includes a CRC parity P of the 16-bit '(x>, CRC bits added to the input data: ⁇ ( ⁇ ) ( ⁇ 5 ⁇ ) and every bit Bok EX- OR An error is detected by adding (logical sum) using.
  • FIG. 37 (A) is a block diagram of the entire system
  • FIG. 37 (B) is an explanatory diagram of data processing.
  • the transmitting side 101 performs L2 layer CRC error detection coding on the entire information. Then, the error detection coded data (data with CRC parity of the L2 layer) is divided into a to d, and the divided data is subjected to L1 layer CRC error detection coding, and finally the error correction code And send it.
  • the receiving side 102 divides the decoded data into a plurality of A to D, and performs L1 layer CRC error detection processing on each of the divided data.
  • L1 layer CRC error detection processing if it is determined that no error is detected, performing CRC error detection processing of the L2 layer is inefficient because the calculation is divided into two. Therefore, error detection processing in both the L1 and L2 layers is performed simultaneously.
  • the CRC error detection processing in the L2 layer is wasted, Even if only the wrong part of one layer is retransmitted, the same operation is performed from the beginning.
  • the method of the seventh embodiment is applied.
  • the CRC calculation unit of L1 layer error detection is Make the length the same, save the calculation result, and calculate only that part if the data is partially retransmitted. In this way, efficient CRC error detection of the L2 layer can be performed. Since the processing of the higher layer of the L2 layer or higher is often performed by software, it is preferable to obtain a result by a partial operation because the processing efficiency of the processor is improved.
  • FIG. 38 is a configuration diagram of an error detection decoder as an application example of the seventh embodiment.
  • the input data division control unit 71 divides the input data sequence into L1 layer CRC operation units A to D (see FIG. 37 (B)) and inputs each to the LI CRC error detection devices 72A to 72D.
  • the L2 CRC error detection device 70 inputs the CRC calculation devices 74A to 74D.
  • the Ll CRC error detection devices 72A to 72D and the L2 CRC error detection device 70 simultaneously perform error detection processing.
  • the Ll CRC error detectors 72A to 72D perform CRC calculations on the divided data strings A to D, and output the calculation results.
  • the CRC monitoring unit 73 monitors the presence or absence of an error in the L1 layer based on the error detection results of the Ll CRC error detection devices 72A to 72D, and if there is no error, inputs a synthesis enable signal to the synthesis unit of the L2 CRC error detection device 70. I do.
  • the CRC calculation devices 74A to 74D of the L2 CRC error detection device 70 output the remainder obtained by dividing the data portion excluding the L1 CRC parity included in the input data sequences A to D by the generator polynomial.
  • the shift converters 75A to 75C perform bit-shift processing on the remainders obtained by the CRC calculators 74A to 74C for the bit shifts corresponding to the division positions of the data A to C columns, and convert them. Save to ⁇ 76D.
  • the combining unit 77 combines the remainders stored in the storage units 76A to 76D based on the combining permission signal from the CRC monitoring unit 73 (EX-OR operation for each bit), and the error detection unit 78 combines Based on the result, L2 layer CRC error detection is performed.
  • the CRC monitoring unit 73 requests the transmission side to retransmit the erroneous data portion. For example, if the data string B contains an error, a request is made to retransmit the data string B.
  • the input data division control unit 71 inputs the data to the Ll CRC detection device 72B and the CRC calculation device 74B of the L2 CRC error detection device 70 if the data column B is retransmitted.
  • the Ll CRC error detection device 72B performs a CRC operation on the divided data sequence B and outputs the operation result.
  • the CRC monitor 73 detects the error of the Ll CRC error detector 72A to 72D. Based on the result, the presence / absence of an error in the L1 layer is monitored, and if there is no error, the synthesizing unit 77 is permitted to synthesize.
  • the CRC operation unit 74B outputs the remainder obtained by dividing the data portion excluding the L1 CRC parity included in the input data B by the generator polynomial, and the shift conversion unit 75B splits the data B
  • the remainder obtained by the CRC operation unit 74B for the bit shift corresponding to the position is subjected to bit shift processing, converted, and stored in the storage unit 76B.
  • the combining unit 77 combines the remainders stored in the storage units 76A to 76D (EX-OR operation for each bit) based on the permission signal from the CRC monitoring unit 73, and the error detection unit 78 Performs L2 layer GRC error detection based on
  • FIG. 39 is another block diagram of the error detection decoder of the eighth embodiment, which can be applied in the system configuration shown in FIG. 37 (A) in which CRC is doubled, and FIG. 40 is a diagram for explaining data processing. .
  • the error detection encoder side performs L2 layer CRC error detection coding on the entire 112-bit information and adds a 16-bit L2 CRC noise.
  • the 128-bit data (data with L2 CRC parity) coded by error detection is divided into a plurality of 32-bit data strings A to D, and each divided data string A to D is divided into 16-bit data strings. LI CRC parity is added to the data, and error correction coding is performed at the end, and the data is transmitted.
  • the LI CRC calculation unit 80 (Fig. 39) provided on the receiving side performs L1 CRC calculation by the match detection decoding method. Note that the LI CRC calculation unit 80 can use any decoding method such as the all- "0" detection decoding method or the decoding method of the present invention. Also, the L2 CRC calculation unit 90 performs the L2 CRC calculation by the decoding method shown in FIG.
  • the LI CRC operation unit 80 first performs the first LI CRC operation. That is, data A 32bit ( ⁇ 191, ⁇ 190; ⁇ 189;.. ⁇ 188> ⁇ , ⁇ 161, ⁇ 160) the input to the shift register SR of the divider 81.
  • the error detection unit 82 off Bok register value of SR (the remainder RA (X)) and LI CRC Bruno literals I (X159, ⁇ 158, ⁇ 157 ; x i 5e,... ) X 5 ; x i44), and performs LI CRC error detection based on whether all bits match.
  • the value of the shift register (remainder RA (X)) is passed to the L2 CRC operation unit 90.
  • the L2 CRC operation unit 90 stores this value by controlling the switch 91. Store in device 92A.
  • the LI CRC calculation unit 80 clears the shift register SR and performs the next LI CRC calculation. That is, the data B of 32Tbit (x "3, x" 2, x i 4i, x "o,..., X iis, ⁇ ⁇ 2) the input to the shift register SR.
  • the error detection unit 82 calculates the value of the shift register SR (remainder RB (X)) and the LI CRC number ( x m, X no ;
  • X 109, X 108,.. ⁇ , X 97 compared with the chi 96>, performs L 1 CRC error detected on whether they match all bits.
  • the value of the shift register (remainder RB (X)) is passed to the L2 CRC operation unit 90.
  • the L2 CRC operation unit 90 stores this value in the storage device 92B by controlling the switch 91.
  • the LI CRC calculation unit 80 clears the shift register SR and performs the next LI CRC calculation. That, 32bit data ⁇ ( ⁇ 95, ⁇ , 3 , 2,.. ⁇ , ⁇ 65, the inputs to the shift register SR.
  • the error detection unit 82 shift the value of bets register SR (the remainder Rc (x)) and the LI CRC parity (xss, x es; x si , X 60, ⁇ ⁇ ⁇ , X 49, ⁇ 48) and comparing the match or all bits L] CRC error detection is performed based on whether or not, and at the same time, the value of the shift register (remainder Rc (x)) is delivered to the L2 CRC calculation unit 90.
  • the L2 CC calculation unit 90 controls the switch 91. Then, this value is stored in the storage device 92C.
  • the LI CRC calculation unit 80 clears the shift register SR and performs the next LI CRC calculation. That, 32bit data ⁇ ( ⁇ 47, ⁇ 46, ⁇ 45 , ⁇ 44, ⁇ .., X 17, ⁇ 16) is input to shift register SR.
  • the error detection unit 82 calculates the value of the shift register SR (remainder RD (X)) and the LI CRC value. Utility (xs, x i 4; x Interview 3, x 12, ⁇ ⁇ ⁇ , ⁇ , ⁇ ) and compares, in whether they match all bits; performing LI CRG error discovery.
  • the value of the shift register (remainder RD (X)) is passed to the L2 CRC calculation unit 90.
  • the L2 CRC operation unit 90 controls the switch 91 to store this value in the storage device 92D.
  • the L2 CRC calculation unit 90 starts the L2 CRC calculation. That is, the 96-bit shift unit 93A reads the storage data (remainder RA (X)) from the storage device 92A and performs a 96-bit shift process on the remainder.
  • the 64-bit shift unit 93B reads the storage data (remainder RB (X)) from the storage device 92B and adds the 64-bit shift to the remainder. Perform processing.
  • the 32-bit shift unit 93C reads the stored data (remainder Rc (x)) from the storage device 92C, and performs a 32-bit shift process on the remainder.
  • LI CRC arithmetic unit 80 is serially remainder RA (X), R B ( X), RC (X), but calculates the RD (X), by sea urchin input data divided as shown in FIG. 41 part 83 and provided four LI CRC arithmetic unit 80a to 80d, the remainder RA (X) performs LI CRC check on each, R B (X), Rc (x), to compute the RD (X) It can also be configured.
  • the LI CRC calculation units 80A to 80D have the same configuration as the LI CRC calculation unit 80 in FIG.
  • the shift register operation of the L2 CRC operation unit can be eliminated, and the hardware configuration can be simplified.
  • the error detection encoder in FIG. 1 treats the K-bit input data sequence as it is as the first polynomial KG, and the second polynomial (generation polynomial) G (x)), and can be used as a divider for calculating the remainder.
  • the division device divides the input data sequence into a plurality of data by the second polynomial, assuming that the information bits of the sub-data sequence are polynomials for each divided sub-data sequence.
  • Dividing means 12A to 12D for calculating the remainder, and 3) converting means 13A to 13 for performing a conversion process (bit shift process) according to the division position of the sub data sequence for each of the remainders.
  • a combining unit 14 that combines the converted values obtained by the above and sets the combined result to the remainder obtained by dividing the K-bit input data sequence by the second polynomial. Can be.
  • Such a division device is not limited to an error detection encoder and can be used in various encodings.

Description

明 細 書
誤り検出符号化及び復号装置並びに除算装置 技術分野
本発明は、誤り検出符号化及ぴ復号装置並びに除算装置に係わり、特に、入力デ ータ列の誤り検出用パリティ ビッ トを生成して該データ列に付加する誤り検出符 号化装置およびパリティ ビッ 卜が付加された入力.データ列に誤り検出処理を施し て入力データ列の誤り を検出する誤り検出復号装置並びにこれら誤り検出符号化 及ぴ復号装置に使用できる除算装置に関する。
背景技術
誤り検出符号は、 移動通信、 F A X、 銀行のキャ ッシュデイ スペンサ等、 デー タ通信を行う際にデータを誤りなく伝送することが要求されるシステムに、 ある いは、 磁気ディスク、 C Dなどの大容量データ保存を行う際にデータを誤り なく 読み出すこ とが要求されるシステムに適用される。 また、誤り検出'符号は、通常、 誤り訂正符号と併用され、 誤り訂正で完全に訂正できなかった誤り の検出を行う ためのもので、誤り を検出すれば再送制御や再読み出し制御などが行われる。
' 誤り検出を適用したシステム
図 4 2 は誤り検出を適用したシステムの構成例である。送信側 1において、誤り 検出符号化部 1 bは、 情報生成部 1 a が生成した所定ビッ ト長のデータ列に誤り 検出符号化処理を施し、誤り訂正符号化部 1 cは畳み込み符号化あるいはターボ 符号化処理などによ り入力データ列を誤り訂正符号化して通信路 2を介して受信 側 3 に送信する。受信側 3において、 誤り訂正復号部 3 a は入力した符号化デー タ列を誤り訂正復号処理によ り復号し、 復号データ列を誤り検出復号部 3 b に入 力する。誤り検出復号部 3 bは復号データ列に誤り検出復号処理を施して誤りの 有無を検出し、誤りが有れば送信側に再送要求信号 RRQ を送出する。情報抽出部 3 cは誤りが無ければデータを抽出して出力する。以下、巡回符号による誤り検出 である CRC(Cyclic Redundancy Check)について説明する。
• CRC
CRCは、簡単に言う と、送信側で、所定ビッ ト長のデータ列を多項式に見立てて これを誤り検出符号生成用の多項式 (生成多項式) で除算し、 余りが 0 となるよ う に符号化する。受信側では、受信データ列を多項式に見立ててこれを送信側と同 一の生成多項式で除算し、 余りが◦であれば誤り無し、余りが 0 でなければ誤り 有り と判定する。
すなわち、 送信側では、 k ビッ トの情報を多項式と見なして K(x)と し、 該多項 式 Κ(χ)を生成多項式 G(x)で除算して剰余が 0 となるよ うにパリティ ビッ トを付 加する。 たとえば、 生成多項式 G(x) を 16 ビッ ト と し、
x"K(x) ÷ G(x) = Q(x) あま り R(x)
であれば、
Figure imgf000004_0001
を符号語とする。ここで χΐ6Κ(χ)は k ビッ トのデータ列の低次側に 16 ビッ トの" 0" を付加したデータ列を意味する。
受信側では、 この符号語 W(x)に誤り E(x)が付加された (X) = W(x)+E(x)を 受信すると、 W' (X)を G(x)で除算し、 その剰余が 0であれば誤り なし、 0以外で あれば誤り あり と検出する。 具体的には、
W (X) / G(x)
を演算し、 割り切れるかどうかを検出する。
以下、 32bitのオール " 1 " の信号を
生成多項式 G(X) =X16 + X12 + X5+1
で誤り検出符号化、 復号化を行う場合について示す。
- CRC演算装置
図 4 3は生成多項式 G(x) =χΐ 6+χΐ 2+ χ5+ι と した場合の CRC演算装置の第 1、第 2の構成例である。
①第 1の CRC演算装置
図 4 3 (Α)は通常の CRC演算装置、 すなわち、 G(x) =χΐ6+χΐ25+1 と したとき の除算器の例である。この CRC演算装置は、 1 6段のシフ 卜レジスタ SR と、 0 ビ ッ ト位置、 5 ビッ 卜位置、 12 ビッ 卜位置の入力側に設けられ、前段の出力データ と ブイ一ドパックデータの排他的論理和演算を行う排他的論理和回路 (Exclusive OR 回路) EORl〜EOR 3 と、 15 ビッ ト位置の出力側に設けられたスィ ッチ SW で構成されている。 スィ ッチ SW をフィー ドパック側(A 側)に切り替えた状態でデータ列 χΐ6Κ(χ) を高次から 1 ビッ 卜づっ EOR1に入力することで除算を行う ことができる。 すな わち、 誤り検出符号化において、 符号化する前のデータ列 K(X)を例えば 32 ビッ ト とすれば χΐ6Κ(χ)は 48 ビッ トになり、 この 48 ビッ トのデータ列を高次よ り シ フ 卜 レジスタ SRを動作させながら入力する。 48 ビッ 卜入力し終わったときのレ ジスタ SRの中身が剰余 R(x)となるため、 これをパリティ ビッ トと して K(x)の低 次側に付加して W(x)と して出力する。
誤り検出復号に際して、 W' (X)が 48 ビッ トであれば、 図 4 3 (A)と同一構成の CRC演算装置の EOR1 にシフ ト レジスタ SRを動作させながら高次より 48 ビッ 卜の信号を入力する。 48 ビッ ト入力し終わったと きのレジスタ SRの中身が剰余 R(x)となるため、 これが全て " 0 " であれば誤り無しと判定し、 1つでも " 0 " でなければ誤り あり と判定する。
②第 2の GRC演算装置
図 43(B)は、図 43(A)のデータ入力位置を修正することで演算回数を少なく した CRC 演算装置 (G(x)
Figure imgf000005_0001
と したときの除算器)であり、 データ入力用 の EOR 1 の位置が左端から右端に移動している。データ入力は図 2(A)の場合と同 様に、 デ一タ列の高次側から 1 ビッ トづっ EOR1 に入力することで除算を行う。 図 2(A)と比べて EOR1 の位置を左端から右端に移動させただけだが、 これは入力 データ列に χ ΐ 6 を乗算しながら入力しているのに等しい。 すなわち、 シフ ト レジ スタ SRを動作させながら高次より 32 ビッ トのデータ列 Κ(χ)を EOR1に入力す れば、 32 ビッ 卜のデータ列 Κ(χ)を入力し終わったときのレジスタ SRの中身が剰 余 R(x)となるため、 該剰余 R(x)をパリテイ ビッ 卜(16 ビッ ト)と して K(x)の低次 側に付加して W(x)と して出力する。
誤り検出復号に際して、入力データ列 (X)がパリティ ビッ 卜付きの 48 ビッ ト(低次側の 16 ビッ トがパリティ ビッ ト)であれば、 図 4 3 ( B )と同一構成の CRC 演算装置の EOR1 にシフ トレジスタ SRを動作させながら高次より 32 ビッ トの データ列を入力する。 32 ビッ ト入力し終わったときのレジスタ SRの中身は剰余 となるため、 この剰余と残り 16 ビッ トのパリティ と比較し、 完全一致であれば 誤り無しと判定し、完全一致しない場合には誤り あり と判定する。これにより、 演 算回数を 32回と少なくすることができる。
又、以下のよ う に誤り検出復号を行う こ と もできる。すなわち、 入力データ列 W (X)がパリティ ビッ ト付きの 48ビッ ト(低次側の 16ビッ トがパリティ ビッ ト) であれば、 図 43 (B)と同一構成の CRC演算装置の EOR1にシフ トレジスタ SR を動作させながら高次よ り 48 ビッ トのデータ列を全て入力する。 この場合、 シ フ トレジスタ SRの中身が全て " 0 " であれば誤り無しと判定し、全て " 0 " でな ければ、 誤り あ り と判定する。なお、 この誤り検出復号方式におけるレジスタ SR の中身は剰余でなく 、 一致検出の結果を示している。
• 符号器の従来例
図 43(B)の CRC演算装置において、初期状態時、 シフ ト レジスタ SRの値を全 て" 0"にする。スィ ツチ SWを A側にして 1ビッ トづっデータ列 K(x)を EOR1に 順次入力する。 全てのデータ列を入力し終わったときのレジスタ値 R(x)が G(x) の剰余、 すなわち余り となる。 ここでスィ ツチ SW を B側に倒してレジスタ SR の値 R(x)を出力することでパリティビッ トを得ることができる。
32ビッ トのオール" Γ"のデータ列 K(x)を生成多項式 G(x)
Figure imgf000006_0001
で CRC 符号化する例を示す。 32ビッ ト入力し終えたときのシフ ト レジスタ SRの値 R(x) をパリティ ビッ ト とする。 この場合、 Κ(χ)、 χΐ6 K(x)、 R(x)、 W(x)以下に示すよ うになる。
K(x) = Χ31+Χ30 + Χ29 + Χ28+ , · , +χ2 + χ1 + 1
X1·6 Κ(χ) = Χ 7 + Χ46 + Χ45+Χ + · · · +χ18 + χ1716
R(x) = χ15 + χ12 + χΠ + χ8 + χ7 + χ6 + χ3 + χ2 + χ+1
Figure imgf000006_0002
= (χ47+χ46+χ45+χ44+ ... 18+χ17+χ16 + ( ΐ 5 + χ12 + χ 11 8+χ7+χ6+χ3+χ2+χ+ 1 ) 図 44はデータ列 χΐ6 Κ(χ) における高次側 32ビッ 卜のオール "1 "のデータ列を 1クロ ックで 1 ビッ 卜づっ図 43 (Β)の EOR1に入力したときのレジスタ SRの內 容を示すもので、 32 ビッ 卜入力し終えたと きのシフ ト レジスタ SRの値 R(x)がパ リティ ビッ トになる。
* 復号器の第 1従来例 (一致検出復号方法)
図 43 (B)の CRC演算装置において、初期状態時、 レジスタ SRの値を全て" 0" にする。スィ ッチ SWを A側にして入力データ列 W(x)' のうちパリティ ビッ トを 除いた情報ビッ 卜のみを順次入力する。 情報ビッ 卜のみを入力し終わったと きの レジスタ SR の値と、 入力データ列の残りのビッ トであるパリティ ビッ ト との一 致検出を行う。 一致であれば誤りなし、 一致しなければ誤りあり と判定する。 図 4 5は、 32bit のオール" のデータ列に 16bit のパリティビッ トが付カロ'され た符号化データを、 1 クロックで 1 ビッ トづっ髙次側より図 4 3 (B)の EOR1に入 力したときのレジスタ SRの内容を示すものである。符号化データを 32 ビッ ト入 力し終えたときのシフ 卜 レジスタ SR,の値 R1と入力データ列の残り 16ビッ ト(パ リティ ビッ ト) P 1 とが一致しているかによ り誤り検出を行う。以上のように、演算 されたパリティ と入力データ列に付加されているパリティ とが一致しているか否 かによ り 、誤り検出する復号方法を一致検出復号方法という。
- 復号器の第 2従来例(オール" 0"検出復号方法)
図 4 3 ( B )の CRC演算装置において、初期状態時、 レジスタ SRの値を全て" 0 "にする。 スィ ッチ SWを A側にして入力データ列 W(x)' の情報ビッ トを順次 入力し、 続いてパリティ ビッ トを入力する。 パリティ ビッ トを入力し終わったと きのレジスタ SR の値が全て 0であるか否かをチェック し、全て 0であれば誤り なし、 一つでも 1 があれば誤りあり と判定する。
図 4 6 は、 32bit のオール" Γのデータ列に 16bit のパリティ ビッ トが付加され た符号化データを、 1 クロ ックで 1 ビッ トづっ高次側より図 4 3 (B)の EOR1に入 力したときのレジスタ SRの内容を示すものである。符号化データ 32 ビッ ト及ぴ パリティ 16ビッ トを入力し終えたときのシフ ト レジスタ SRの値が全て 0である か否かをチェック し、全て 0であれば誤り なし、一つでも 1があれば誤りあり と判 定する。 以上のよ う に、全て" 0"であれば誤りなし、 一つでも" Γがあれば誤り有り と判定する復号方法をオール" 0"検出復号方法という。
図 4 4〜図 4 6 に示すよ うに CRC演算では、 少なく とも情報ビッ ト長の演算が 必要となる。 すなわち、 図 4 4〜図 4 6 の誤り検出符号器及び復号器では、 少な く とも 32 クロ ック必要になる。 と ころで、 第 4世代 (新世代) の移動通信シス テムは総務省によれば、 最大情報レー トを 100Mbps以上(無線 LANは lGbps以 上)にする と言われている。 情報レー ト 100Mbpsの信号の場合、 CRC演算するに は 100MHzのク ロ ックが必要になる。 この場合でも CRC誤り検出だけで 1パケ ッ ト長遅延することになる。 これに更に再送制御を考慮すると再送信号要求生成 に時間を要するため、 データ伝送速度の著しい低下につながる。
又、 CRC 演算を低速クロック、 例えば 25MHz とすれば CRC演算器が 4っ必 要になる。 CRC演算器はもと もと小規模なのでハ一 ドウ ァ規模は問題にならな いが、 演算遅延が 4パケッ ト長になるため、 再送まで考えるとデータ伝送速度が 大き く低下する。 図 4 7にかかる場合における受信側のタイムチャー トを示す。 バケツ ト #1を受信してそれが NGであった場合に、再送要求するのはパ.ケッ ト #7 以降になることがわかる。 なお、 CRC演算が高速に行われていればそれ以前に再 送要求を行う ことができる。
又、情報レー ト iGbpsであれば、 100Mbpsのクロ ックで動作する CRC演算回 路を 10個使用したと しても、 CRC演算による遅延は 10バケツ ト長となり、 再送 制御は現実的でない。
以上よ り本発明の目的は、 CRC演算に要する時間を短縮することである。
本発明の別の目的は、再送制御する場合でもパケッ トの遅延時間を短くするこ とである。
発明の開示
本発明の第 1 は、誤り検出符号化処理によ りパリティ ビッ トを作成し、該パリテ イ ビッ トを入力データ列に付加して符号化する誤り検出符号化装置である。 この 誤り検出符号化装置において、 データ分割手段は誤り検出符号化対象の入力デー タ列を複数に分割し、 除算手段は分割したサブデータ列を生成多項式で除算して その剰余を演算し、変換手段は前記剰余毎に、サブデータ列の分割位置に応じた変 換処理を該剰余に施し、 合成手段は前記変換処理によ り得られた各変換値を合成 してパリティ ビッ トを出力する。 本発明の誤り検出符号化処理によれば、 データ 分割手段によ りデータ列を n分割する ものとすれば、 CRC 演算(パリティ ビッ ト 演算)に要する時間を略 1 / nに短縮することができる。
本発明の第 2、第 3は、パリティ ビッ トが付加された入力データ列に誤り検出処 理を施して入力データ列の誤り を検出する誤り検出復号装置である。
第 2の発明の誤り検出復号装置において、 データ分割手段は入力データ列を複 数に分割し、 除算手段は分割したサブデータ列を生成多項式で除算してその剰余 を演算し、変換手段は前記剰余毎に、サブデータ列の分割位置に応じた変換処理を 該剰余に施し、合成手段は前記変換処理によ り得られた各変換値を合成してパリ ティ ビッ トを出力し、 誤り検出部は該パリティ ビッ トと入力データに付加されて いるパリティ ビッ 卜が一致しているか否かにより入力データの誤りの有無を検出 する。
第 3の発明の誤り検出復号装置において、 データ分割手段はパリティ ビッ トを 含めて入力データ列を複数に分割し、除算手段は分割したサブデータ列を所定の 生成多項式で除算してその剰余を演算し、変換手段は前記剰余毎に、サブデータ列 の分割位置に応じた変換処理を該剰余に施し、合成部は前記変換処理によ り得ら れた各変換値を合成し、誤り検出部は合成結果が全ビッ ト " 0 "であるか否かによ り入力データの誤りの有無を検出する。
第 2、第 3 の誤り検出復号装置によれば、データ分割手段によりデータ列を n分 割するものとすれば、 CRC 演算(パリテイ ビッ ト演算)に要する時間を略 1 に 短縮するこ と'ができ、誤り検出を短時間で行う ことができる。 又、再送制御する場 合でもパケッ トの遅延時間を短くすることができる。
第 4 の発明は、 K ビッ 卜の入力データ列を第 1 の多項式と見立てて第 2の多項 式で除算してその剰^を演算する除算装置である。この除算装置において、データ 分割手段は入力データ列を複数に分割し、除算手段は分割したサブデータ列毎に、 サブデータ列の情報ビッ トを多項式と見立てて前記第 2の多項式で除算してその 剰余を演算し、変換手段は前記剰余毎に、サブデータ列の分割位置に応じた変換処 理を該剰余に施し、合成部は前記変換処理によ り得られた各変換値を合成し、合成 結果を Kビッ トの入力データ列を前記第 2の多項式で除算したときの剰余とする- この除算装置によれば、データ分割手段によ りデータ列を η分割するものとすれ ば除算時間を、 略 1 Ζ ηに短縮することができる。
図面の簡単な説明
図 1 は本発明の誤り検出符号器のプロック構成図ある。
図 2は CRC演算装置において、 1ビッ トシフ 卜を行う 16 X 16の行列の説明図で 図 3は 2 ビッ 卜シフ 卜行列 A 2 (= A X A) 及び 4 ビッ トシブ ト行列 A 4 ( = A X A 2) の説明図である。
図 4は 8 ビッ トシフ 卜 ί亍歹 ij A 8 ( = A4 X A4) 及び 1 6 ビッ トシフ ト行列 A w (= A 8 X A 8) の説明図である。
図 5は 24ビッ トビッ トシフ ト行列 A 24 ( = A16X A 8) の説明図である。
図 6 は 32ビッ トシフ ト行列 A32 ( = Α2 χ A8) 及ぴ 40ビッ トシフ ト行列 A« ( = Α32 χ A8) の説明図である。
図 7は CRC演算装置と 8 ビッ トシフ ト装置の接続構成図である。
図 8は CRC演算装置と 16 ビッ トシフ ト装置の接続構成図である。
図 9は CRC演算装置と 24ビッ トシフ ト装置の接続構成図である。
図 1 0は誤り検出符号器の第 1の動作説明図である。
図 1 1 は誤り検出符号器の第 2の動作説明図である。
図 1 2は誤り検出符号器の第 3の動作説明図である。
図 1 3は誤り検出符号器の第 4の動作説明図である。
図 1 4は誤り検出符号器の第 5の動作説明図である。
図 1 5は本発明の誤り検出復号器のプロ ック構成図である。
図 1 6 は誤り検出復号器の第 1の動作説明図である。
図 1 7は誤り検出復号器の第 2の動作説明図である。
図 1 8は誤り検出復号器の第 3の動作説明図である。
図 1 9は誤り検出復号器の第 4の動作説明図である。
図 2 0は誤り検出復号器の第 5の動作説明図である。
図 2 1 は本発明の別の誤り検出復号器のプロック構成図である。
図 2 2は誤り検出復号器の第 1の動作説明図である。
図 2 3は誤り検出復号器の第 2の動作説明図である。
図 2 4は誤り検出復号器の第 3の動作説明図である。 ■ 図 2 5は誤り検出復号器の第 4の動作説明図である。
図 2 6は誤り検出復号器の第 5の動作説明図である。
図 2 7は誤り検出復号器の第 6の動作説明図である。
図 2 8は誤り検出復号器の第 7の動作説明図である。 図 2 9は本発明の利点説明図である。
図 3 0は第 1実施例である誤り検出符号器の構成図である。
図 3 1 は第 2実施例である誤り検出復号器の構成図である。
図 3 2は第 3実施例である誤り検出復号器の構成図である。
図 3 3は第 4実施例の誤り検出復号器の構成図である。
図 3 4は第 5実施例の誤り検出復号器の構成図である。
図 3 5は第 6実施例の誤り検出復号器の構成図である。
図 3 6は第 7実施例の誤り検出復号器の構成図である。
図 3 7はシステム全体の構成図及びデータ処理説明図である。
図 3 8は第 7実施例の適用例である誤り検出復号器の構成図である。
図 3 9は第 8実施例の誤り検出復号器の構成図である。
図 4 0はデータ処理説明図である。
図 4 1 は第 8実施例の誤り検出復号器の別の構成図である。
図 4 2は誤り検出を適用したシステムの構成例である。
図 4 3は生成多項式 G(x) =χΐδ+χ ΐ2+χε+1 と した場合の CRC演算装置の第 1、第 2の構成例である。
図 4 4は誤り検出符号器の動作説明図である。
図 4 5は一致検出復号方法説明図である。
図 4 6はオール" 0"検出復号方法説明図である。
図 4 7は従来の問題点説明図である。
発明を実施するための最良の形態
( Α ) 本発明の概略
( a ) 本発明の原理
受信語 W'(x)を生成多項式 G(x) ( =χ16+Χ12+χ5+ΐ) で除算したどきの剰余すなわ ちパリ ティ ビッ トは以下のよ うに求めることができる。受信語 W'(x)を 32Tbitとし 例えば、 8bitづっ
W' (x) = χ24Α( ) + χΐ6Β(χ) + x8C(x) + D(x)
に分割し、 該受信語 W'(x)を G(x)で除算する。 除算式を
W' (x)/ G(x)= X2* A(x)/ G(x) + xi6B(x)/ G(x) + x8C(x)/ G(x) + D(x)/ G(x) と表現し、
A(x)/G(x), B(x)/G(x), C(x)ZG(x)、 D(x)/G(x),
を演算し、 それぞれの剰余を順に
RA(X) RB(X)、 RC(X)、 RD(X)、
とする。 次に
©RA(X) から x'MA ZG x)の剰余 RA'(x)を演算し、
② RB(X)から xisB(x)/G(x)の剰余 RB'(X)を演算し、
③ Rc(x)から x8C(x)/G(x)の剰余 Rc'(x)を演算し、
④ RD(X) = RD'(X)とする。
RA' (X), RB' (X), Re' (x) , RD' (x)が求まれば次式
RA' (X) + RB' (X) + Rc' (x) + RD' (X)
によ り、 受信語 W'(x)を生成多項式 G(x)で除算したときの剰余すなわちパリティ ビッ 卜が求まる。
RA(X)
Figure imgf000012_0001
から RA'(X)の演算は以下のよ う にして行う。 RA'(X)は
X2 A( )/ G(x)の剰余であり、 X24A(X)の 3次以下の係数は 0である。従って、 RA(X)
( = A(x)/G(x)) から RA'(X)の変換は、 まず、 図 43 (B) の CRC演算装置に A(x) を入力して RA(X)を演算し (I (x)はシフ ト レジスタ SRに記憶される) 、ついで、 CRC演算装置の入力を 24 ビッ トオール" 0"と してシフ トレジスタ SRを 24回シ フ トすれば、該シフ トレジスタの中身が RA'(x)となる。 しかし、 実際に 24回シフ 卜する とそれだけ演算時間を要するため、 後述するよ うにそれと等価な処理を行 う ことで演算時間を削減する。 尚、以下では Nビッ 卜の" 0"入力によるシフ ト レジ スタ SR のシフ 卜動作を単に Nビッ トシフ 卜あるいは Nビッ トシフ 卜処理とい う。
同様に、 RB(X) ( = B(X)/G(X)) から RB'(X)の変換は、 図 43 (B) の CRC演算 装置に B(x)を入力して RB(X)を演算し(RB(X)はシフ トレジスタ SRに記憶される)、 ついで、シフ ト レジスタ SRを 16 ビッ トシフ トすれば該シフ ト レジスタの中身が RB'(X)となる。
又、 Rc(x)(=C(x)ZG(x)) から Rc'(x)の変換は、 図 43 (B) の CRC演算装置に C(x)を入力して Rc(x〉を演算し (Rc(x)はシフ トレジスタ SRに記億される)、 つい で、シフ 卜 レジスタ SRを 8 ビッ トシフ トすれば該シフ トレジスタの中身が RG' (X) となる。
( ) 誤り検出符号器
図 1 は誤り検出符号化対象が 32 ビッ トのデ一タ列 b0〜b31 と した場合の本発 明の誤り検出符号器のブロ ック構成図である。 入力データ分割部 11は、 32 ビッ 卜の入力データ歹 U b0~b31 を 8 ビッ 卜づつの b0〜b7、 b8〜! D 15、 bl6~b23, b24 〜b31 に分割して
2 Α(χ) + ΐΒΒ(χ) + xsc(x) + D(x)
とする。 ただし、 b24〜b31の 8 ビッ ト情報で表現される多項式を A(x)、bl6〜! 323 の 8 ビッ ト情報で表現される多項式を B(x)、 b8〜!) 15の 8 ビッ ト情報で表現され る多項式を C(x)、 b0~b7の 8 ビッ ト情報で表現される多項式を D(x)とする。
CRC 演算装置 12A, 12B , 12C, 12D はそれぞれ図 4 3 (B)に示す構成を備え、
Figure imgf000013_0001
1を生成多項式と して
Α(χ)ノ G(x)、 B(x)/ G(x)、 C(x)/ G(x)、 D(x)/ G(x)
の除算演算を実行し、 それぞれの剰余
RA(X)、 RB(X)、 RC(X)、 RD(X)
を出力する。
24 ビッ トシフ ト装置 13A は剰余 RA(X)を 24 ビッ トシフ ト処理して χ24Α(χ)/ G(x)の剰余 RA'(X)を演算し、 16 ビッ トシフ ト装置 13B は剰余 RB(X)を 16 ビッ ト シフ 卜処理して χΐ6Β(χ)ノ G(x)の剰余 RB'(X)を演算し、 8 ビッ トシフ ト装置 13C は剰余 Rc(x) を 8 ビッ トシフ ト処理して xsCOOZ GOc)の剰余 Rc'(x)を演算する。 合成部 14は、 RA' (x), RB' (X) , RC' (X) , RD' (x)が求まれば次式
RA' (X) + RB' (X) + Rc' (x) + RD' (X)
によ り剰余を合成し(ビッ ト毎の排他的論理和 (EX- OR) 演算し)、 32 ビッ トの入 力データ列を生成多項式 G(x)で除算したときの余り、すなわち、 16 ビッ トの CRC パリティ ビッ トを出力する。
図 1の誤り検出符号化器によれば、 CRG演算(パリティ ビッ ト演算)に要する時 間を従来の 1 / 4に短縮することができ、入力データ列を n 分割するものとすれ ば、 1 nに短縮することができる。 ( c ) N ビッ トシフ ト装置
図 2 は、 図 43 (B)の CRC演算装置において、" 0"を 1個入力してシフ ト レジス タ SRの内容を 1 ビッ トシフ トするのと等価な 1 ビッ トシフ ト処理演算を行う 16 X 16 の行列説明図である。 この行列の見方は、シフ トレジスタ SR におけるシフ ト後の各ビッ 卜がシフ 卜前のどのビッ 卜の EX-OR 演算によ り求まるかを示して いる。 EX-OR 演算の対象となるシフ ト前のビッ トは" 1 "が立つているビッ トであ る。例えば、シフ ト後の第 5 ビッ トは、シフ ト前の第 4 ビッ ト と第 15 ビッ トの EX-OR によ り求ま り、シフ ト後の第 12 ビッ トはシフ ト前の第 11 ビッ 卜と第 15 ビッ トの EX-OR によ り求まる。 なお、シフ ト後の第 0 ビッ トは" Γが 1 つしか立 つていないからシフ ト前の第 15 ビッ 卜の値となる。同様に、シフ ト後の第 1 ビッ トはシフ ト前の第 0 ビッ ト、シフ ト後の第 2 ビッ トはシフ ト前の第 1 ビッ ト の値となる。
従って、図 2の 16 X 16の 1 ビッ トシフ ト演算行列に、 16 ビッ 卜のシフ ト レジス タ SR の内容を 16X1 の行列にして乗算すれば、 1 ビッ トシフ ト後のシフ トレジ スタ SRの内容が 16X1の行列と して求まる。ここで行列演算における加算は排他 的論理和演算 EX-ORである。
1ビッ トシフ ト演算行列を N回乗算することにより Nビッ トシフ トを実現でき る。すなわち、 1 ビッ トシフ ト演算行列を Aと表現すれば、 N ビッ トシフ トを実現 する演算行列は ANとなる。従って、 2ビッ トシフ ト行列 A 2 (= A X A) 及び 4ビ ッ トシフ ト行列 A4 ( = A2 X A2) は図 3 (A), (B)に示すよ う になり、 8 ビッ ト シフ ト行列 A 3 (= A 4 X A ) 及ぴ 1 6 ビッ トシフ ト行列 A is ( = A 8 X A 8 ) は 図 4 (A), (B)に示すよ うになる。又、 24 ビッ 卜ビッ トシフ ト行列 Α24(= Αΐ6χ A 8 ) は図 5 に示すよ うになり、 32 ビッ トシフ ト行列 A 32 ( = A X A 8 ) 及び 40 ビッ トシブ ト行列 A ( = Α32χ A 8 ) は図 6 (A), (B)に示すよ うになる。
以上から、図 1 の 8 ビッ トシフ ト装置 13 Cは、 CRC演箅装置 12Cから出力す る 16 ビッ 卜の剰余 Rc(x) (16X 1 の行列で表現する) を図 4(A)の右側の変換行列 A8に乗算する乗算回路によ り実現することができる。図 7 は CRC 演算装置 12C と 8 ビッ トシフ 卜装置 13Cの接続構成図である。 8ビッ トシフ 卜装置 13Cは、 変 換行列 A8 と剰余 RcG との乗箅結果である 16 ビッ トの Rc'(x) を 16 個の EOR 回路を用いて出力する構成になっている。
又、図 1 の 1 6 ビッ トシフ ト装置 13Bは、 CRC演算装置 12B から出力する 16 ビッ トの剰余 RB(X) (16X 1 の行列で表現する〉 を図 4(B)の右側の変換行列 A に乗算する乗算回路によ り実現することができる。図 8 は CRC 演算装置 12B と 16 ビッ 卜シフ 卜装置 13B の接続構成図である。 16 ビッ 卜シフ ト装置 13Bは、 変 換行列 A と剰余 : RB(X)との乗算結果である 16 ビッ トの RB'(X) を 16個の EOR 回路を用いて出力する構成になっている。
同様に図 1 の 24 ビッ トシフ ト装置 13Aは、 CRC演算装置 12Aから出力する 16 ビッ 卜の剰余 R X)を 16X 1 の行列で表現し、 これを図 5 の右側の変換行列 A2 に乗算する回路により構成するこ とができる。図 9は CRC演算装置 12Aと 24 ビッ トシフ ト装置 13Aの接続構成図である。 24 ビッ トシフ ト装置 13Aは、 図示 しないが、図 7、図 8 と同様に変換行列 A24と剰余 RA(X)との乗算結果である 16 ビ ッ 卜の RA'(X) を 16個の EOR回路を用いて出力する構成になっている。
図 10〜図 14 は誤り検出符号器の各部動作説明図であり、 入力データは 32 ビ ッ トオール" Γである と している。
図 10(A), (B)はそれぞれ CRC演算装置 12A及び 24 ビッ トシフ ト装置 13Aの動 作説明図であり 、 CRC演算装置 12B には高次側より 8 クロックで順次 χ3ΐ〜χ24 が入力し、 24 の入力が完了したときのシフ トレジスタ SR の内容が A(x)/G(x) の剰余 RA(X)となる。 24 ビッ トシフ ト装置 13A は変換行列 A24 と 16X1 の行列 RA(X)を掛け合わせて x24A(x)ZG(x)の剰余 RA'(X) を出力する。 尚、図中の xAmは X mを意味する。
図 11(A),(B)はそれぞれ CRC演算装置 12B及び 16 ビッ トシフ ト装置 13Bの動 作説明図であり 、 CRC演算装置 12B には高次側より 8 クロックで順次 X 23〜x" が入力し、 xis の入力が完了したときのシフ トレジスタ SR の内容が B(x)/G(x) の剰余 RB(X)となる。 16 ビッ トシフ ト装置 13B は変換行列 と 16X1 の行列 RB(X)を掛け合わせて xlsB (X)/G(x)の剰余 RB'(x) を出力する。
図 12(A), (B)はそれぞれ CRC演算装置 12C及び 8 ビッ トシフ ト装置 13C の動 作説明図であり 、 CRC 演算装置 12Cには高次側よ り 8 クロックで順次 X i5〜x8 が入力し、 χ8の入力が完了したときのシフ ト レジスタ SRの内容が C(x)ZG(x)の 剰余 Rc(x)となる。 8 ビッ 卜シフ ト装置 13C は変換行列 A8と 16X1 の行列 Hc(x) を掛け合わせて x8C(x)_ G(x)の剰余 Rc'(x) を出力する。
図 13は CRC演算装置 12Dの動作説明図であり、 CRC演算装置 12Dには高次 側よ り 8 ク ロ ックで順次 X 7〜χ0が入力し、 X。の入力が完了したときのシフ ト レ ジスタ SRの内容が D(x)/G(x)の剰余 RD(X) ( = RD'(X)) となる。
図 14 は合成部 1 4 の動作説明図である。 合成部 1 4は上記演算された剰余 RA'(X) RB'(X)、 RC'(X)、 RD(X)のビッ ト対応の EX-OR演算を行って 16 ビッ トの CRCパリティ を出力する。
( d ) 誤り検出復号器
図 1 5は 32 ビッ 卜の入力データの低次側に 16 ビッ 卜の CRCパリティ ビッ ト が付加されている場合の本発明の誤り検出復号器のプロック構成図である。 デ一 タ分割部 21は、 CRCパリティ ビッ 卜を除いた 32ビッ 卜の入力データ列 bl6〜! )47 を 8 ビッ 卜づつの bl6〜b23、 b24〜! )31、 b32〜b39、 b40〜! )47に分害!)して χ24 Α(χ) + χΐ6 Β(χ) + χ8 C(x) + D(x)
とする。 なお、 b40〜b47 の 8 ビッ ト情報で表現される多項式を A(x)、b32〜! 339 の 8 ビッ ト情報で表現される多項式を B(x)、 b24~b31の 8 ビッ ト情報で表現さ れる多項式を C(x)、bl6〜! )23の 8ビッ ト情報で表現される多項式を D(x)とする。 又、データ分割部 21は b0〜bl5の CRCパリティ ビッ ト P(x)を分離して出力'する。
CRC 演算装置 22A,22B,22C,22D はそれぞれ図 43 (B)に示す構成を備え、
Figure imgf000016_0001
を生成多項式と して '
A(x)/G(x)、 B(x)/G(x)、 C(x)/G(x), D(x)/G(x)
の除算演算を実行し、 それぞれの剰余
RA(X)、 RB(X)、 RC(X)、 RD(X)
を出力する。
24 ビッ トシフ ト装置 23A は剰余 I (x)を 24 ビッ トシフ ト処理して χ24Α(χ)/ G(x)の剰余 を演算し、 16 ビッ トシフ ト装置 23B は剰余 RB(x)を 16 ビッ ト シフ ト処理して xi6B(x)/G(x)の剰余 RB'(X)を演算し、 8 ビッ トシフ ト装置 23C は剰余 Rc(x) を 8 ビッ 卜シフ 卜処理して x8C(x)ZG(x)の剰余 Rc'(x)を演算する。 尚、各シフ ト装置 23A〜23は誤り検出符号化器と同様に構成することができる 合成部 24は、 RA' (x), RB' (X), RC' (X) , RD' (x)が求まれば次式
RA' (X) + RB' (X) + Rc' (x) + RD' (X)
によ り剰余を合成(ビッ ト毎の EX-OR 演算)し、 32 ビッ トの入力データ列を生成 多項.式 G(x)で除算したときの余り、すなわち、パリティ ビッ ト P'(x)を出力する。 比較部 25 は算出された 16 ビッ トのパリティ ビッ ト P '(χ)と入力データに付加 されている 16ビッ トのパリティ ビッ ト P(x)をビッ ト対応に比較し、全て一致すれ ば誤り無しと判定し、 1つでも一致しなければ誤り あり と判定する。
図 16〜図 2 0は誤り検出復号器の各部動作説明図であり、 48 ビッ トの入力デ —タのうち低次側の 16 ビッ ト χθ〜χΐ5は CRCパリティ ビッ トであり、 高次側の 32 ビッ ト χΐ6〜Χ4?はオール" 1 "であると している。
図 16 (A) ,(Β)はそれぞれ CRC演算装置 22Α及び 24 ビッ トシフ ト装置 23Α の動作説明図であり、 CRC 演算装置 22Α には高次側よ り 8 クロックで順次 X 47 〜 。が入力 し、 χ«の入力が完了したときのシフ ト レジスタ の内容が Α(χ)/ G(x)の剰余 RA(X)となる。 24 ビッ トシフ ト装置 23Aは変換行列 と 16X1 の行 列 RA(X)を掛け合わせて x24A(x)ZG(x)の剰余 RA'(X) を出力する。
図 17 (A) ,(B)はそれぞれ CRC演算装置 22B及び 16 ビッ トシフ ト装置 23B の動作説明図であり、 CRC 演算装置 22B には高次側よ り 8 クロックで順次 X 39 ~X32が入力し、 X32の入力が完了したときのシフ トレジスタ SR の内容が Β(χ)/ G(x)の剰余 RB(X)となる。 16 ビッ トシフ ト装置 23Bは変換行列 A^6と 16X1の行 列 RB(X)を掛け合わせて xisB (x) "G(x)の剰余 RB'(X) を出力する。
図 18 (A) ,(B)はそれぞれ CRC演算装置 22C及び 8 ビッ トシフ ト装置 23Cの 動作説明図であり、 CRC 演算装置 22Cには高次側よ り 8 ク ロ ックで順次 xsi〜 χ24が入力し、 X24の入力が完了したと きのシフ ト レジスタ SRの内容が C(x)/G(x) の剰余 Rc(x)となる。 8ビッ トシフ ト装置 23Cは変換行列 A8と 16X1の行列 Rc(x) を掛け合わせて x8C(x) G(x)の剰余 Rc'(x) を出力する。
図 19は CRC演算装置 22Dの動作説明図であり、 CRC演算装置 22Dには高次 側よ り 8 ク ロ ッ クで順次 X 23〜χΐ?が入力し、 7の入力が完了したときのシフ ト レジスタ SR の内容が D(x)/G(x)の剰余 RD(X) ( = RD'(X)) となる。
図 20は合成部 24の動作説明図である。合成部 24は上記演算された剰余 RA'(x)、 RB'(X)、 RC'(X)、 RD(X)のビッ 卜対応の EX-OR演算を行って 16 ビッ 卜の CRCパ リティ Ρ' (X)を出力する。
本発明の誤り検出復号器によれば、誤り有無検出に要する時間を従来の 1ノ 4 に短縮するこ とができ、入力データ列を 1 / ηに分割するものとすれば誤り有無 検出に要する時間を 1 / ηに短縮することができる。 したがって、 再送制御する 場合でもパケッ 卜の遅延時間を短くするこ とができる。
( e ) 誤り検出復号器の別の例
図 21 は本発明の別の誤り検出復号器のプロ ック構成図である。データ分割部 31は、 16 ビッ トの CRCパリティ を含む 48 ビッ トの入力データ列 b0〜! 347を 8 ビッ 卜づつの b0〜b7、 b8〜bl5、 bl6〜b23、 b24~b31, b32~b39, b40~b47 に分割して
χ4ο A(x) + χ32 Β(χ) + 24 C(x) + D(x) χΐ6+ E(x) Xs + F(x)
とする。 なお、 b40〜! )47 の 8 ビッ 卜情報で表現される多項式を A(x)、b32〜b39 の 8 ビッ ト情報で表現される多項式を B(x)、 b24~b31 の 8 ビッ ト情報で表現さ れる多項式を C(x)、 bl6~b23の 8 ビッ ト情報で表現される多項式を D(x)、 b8〜 bl5 の 8 ビッ ト情報で表現される多項式を E(x)、 b0〜b7の 8 ビッ ト情報で表現 される多項式を F(X)とする。
CRC演算装置 32A,32B,32C,32D,32E,32Fはそれぞれ図 43 (B)に示す構成を備 え、
Figure imgf000018_0001
を生成多項式と して
A(x)/G(x)、 B(x)ZG(x)、 C(x)ZG(x)、 D(x)/G(x)、 E(x)/G(x)、 P(x)/G(x) の除算演算を実行し、 それぞれの剰余
RA(X)S RB(X)、 RC(X)、 RD(X)、 RE(X)、 RF(X)
を出力する。
40 ビッ 卜シフ ト装置 33A は剰余 I (x)を 40 ビッ トシフ ト処理して χ40Α(χ)/ G(x)の剰余 RA'(X)を演算し、 32 ビッ トシフ ト装置 33B は剰余 RB(X)を 32 ビッ ト シフ ト処理して x32B(x)/G(x)の剰余 RB'(X)を演算し、 24 ビッ トシフ 卜装置 33C は剰余 Rc(x) を 24 ビッ トシフ ト処理して x24C(x)/G(x)の剰余 Rc'(x)を演算し、 16ビッ 卜シフ 卜装置 33Dは剰余 RD(x)を 16ビッ トシフ 卜処理して xi6D(x)/G(x) の剰余 RD'(X)を演算し、 8 ビッ トシフ 卜装置 33Eは剰余 RE(X) を 8ビッ トシフ ト 処理して x8 E(x)/G(x)の剰余 RE'(X)を演算する。なお、 40 ビッ トシフ ト装置 33A は CRC演算装置 32Aから出力する 16 ビッ 卜の剰余 (16 1 の行列で表現 する) を図 6(B)の右側の変換行列 A« に乗算する乗算回路によ り実現でき、 32 ビッ トシフ ト装置 33Bは CRC演算装置 32Bから出力する 16ビッ 卜の剰余 RB(X) (16 1 の行列で表現する) を図 6(A)の右側の変換行列 A32に乗算する乗算回路 によ り実現できる。また、 24 ビッ ト シフ ト装置 33C、 16 ビッ トシフ ト装置 33D、 8 ビッ トシフ ト装置 33Eは誤り検出符号器と同様に構成するこ とができる。
合成部 34は、 RA' (X), RB' (X), RC' (X) , RD' (x), RE' (X) , RF' (X)が求まれば 次式
(X) + RB' (X) + Rc' (x) + RD' (X) + RE' (X) + RF' (X)
によ り剰余を合成(ビッ ト毎の EX-OR演算)し、 48 ビッ トの入力データ列を生成 多項式 G(x)で除算したときの余り、すなわち、パリティ ビッ 卜 P'(x)を出力する。 誤り検出部 35は算出された 16 ビッ トのパリティ ビッ ト P '(χ)の全ビッ トが" 0"で あるかチェ ック し、全て" 0"であれば誤り無しと半リ定し (CRC O ) 、1 つでも" 0" でなければ誤り有り と判定する (CRC NG)D
図 22〜図 28は図 21の誤り検出復号器の各部動作説明図であり、 48 ビッ トの 入力データのう ち低次側の 16 ビッ ト χθ〜χΐ5は CRCパリティビッ トであり、 高 次側の 32 ビッ ト χΐ6〜χ47はオール" 1"であると している。
図 22(A), (Β)はそれぞれ CRC演算装置 32Α及び 40ビッ トシフ ト装置 33Αの動 作説明図であり、 CRC演算装置 32Αには高次側より 8 クロックで順次 X 47〜χ40 が入力し、 χ«の入力が完了したときのシフ ト レジスタ SR の内容が A(x)/G(x) の剰余 となる。 40 ビッ トシフ ト装置 33A は変換行列 A4。 と 16X1 の行列 RA(X)を掛け合わせて x4oA(x)ZG(x)の剰余 RA'(x) を出力する。
図 23(A),(B)はそれぞれ GRC演算装置 32B及び 32ビッ トシフ ト装置 33Bの動 作説明図であり、 CRC演算装置 32B には髙次側より 8 クロックで順次 X 39〜Χ32 が入力し、 X32 の入力が完了したと きのシフ ト レジスタ SR の内容が B(x)/G(x) の剰余 RB(X)となる。 32 ビッ トシフ ト装置 33B は変換行列 A32 と 16X1 の行列 RB(X)を掛け合わせて χ32Β (X)/G(x)の剰余 RB'(X) を出力する。
図 24(A), (B)はそれぞれ CRC演算装置 32C及び 24ビッ トシフ 卜装置 33Cの動 作説明図であり 、 CRC演算装置 32Cには高次側よ り 8ク ロ ックで順次 χ3ΐ〜χ24 が入力し、 X24の入力が完了したときのシフ ト レジスタ SR の内容が C(x)/G(x) の剰余 Hc(x)となる。 8ビッ トシフ ト装置 33Cは変換行列 A24と 16X1の行列 Rc(x) を掛け合わせて x C(x)ZG(x)の剰余 Rc'(x) を出力する。
図 25(A)ズ B)はそれぞれ CRC演算装置 32D及び 16ビッ 卜シフ 卜装置 33Dの動 作説明図であり、 CRC演算装置 32Dには高次側よ り 8クロ ックで順次 X 23〜x16 が入力し、 χΐ6 の入力が完了したときのシフ トレジスタ SRの内容が D(x)/G(x) の剰余 RD(X)となる。 16 ビッ トシフ ト装置 33D は変換行列 A と 16X1 の行列 RD(X)を掛け合わせて xi6D(x)/G(x)の剰余 RD'(X) を出力する。
図 26(A),(B)はそれぞれ CRC演算装置 32E及び 8ビッ トシフ ト装置 33Eの動 作説明図であり 、 CRC演算装置 32E には高次側より 8 ク ロ ックで順次 X i5〜x8 が入力し、 X8の入力が完了したときのシフ ト レジスタ SRの内容が E(x)/G(x) D 剰余 RE(X)となる。 8 ビッ 卜シフ ト装置 33Eは変換行列 ASと 16X1 の行列 RE(X) を掛け合わせて x8E(x)/G(x)の剰余 RE'(X) を出力する。
図 27は CRC演算装置 32Fの動作説明図であり、 CRC演算装置 32Fには高次 側よ り 8 ク ロ ックで順次 X 7〜χθが入力し、 χοの入力が完了したときのシフ トレ ジスタ SRの内容が F(x)/G(x)の剰余 RF(X)
Figure imgf000020_0001
となる。
図 28 は合成部 3 4の動作説明図である。 合成部 34 は上記演算された剰余 I '(x)、 RB'(X)、 RG'(X), RD'(X)、 RE'(X)、 RF(X)のビッ ト対応の EX-OR演算を行つ て 16 ビッ トの CRCパリティ P' (X)を出力する。誤り検出部 35は CRCパリティ Ρ' (X)の全ビッ 卜力 "0"であれば誤り無しと判定し、 1 つでも" Γが有れば誤り有り と判定する。
( f ) 本願発明と従来例の比較
データ長が 32ビッ トの場合、従来例の誤り検出符号器ではパリティを生成する のに 32 クロ ック必要である。 しかし、 図 1 の本発明の誤り検出符号器では必要 ク ロ ック数は 8ク ロックであるため、 演算時間が 1/4に短縮する。
又、データ長が 32 ビッ ト、パリティが 16 ビッ トの場合、従来例の一致検出復号 方法による誤り検出復号器では 32クロ ック必要である。 しかし、 図 15の本発明 の誤り検出復号器では、必要ク口ック数は 8クロックであるため、演算時間が 1/4 に短縮する。
又、データ長が 32ビッ ト、パリティが 16 ビッ 卜の場合、従来例のオール" 0"検出 復号方法による誤り検出復号器では 48 ク ロ ック必要である。 しかし、本発明の図 21 の誤り検出復号器では、 必要ク口 ック数は 8 クロ ックであるため演算時間が 1/6 に短縮する。
ところで、 本発明の符号器、復号器は、演算時間に反比例してハードウエア規模 がそれぞれ、 4倍、 4倍、 6倍となる。 これは演算を直列に行っていたものを並 列に行ったからである。 しかしながら、 例えば、 情報レ一 ト 100Mbpsを 25MHz のクロ ックで CRC演算する場合を考えるとノ、一ドゥエア規模は従来例と同等に なる。
すなわち、 情報レー ト 100Mbp s を 25MHz のクロックで CRC演算するために は、従来例では図 4 7で説明したよ う に誤り検出復号器が 4つ必要になる。一方、 本発明では図 29に示すよ うに演算速度が 4倍であるため 1つの誤り検出復号器 のみで十分である。 この結果、従来例及び本発明において、①誤り検出復号器のハ 一 ドゥエア規模、 ②情報レー ト 100Mbp sを. 25MHzのクロックで CRC演算する ために必要なハードウエア数、③演算時間は表 1に示すようになる。これより、 本 発明によれば合計のハー ドゥエア規模を変えることなく演算時間の高速化を実現 できることがわかる。 以上では誤り検出復号器について説明したが誤り検出符号 器についても同様である。
Figure imgf000021_0001
( B) 第 1実施例
図 30 は第 1 実施例の誤り検出符号器の構成図であり、 生成多項式 G(x) = χΐ6+ χΐ 2+ χ5 + 1により 32bitのデータ列 xo〜X3 iの CRCノ リティを生成する場合で ある。 図 30において図 1 と同一部分には同一符号を付している。又、 32 ビッ 卜の 入力データは 8 ビッ トづつの Χ0〜Χ7、 8~Χ15, χ16〜χ23、 X24〜 x3iに分割され、 以下の多項式
χ24Α( ) + χΐ6β(χ) + χ80(χ) + D(x)
で表現される ものとする。
全ての CRC演算装置 12A〜12Dにおけるシフ トレジスタ SRの初期値を " 0 " にしておく。 図示しないデータ分割部は、 32 ビッ トのデータ列を 8ビッ トづつの
Χ。〜χ7、 Χ8〜χ15、 Χΐ6〜χ23、 Χ24〜 χ31に分割して各 CRC演算装置に入力する。
CRC演算装置 12Aのシフ ト レジスタへは 8クロ ックで xsi〜x24が高次側よ り 入力し、 演算した結果 (A(x)/G(x)の剰余 RA(X)) は 24 ビッ トシフ ト装置 13Aで 24 ビッ トシフ ト処理されて χ24Α(χ) /G(x)の剰余 RA'(X)に変換される。
CRC演算装置 12Bのシフ ト レジスタへは 8クロックで χ23χΐ6が高次側より 入力し、 演算した結果 (B(x)/G(x)の剰余 RB(X)) は 16 ビッ トシフ ト装置 13B で 16 ビッ 卜シフ 卜処理されて x"B(x) /G(x)の剰余 RB'(X)に変換される。
CRC演算装置 12Cのシフ ト レジスタへは 8ク ロ ックで X 〜 X8が高次側よ り入 力し、 演算した結果 (C(x)/G(x)の剰余 Rc(x)) は 8ビッ トシフ ト装置 13Cで 8ビ ッ トシフ ト処理されて x8C(x) /G(x)の剰余 Rc (X)に変換される。
CRC演算装置 12Dのシフ ト レジスタへは 8ク ロ ックで χ7〜χθを高次側より入 力して、 D(x)/G(x)の剰余 RD(X)を演算する。
以上の演算を同時に行い、 合成部 1 4はこれらの演算結果である剰余 RA'(X), RB'(X), RC'(X), RD(X)をビッ トごとに EX-ORをと り CRCパリティ P(x)を出力す る。
(C) 第 2実施例
図 31は、 第 2実施例である誤り検出復号器の構成図で、 図 15 と同一部分には 同一符号を付している。 32ビッ 卜の入力データの低次側に 16ビッ トの CRCパリ ティが付加されており、 この CRCノ リティは生成多項式 G(X) = χ1612 + Χ5+1を 用いて生成されて入力データ列に付加されている。従って、誤り検出復号器はこの 生成多項式 G(X) = X16 + X12 + X5 + 1 を用いてで 32ビッ トの情報ビッ トと 16ビッ ト の CRCノ リティが正しいかどうか検出する。
全ての CRC演算装置 22A〜22Dにおけるシフ ト レジスタ SRの初期値を " 0 " にしておく。図示しないデータ分割部は、 48 ビッ トのデータ列を低次側 16 ビッ ト の CRC ノ リティ χθ〜χΐ5と高次側の 32 ビッ 卜の入力デ一タ χ 〜χ47に分離し、 更に、 32 ビッ トの入力データを 8 ビッ トづつの Χ16〜Χ23Χ24〜χ31、 χ32〜χ39、 χ40
〜χ47に分割して各 CRC演算装置に入力する。
CRC演算装置 22Aのシフ ト レジスタへは 8 クロックで x47〜x«が高次側より 入力し、 該 CRC演算装置 22Aの演算結果 (A(x)/G(x)の剰余 RA(X)〉 は 24 ビッ ト シフ ト装置 23Aに入力し、 ここで 24 ビッ トシフ ト処理されて x24A(x) /G(x)の剰 余 RA'(X)に変換される。 - 又、 CRC演算装置 22Bのシフ トレジスタへは 8クロ ックで X 〜 X32が高次惻よ り入力し、 該 CRC演算装置 22Bの演算結果 (B(x)/G(x)の剰余 RB(X)) は 16 ビッ トシフ ト装匱 23B に入力し、 ここで 16 ビッ トシフ ト処理されて x"B(x) /G(x)の 剰余 RB'(X)に変換される。
又、 CRC演算装置 22Cのシフ ト レジスタへは 8ク ロ ックで xsi〜 4が高次側よ り入力し、 該 CRC演算装置 22Cの演算結果 (C(x)/G(x)の剰余 RG(X)) は 8 ビッ トシフ 卜装置 23C に入力し、 ここで 8 ビッ トシフ ト処理されて x8C(x) /G(x)の剰 余 Rc (X)に変換される。
CRC演算装置 22D のシフ ト レジスタへは 8 ク ロ ックで x23~xieが高次側より 入力し、 D(x)/G(x)の剰余 RD(X)が演算される。
以上の演算を同時に行い、 合成部 24はこれらの演箅結果である剰余 RA'(X), RB'(X), RC'(X), RD(X)をビッ 卜ごとに EX-ORをと り CRCパリティ P'(x)を出力す る。 比較部 25 は、 この 16 ビッ トの CRCパリティ P'(x)と、入力データに付加さ れている CRCノヽ。リティ ビッ ト Ρ(χ) (χΐ5〜χο)と ビッ 卜毎に EX-ORをとつて加算 (論理和)することで誤りを検出する。 すなわち、 演算結果である CRCパリティビ ッ ト Ρ'(χ)と入力データに付加されている GRCパリティ ビッ ト Ρ(χ)が全て等しく 、 誤りが無ければ 比較部 25は " 0 " を出力し、誤りが有れば' 'Γを出力する。
( D ) 第 3実施例
図 32は第 3実施例である誤り検出復号器の構成図であり、 図 21 と同一部分に は同一符号を付している。図 32 において、 32 ビッ トの入力データの低次側には 16 ビッ トの CRC ノ、。 リティが付加されており 、 この CRC ノ、。 リティは生成多項式 G(x) = Χ16 + χ12 + χ5+ 1を用いて生成されて入力データ列に付加されている。従って 誤り検出復号器は生成多項式 G(X) = χ 16 + χ12+χ5+1を用いて 32 ビッ トの情報ビッ トと 16 ビッ トの CRCパリティが正しいかどうか検出する。
48 ビッ トのデータ列は、 8 ビッ トづつの χΟ〜Χ?、 χ8〜χ15、 χ 16〜χ23、 χ24〜χ31、 χ32〜χ39、 χ40〜χ47に分割され以下の多項式
χ4。 Α(χ) + χ32 Β(χ) + χ2 C (χ) + D (χ) χΐ 6+· Ε (χ) χ8 + F(x)
で表現される。
全ての CRC演算装置 32A〜32Fにおけるシフ トレジスタ SRの初期値を " 0 " にしておく。 図示しないデータ分割部は、 48 ビッ トのデ一タ列を 8 ビッ トづつの χΟ〜Χ7、 Χ8〜χ 15、 χ 16〜χ23、 Χ24〜χ31、 χ32〜χ39、 χ40〜 χ47に分割して各 CRC演算 装置に入力する。
CRC演算装置 32Aのシフ ト レジスタへは 8 クロックで x47〜x«が高次側よ り 入力し、 CRC演算装置 32Aの演算結果 (A(x)/G(x)の剰余 RA(X)) は 40 ビッ トシ フ ト装置 33Aに入力し、 ここで 40 ビッ トシフ ト処理されて x4。A(x) G(x)の剰余 RA' (X)に変換される。
C C演算装置 32B のシフ ト レジスタへは 8 クロックで x39〜x32が高次側よ り 入力し、 該 CRC演算装置 32B の演算結果 (B(x)/G(x)の剰余 RB (X)) は 32 ビッ ト シフ ト装置 33B に入力し、 ここで 32 ビッ トシフ ト処理されて x32B(x) /G(x)の剰 余 RB'(X)に変換される。
CRC演算装置 32C のシフ ト レジスタへは 8 クロ ックで x3i〜x が高次側より 入力し、 該 演算装置 32Cの演算結果 (C(x)/G(x)の剰余 Rc(x)) は 24 ビッ ト シフ ト装置 23Cに入力し、 ここで 24 ビッ トシフ ト処理されて x24G(x) /G(x)の剰 余 Rc'(x)に変換される。
CRC演算装置 32D のシフ 卜 レジスタへは 8 クロックで x23〜xisが高次側よ り 入力し、 該 CRC演算装置 32D の演算結果 (D(x)/G(x)の剰余 RD(X)) は 16 ビッ ト シフ ト装置 33D に入力し、 ここで 16 ビッ トシフ ト処理されて xi6D(x) /G(x)の剰 余 RD' (X)に変換される。
CRC演算装置 32Eのシフ ト レジスタへは 8クロックで x 5〜x8が高次側よ り入 力し、 該 CRC演算装置 32E の演算結果 (E(x)/G(x)の剰余 RE(x)) は 8 ビッ トシ 28 フ 卜装置 33E に入力し、 ここで 8 ビッ トシフ 卜処理されて x8E(x) /G(x)の剰余 RE'(X)に変換される。
CRC演算装置 32Fのシフ 卜 レジスタへは 8クロ ックで χ7 χθが高次側よ り入 力し、 F(x)/G(x)の剰余 RF(X)が演算される。
以上の演算を同時に行い、 合成部 34はこれらの演算結果である剰余 RA'(X), RB'(X), RC'(X), RD'(X), RE'(X), RF(X)をビッ ト毎に EX-ORをと り、 16 ビッ トの CRCパリティ P'(x)を出力し、 誤り検出部 35は P'(x)の全ビッ トの ORを計算す る。 CRCノ リティ F(x)の全ビッ トが" 0"であれば誤り はなく、誤り検出部 35は" 0" を出力する。 しかし、 1 つでも" 1 "であれば誤りが有り 、誤り検出部 35 は" を出 力する。
(E)第 4実施例
図 33 は第 4実施例の誤り検出復号器の別の構成図であり、 復号方式は図 2 1 の復号方式と同じである。図 33の誤り検出復号器では、 4台の CRC演算装置 42A 42D を備えている。 かかる場合、 入力データ分割制御部 4 1は各 CRG演算装 置 42A 42D 入力するビッ ト長を
[全体の入力ビッ ト長ノ 4 ]
と し、一般に CRC演算装置を n台備えている場合、 入力ビッ ト長を
[全体の入力ビッ ト長ノ n ]
とする。 例えば、 CRC誤り検出符号化ビッ ト長が CRCパリティを含めて 40bit であったとすれば、 入力データ分割制御部 41は入力データを 10Wtずつ
χ39 ν38 χ37 χ31 y30
χ29, χ28, χ27;Χ21, χ20
χ19, χ18, χ1?, , Χΐΐ, 1°
X9, Xs, χ7, , χΐ, °
に分割し、それぞれを入力ビッ ト数 (演算回数) 1 0 と共に CRC演算装置 42Α, 42Β, 42C, 42D に入力する。 また、 入力データ分割部 41 は各シフ 卜変換装置 43Α, 43Β, 43Cにビッ トシフ ト量を入力する。上 IB例では、 シフ ト変換装置 43A に 30 ビッ 卜シフ トを指示し、シフ ト変換装置 43B に 20 ビッ トシフ 卜を指示し、 シフ ト変換装置 43Cに 10ビッ トシフ トを指示する。 以上によ り、CRC演算装置 42A, 42B, 42C, 42Dは指示されたビッ ト数のデー タが入力された時点におけるシフ ト レジスタの内容を剰余 RA(X), RB(X), RC(X), RD(X)と して出力する。又、シフ ト変換装置 43Aは入力する剰余 RA(X)に 30 ビッ ト シフ ト処理を行って剰余 i '(x)に変換し、シフ ト変換装 ¾ 43B は入力する剰余 RB(X)に 20 ビッ トシフ 卜処理を行って剰余 RB'(X)に変換し、シフ 卜変換装置 43C は入力する剰余 Rc(x)に 10ビッ 卜シフ ト処理を行って剰余 Rc'(x〉に変換する。 合 成部 44は剰余 RA'(x), RB'(X), RC'(X), RD(X)をビッ ト毎に EX-OR演算して合成 し、全ビッ トが" 0"であるか否かによ り誤り検出を行う。
又、次の CRC誤り検出符号化ビッ ト長が CRCパリ ティを含めて 50bitであつ たとすれば、入力データ分割制御部 41は該入力データを 13,13,12,12 ビッ トずつ x49 y48 y47 χ38 χ37
χ36 χ35 χ34 χ25, χ24
χ23 χ22 χ21 χ】3 χ12
X11, X10, X9, , X1, Χ°
に分割し、それぞれを入力ビッ ト数 (演算回数) 13,13,12,12 と共に CRC 演算装 置 42Α, 42Β, 42C, 42Dに入力する。 また、 入力データ分割制御部 41は各シフ ト変換装置 43Α, 43Β, 43Cにビッ トシフ ト量を入力する。上記例では、 シフ ト変 換装置 43Αに 37 ビッ トシフ トを指示し、シフ ト変換装置 43Βに 24 ビッ 卜シフ ト を指示し、シフ 卜変換装置 43Cに 12 ビッ トシフ トを指示する。
以上によ り、CRC演算装置 42A, 42B, 42C, 42Dは指示されたビッ ト数のデー タが入力された時点におけるシフ ト レジスタの内容を剰余 RA(X), RB(X), RC(X), RD(X)と して出力する。 又、シフ 卜変換装置 43Aは入力する剰余 RA(X)に 37 ビッ トシフ ト処理を行って剰余 RA'(X)に変換し、シフ 卜変換装置 43Bは入力する剰余 RB(X)に 24 ビッ トシフ ト処理を行って剰余 RB'(X)に変換し、シフ ト変換装置 43C は入力する剰余 Rc(x)に 12 ビッ 卜シフ ト処理を行って剰余 Rc'(x)に変換する。 合 成部 44は剰余 RA'(X), RB'(X), RC'(X), RD(X)をビッ ト毎に EX-OR演算して合成 し、全ビッ トカ 0"であるか否かによ り誤り検出を行う。
以上、入力データ列を 1/nに略等分割するこ と によ り 、 各 CRC演算装置の演算 時間を均一にできるため、 CRC演算時間を短縮することができる。 なお、 以上の入力データ列を 1/nに略等分割する思想は、 図 15 の誤り検出復 号器や図 1 の誤り検出符号器にも適用することができる。すなわち、 図 1 及び図 15のデータ分割分 11、21は、分割後のデータ列のビッ 卜長が等しく なるように入 力データ列を分割し、各分割データ列を高次側よ り 1ビッ トづっ CRC演算装置(除 算手段)に入力する。
(F) 第 5実施例
図 34 は第 5 実施例の誤り検出復号器の別の構成図であり、 復号方式は図 2 1 の復号方式と同じである。誤り検出復号器において、
①最大の CRC誤り検出符号化ビッ ト長が 60 ビッ トであり、
② 4台の CRC演算装置 52A〜52Dが備えられており、
③各 CRC演算装置 52A〜52Dへの最大入力ビッ ト数が 15 ビッ トであり、
④シフ 卜変換装置 53A〜53Cがそれぞれ 45 ビッ トシフ ト処理、 30 ビッ トシフ 卜処理、 15 ビッ トシフ ト処理を行う ものとする。
上記構成において、 CRC 誤り検出符号化ビッ 卜長が 40 ビッ トであったとすれ ば、 入力データ分割制御分 51 は、 この 40 ビッ トを低次側から 15 ビッ トづっ分 割し、順に CRC演算装置 52D、 CRC演算装置 52Cに入力し、残りの 10 ビッ トを CRC演算装置 52B に入力し、 CRC演算装置 A には入力しない。すなわち、 入力 データ分割部 51 は、 CRC 演算装置 52A にデータを入力せず、 CRC 演算装置 52B;52C,52D にそれぞれ
y39 ν38 37 x36 y35 χ34 y33 y32 y31 v30
χ29 χ28 x27 χ26 χ26 χ24 χ23 χ22 χ21 Υ20 χ19 χ18 χ17 χ16 χ
X", Χ13, Χ12, Χ11, Χ10, Χ9 , Χ8 , Χ7 , Χ6 , Χ5 , Χ4 , Χ3 , Χ2 , Χ1 , χΟ
を入力する。又、入力データ分割部 51 は、 各 CRC演算装置 52A,52B,52C,52D に 入力ビッ ト数 (演算回数) 0,10,15,15 を入力する。
以上によ り、 CRC演算装置 52A, 52B, 52C, 52Dは指示されたビッ ト数のデー タが入力された時点におけるシフ トレジスタの内容を剰余 RA(X) 0 ) , RB(X), RG(X), RD(X)と して出力する。 又、 45 ビッ トシフ ト変換装置 53Aは入力する剰余 RA(X) (= 0 ) に 45 ビッ 卜シフ 卜処理を行って剰余 RA'(X)(=0)に変換し、 30 ビッ トシフ ト変換装置 53B は入力する剰余 RB(X)に 30 ビッ トシフ ト処理を行って剰 余 RB'(X)に変換し、 15ビッ トシフ ト変 装置 53Cは入力する剰余 Rc(x)に 15 ビッ トシフ 卜処理を行って剰余 Rc'(x)に変換する。 合成部 54 は剰余 RA'(X), RB'(X), RG'(X), RD(X)をビッ ト毎に EX-OR 演算して合成し、全ビッ トカ 0"であるか否か によ り誤り検出を行う。
また、 CRC mり検出符号化ビッ 卜長の入力が 50 ビッ 卜であったとすれば、 入 力デ一タ分割制御部 51は、入力デ タを低次側よ り 15,15,15,5づっ分割し、 CRC 演算装置 52A,52B,52C,52Dにそれぞれ
Figure imgf000028_0001
χ44 χ43 χ42 χ41 χ40 χ39 χ38 χ37 χ36 χ35 χ34 χ33 χ32 χ31 χ30
χ29 χ28 χ27 χ26 χ25 χ24 χ23, χ22 χ21 χ20 χ19 χ18 χ17, χ16 χ15 χ", χΐ3; χ12, χ11, χΐ°, X9 , χ8 , X7 , Xs ; X5 , , X3 , X2 , X1, °
を入力する。又、入力データ分割制御部 51は、各 CRC演算装置 52A,52B,52C,52D に入力ビッ ト数 (演算回数) 5,15,15,15を入力する。
以上によ り、 CRC演算装置 52A, 52B, 52C, 52Dは指示されたビッ ト数のデー タが入力された時点におけるシフ トレジスタの内容を剰余 I (x), RB(X), RC(X), RD(X)と して出力する。 又、 45 ビッ トシフ ト変換装置 53A は入力する剰余 I (x) に 45 ビッ トシフ ト処理を行って剰余 RA'(X)に変換し、 30 ビッ トシフ ト変換装置 53B は入力する剰余 RB(X)に 30 ビッ トシフ ト処理を行って剰余 RB'(X)に変換し、 15 ビッ トシフ ト変換装置 53Cは入力する剰余 Rc(x)に 15 ビッ トシフ ト処理を行 つて剰余 Rc'(x)に変換する。 合成部 54は剰余 RA'(x), RB'(X), RC'(X), RD(X)をビ ッ 卜毎に EX-OR 演算して合成し、全ビッ 卜力 0"であるか否かによ り誤り検出を 行う。
第 5 実施例によれば、各ビッ トシフ ト変換装置は常に一定数のビッ 卜シフ 卜処 理を行うだけで良いため、構成を簡単にすることができる。
尚、以上の分割データ列のビッ ト長が設定長となるよ うに入力データ列を分割 する という思想は、図 15の誤り検出復号器や図 1の誤り検出符号器にも適用する ことができる。すなわち、 図 1及び図 15のデータ分割分 11、 21は、分割後のデー タ列のビッ ト長が設定長となるよ うに入力データ列を分割し、各分割データ列を 高次側よ り 1 ビッ トづっ CRC演算装置(除算手段)に入力する。 (G ) 第 6実施例
図 35は第 6 実施例の誤り検出復号器の別の構成図であり、 復号方式は図 2 1 の復号方式と同じである。誤り検出復号器において、
①最大の CRC誤り検出符号化ビッ ト長が 60 ビッ 卜であり、
② 4台の CRC演算装置 62A〜62Dが備えられており、
③各 CRC演算装置 62A〜62Dへの最大入力ビッ ト数が 15 ビッ トであり、
④シフ ト変換装置 63A〜63Cがそれぞれ 45 ビッ トシフ ト処理、 30 ビッ トシフ ト処理、 15 ビッ トシフ ト処理を行う ものとする。
上記構成において、 CRC 誤り検出符号化ビッ ト長が 40 ビッ トであったとすれ ば、 入力データ分割制御部 61 は、 この 40 ビッ トを低次側から 15 ビッ トづっ分 割し、順に CRC演算装置 62D、 CRC演算装置 62Cに入力し、 15 ビッ トに満たな い装置へは高次側に" 0"を埋め込んで トータル 15 ビッ 卜を入力する。従って、入力 データ分割制御部 61は、 CRC演算装置 62A,62B,62C,62Dにそれぞれ
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0, 0 , 0
0 , 0 , 0, 0 , 0 ,x39, X38, X37, X36, X35, X34, X33, χ32, χ31, χ30
Χ29; χ28, χ27, Χ26; χ25; χ24, χ23, χ22, χ21, χ20, χ19, χ18, χ17' χ16, χ15
Χ", Χ13; Χ12, Χ11' Χ10' χ9 , χ8, Χ7 , Χ6 , χδ, χ4, χ3' χ2 , χ1 , Χ0
を入力する。
以上によ り 、 CRG演算装置 62Α, 62B, 62C, 62Dは 15 ビッ トのデータが入力 された時点におけるシフ ト レジスタの内容を剰余 RA(X) (= 0 ), RB(x), RC(X), RD(X)と して出力する。 又、 45 ビッ 卜シフ 卜変換装置 63A は入力する剰余 RA(X) ( = 0 ) に 45 ビッ トシフ ト処理を行って剰余 RA'(X)(=0)に変換し、 30 ビッ トシフ ト変換装置 63Bは入力する剰余 RB(X)に 30ビッ トシフ ト処理を行って剰余 RB'(X) に変換し、 15 ビッ トシフ ト変換装置 63Cは入力する剰余 Rc(x)に 15 ビッ 卜シフ 卜 処理を行って剰余 Rc'(x)に変換する。 合成部 64は剰余 RA'(X), RB'(X), RC'(X), RD(X)をビッ ト毎に EX-OR演算して合成し、全ビッ ト力 0"であるか否かにより誤 り検出を行う。
また、 CRC誤り検出符号化ビッ 卜長が 50 ビッ 卜であつたとすれば、 入力デー タ分割制御部 61は、 入力データを低次側より 15,15,15,5づっ分割し、 CRC演算 装置 62A,62B,62C,62Dにそれぞれ
0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, χ49, Χ48; Χ47; Χ46; χ 5
χ44 χ43 χ42 χ41 χ40 χ39' χ38 χ37 ν36 χχ34 χ33 χ32 χ81 χ30
χ29 γ28 χ27 χ26 χ25 χ24 χ23 χ22 ν21 χ20 χ19 χ18 χ17 χ16 χ15
X", Χ13, Χ12, Χ11, χ10, Χ9 , Χ8 , Χ7 , Χ6 , Χ5, χ4 , χ3, χ2 , χ1, χ0
を入力する。
以上によ り 、 CRC演算装置 62Α, 62B, 62C, 62Dは 15ビッ トのデータが入力 された時点におけるシフ ト レジスタの内容を剰余 I (x), RB(X), RC(X), RD(X)と して出力する。又、 45 ビッ トシフ ト変換装置 63Aは入力する剰余 RA(X)に 45 ビッ 卜シフ 卜処理を行って剰余 RA'(X)に変換し、 30 ビッ トシフ ト変換装置 63Bは入力 する剰余 RB(X〉に 30 ビッ 卜シフ ト処理を行って剰余 RB'(X)に変換し、 15 ビッ トシ フ 卜変換装置 63C は入力する剰余 Rc(x)に 15 ビッ トシフ 卜処理を行って剰余 RG'(X)に変換する。 合成部 64は剰余 I '(x), RB'(X), RG'(X), RD(X)をビッ ト毎に EX-OR演算して合成し、全ビッ トカ 0 "であるか否かによ り誤り検出を行う。 第 6実施例によれば、各 CRC演算装置には常に一定数のデータが入力するため 構成を簡単にできる。又、各ビッ 卜シフ ト変換装置は常に一定数のビッ トシフ ト処 理を行うだけで良いため、ますます構成を簡単にすることができる。
以上のビッ ト長が設定長に満たない分割データ列の高次側に前記満たない分 " 0 " を付加する思想は、図 15の誤り検出復号器や図 1の誤り検出符号器にも適 用することができる。すなわち、 図 1及び図 15のデータ分割分 11、 21は、分割後 のデ一タ列のビッ 卜長が設定長となるよ う に入力データ列を分割し、ビッ 卜長が 設定長に満たない分割データ列の高次側に前記満たない分 "0" を付加して各分 割データ列を高次側よ り 1 ビッ トづっ CRC演算装置(除算手段)に入力する。
(H) 第 7実施例
図 36は第 7実施例の誤り検出復号器の構成図であり、図 31の誤り検出復号器 と同一部分には同一符号を付している。異なる点は、①ビッ トシフ 卜処理により得 られた剰余 RA'(X), RB'(X), RC'(X), RD(X)を記憶する記憶装置 26A〜26D を設け ている点、②誤り検出によ り再入力された 8 ビッ トの分割データのみ再度剰余を 計算し、該剰余と保存されている他の分割データの剩余を合成して CRCパリティ を出力する点である。
第 7実施例の誤り検出復号器において、最初の誤り検出は、 図 31 と同様の方法 で行うが、 誤りが検出されて、 データが部分的に再入力がされた場合には、再入力 された 8 ビッ トの分割データのみ再度剰余を計算し、該剰余と保存されている他 の分割データの剰余を合成して CRCパリティを出力する。
初期時には、全ての CRC演算装置 22A〜 22Dにおけるシフ ト レジスタの初期値 を " 0 " にしておく。 図示しないデータ分割部は、 48 ビッ トのデータ列を低次側 16 ビッ トの CRCパリティ χθ〜χΐ 5と高次側の 32ビッ トの入力データ χΐ6〜Χ47に 分離し、 更に、 32 ビッ 卜の入力データを 8 ビッ トづつの Χΐ 6〜 χ23、 Χ24〜χ31、 χ32
9、 χ4ο〜χ47に分割して各 CRC演算装置 22A〜 22D に入力する。
CRC 演算装置 22A のシフ ト レジスタへは 8 クロ ックで x"〜x«が高次側より 入力し、 該 CRC演算装置 22Aの演算結果 (A(x)/G(x)の剰余 RA(x)) は 24 ビッ ト シフ 卜装置 23Aに入力し、 ここで 24 ビッ トシフ 卜処理されて x«A(x) /G(x)の剰 余 I '(X)に変換され,記憶装置 26Aに記億される。
又、 CRC演算装置 22Bのシフ トレジスタへは 8クロ ックで X 〜 X32が高次側よ り入力し、 該 CRC演算装置 22B の演算結果 (B(x)/G(x)の剰余 RB(X)) は 16 ビッ 卜シフ ト装置 23B に入力し、 ここで 16 ビッ トシフ ト処理されて χΐ6Β(χ) /G(x)の 剰余 RB' (X)に変換され,記憶装置 26Bに記憶される。
又、 CRC演算装置 22 Cのシフ トレジスタへは 8クロ ックで x3i~x24が高^側よ り入力し、 該 CRC演算装置 22C の演算結果 (C(x)/G(x)の剰余 Rc(x)) は 8 ビッ トシフ ト装置 23Cに入力し、 ここで 8 ビッ トシフ ト処理されて x8C(x) /G(x)の剰 余 Rc'G )に変換され,記憶装置 2 6 Cに記憶される。
CRC演算装置 22D のシフ ト レジスタへは 8 クロ ックで χ23〜χ が高次側よ り 入力し、 D(x)/G(x)の剰余 RD(X)が演算され,記憶装置 26Dに記憶される。
以上の演算を同時に行い、 合成部 2 4はこれちの演算結果である剰余 RA'(x), RB' (X) , RG' (X) , RD(X)をビッ トごとに EX- O Rをとつて合成し、 CRCパリティ ビッ ト P' (x)を出力する。 比較部 25は、 この CRC ノ リティ ビッ ト P'(x)と、入力データ に付加されている CRC ビッ トビッ ト Ρ(χ) ( χΐ 5〜χο)とをビッ ト毎に EX-ORをと つて加算(論理和)することで誤り を検出する。 すなわち、 演算結果である CRCパ リティ ビッ 卜 P'(x)と入力データに付加されている CRCパリティ ビッ ト P(x)が全 て等しく、誤り が無ければ 比較部 25 は" 0"を出力し、誤りが有れば" Γを出力する。 ここで誤りがあった場合、 例えば 9〜 X32のみが再入力された場合、 CRC演算 装置 22Bのシフ ト レジスタのみに 8ク ロ ックで 8ビッ トデータ x39〜x32が再入力 し、 該 CRC演算装置 22B の演算結果 (B(x)/G(x)の剰余 RB (X) ) は 16 ビッ トシフ 卜装置 23B に入力し、 ここで 16 ビッ トシフ ト して χΐ6Β(χ) /G(x)の剰余 RB' (X)に 変換される。
合成部 24は、記憶装置 26A, 26C, 26Dに記憶されている剰余 RA' (X) , RG' (X) , RD(X)を読出し、 これらと 16 ビッ トシフ ト回路 23Bで 16 ビッ トシフ ト処理して 得られた結果 RB'(X)とをビッ トごとに EX- ORをとる。 比較部 25 は、 この 16 ビ ッ トの CRCパリ ティ P'(x〉と、入力データに付加されている CRC ビッ ト : Ρ(χ) (χΐ5 〜χθ)と ビッ 卜毎に EX- ORをとつて加算(論理和)することで誤り を検出する。
次に第 7実施例の適用例について示す。 CRCが 2重にかけられている場合につ いて図 3 7 ( A) , (Β)に従って説明する。 尚、図 37(A)はシステム全体の構成図、図 37(B)はデータ処理説明図である。
送信側 101は、 情報全体に対して L2 レイヤの CRC誤り検出符号化を行う。 つ いで、 誤り検出符号化されたデータ (L2 レイヤの CRCパリティ付きのデータ) を複数 a〜dに分割し、各分割データに L 1 レイヤの CRC誤り検出符号化を行い、 最後に誤り訂正符号化を行って送信する。
受信側 102は、 誤り訂正復号後、復号データを複数 A〜Dに分割し、各分割デー タに L 1 レイヤの CRC誤り検出処理を施す。 LI CRC誤り検出の結果、 全て誤り 検出なしと判断されてから L2レイヤの CR C誤り検出処理を行う と演算を 2回に 分けて行うため効率が悪い。そこで L 1 レイヤ及び L2 レイヤにおける誤り検出処 理を両方同時に行う。 と ころが、 L 1 レイヤの CRC誤り検出によ りデータ列 A〜 Dのう ちどこか一つでも誤りが検出されてしまう と L2レイヤでの CRC誤り検出 処理は無駄になつてしまい、 L 1 レイヤの誤った部分だけ再送されたと しても最初 から同じ演算を行う ことになる。
そこで、 第 7実施例の方法を適用する。 すなわち、 L2 レイヤの CRC誤り検出 の演算単位を a〜d とすることによ り、 L 1 レイヤの 誤り検出の CRC演算単位と 同じ長さにして行ない、演算結果を保存し、データが部分的に再送された場合にそ の部分のみを演算する。このよ うにすれば、効率のよい L2 レイヤの CRC 誤り検 出を行う ことができる。 L2 レイヤ以上の高位レイャは処理をソフ トウエアで行う ことが多いため、部分的な演算で結果が得られることは、プロセッサの処理効率が 向上して好ましい。
図 38 は第 7実施例の適用例である誤り検出復号器の構成図である。 入力デー タ分割制御部 71 は入力デ一タ列を L1 レイヤの CRC演算単位 A〜D (図 37(B)参 照)に分割し、 それぞれを LI CRC誤り検出装置 72A〜72Dに入力する と共に、 L2 CRC誤り検出装置 70の CRC演算装置 74A〜74Dに入力する。 Ll CRC誤り検出 装置 72A〜72D及ぴ L2 CRC誤り検出装置 70は同時に誤り検出処理を行う。
Ll CRC誤り検出装置 72A〜72Dは分割データ列 A〜Dについて CRC演算を行 レ、、演算結果を出力する。 CRC監視部 73は Ll CRC誤り検出装置 72A〜72Dの誤 り検出結果に基いて L1 レイヤの誤り の有無を監視し、 誤りがなければ合成許可 信号を L2 CRC誤り検出装置 70の合成部に入力する。
以上と並行して L2 CRC誤り検出装置 70の CRC演算装置 74A〜74Dは入力デ ータ列 A〜Dに含まれる Ll CRCパリティを除いたデータ部分を生成多項式で除 算した剰余を出力する。シフ ト変換装置 75A〜75Cはデータ A〜C列の分割位置に 応じたビッ トシフ 卜分、 CRC演算装置 74A〜74Cで求めた剰余にビッ トシフ ト処 理を施して変換し、記憶部 76 A〜76D に保存する。合成部 77 は、 CRC 監視部 73 からの合成許可信号によ り記憶部 76 A〜76D に記憶されている剰余を合成(ビッ ト毎の EX-OR 演算)し、誤り検出部 7 8は合成結果に基づいて L2 レイヤの CRC 誤り検出を行う。
Ll CRC誤り検出装置 72A〜72D のいずれかの誤り検出結果が誤り を示してい れぱ、 CRC監視部 73は送信側に誤っているデータ部分の再送を要求する。例えば データ列 Bに誤りが含まれていれば、該データ列 Bの再送を要求する。入力デ一タ 分割制御部 71はデ一列タ Bが再送されてくれば Ll CRC検出装置 72Bと L2 CRC 誤り検出装置 70 の CRC演算装置 74Bに入力する。
Ll CRC誤り検出装置 72Bは分割データ列 Bについて CRC演算を行い、演算結 果を出力する。 CRC監視部 73は Ll CRC誤り検出装置 72A〜72Dの誤り検出結 果に基いて L1 レイヤの誤りの有無を監視し、誤りがなければ合成部 77 に合成を 許可する。以上と並行して、 CRC 演算装置 74B は, 入力デ一タ Bに含まれる L 1 CRCパリティ を除いたデータ部分を生成多項式で除算した剰余を出力し、 シフ ト 変換装置 75Bはデータ Bの分割位置に応じたビッ トシフ ト分、 CRC演算装置 74B で求めた剰余にビッ トシフ ト処理を施して変換して記憶部 76B に記憶する。合成 部 77は CRC監視部 73 からの許可信号によ り、記憶部 76 A〜 76Dに記憶されて いる剰余を合成(ビッ ト毎の EX-OR演算)し、誤り検出部 7 8は合成結果に基づい て L2 レイヤの GRC誤り検出を行う。
( I ) 第 8実施例
図 3 9は第 8実施例の誤り検出復号器の別の構成図で、 CRCを 2重にかける図 3 7 ( A) に示すシステム構成において適用できるもの、 図 40 はデータ処理説明 図である。
誤り検出符号器側では図 40 に示すよ うに、 112 ビッ 卜の情報全体に対して L2 レイヤの CRC誤り検出符号化を行って 16ビッ トの L2 CRCノ リティを付加する。 ついで、 誤り検出符号化された 128 ビッ トのデータ (L2 CRCパリティ付きのデ ータ) を 32 ビッ トづつの複数のデータ列 A〜 Dに分割し、各分割データ列 A〜 D に 16 ビッ 卜の LI CRCパリティを付加し、最後に誤り訂正符号化を行って送信す る。
受信側に設けられた LI CRC演算部 80(図 39)は、一致検出復号方法により L1 CRC演算を行う。尚、 LI CRC演算部 80はオール" 0"検出復号方法や本発明の復号 方法など任意の復号方法を用いることができる。また、 L2 CRC 演算部 90 は、図 21 に示す復号方法によ り L2 CRC演算を行う ものとする。
L I CRC演算部 80は、 まず、最初の LI CRC演算をおこなう。 すなわち、 32bit のデータ A ( Χ 191 , Χ 190; Χ189 ; χ 188 > . . · , Χ161, χ160) を除算器 81 のシフ ト レジス タ SRに入力する。シフ ト レジスタへの入力が完了したとき、誤り検出部 82は、 シ フ 卜 レジス タ SR の値(剰余 RA(X))と LI CRC ノ リ テ ィ (X159, Χ158, Χ157; xi 5e, . . . ) X 5; xi44 ) を比較し、 全ビッ ト一致しているか否かで LI CRC誤り 検出を行う。 これと同時に、 シフ トレジスタの値(剰余 RA(X))を L2 CRC 演算部 90に引き渡す。 L2 CRC演算部 90はスィ ッチ 91 を制御することでこの値を記憶 装置 92Aに格納する。
ついで、 LI CRC演算部 80は、 シフ ト レジスタ SRをク リアして次の LI CRC 演算を行う。すなわち、 32Tbitのデータ B(x"3, x" 2, xi 4i , x"o, . . . , x iis, χιΐ2) をシフ トレジスタ SR に入力する。シフ トレジスタへの入力が完了したとき、誤り 検出部 82は、シフ ト レジスタ SRの値(剰余 RB(X))と L I CRC ノヽ。リティ(xm , X no;
X109, X108, . . · , X97, χ96〉 とを比較し、 全ビッ ト一致しているか否かで L 1 CRC 誤り検出を行う。 これと同時に、 シフ トレジスタの値(剰余 RB (X))を L2 CRC演算 部 90に引き渡す。 L2 CRC演算部 90 はスィ ツチ 91 を制御することでこの値を 記憶装置 92B に格鈉する。
ついで、 LI CRC演算部 80は、 シフ ト レジスタ SRをク リアして次の LI CRC 演算を行う。すなわち、 32bitのデータ Β(χ95, χΜ, 3, 2, . . · , χ65, をシフ ト レジスタ SR に入力する。シフ 卜 レジスタへの入力が完了したとき、誤り検出部 82 は、 シフ ト レジスタ SR の値(剰余 Rc(x))と LI CRCパリティ (xss, xes; xsi, X60, · · · , X49, χ48) とを比較し、 全ビッ ト一致しているか否かで L】 CRC誤り 検出を行う。 これと同時に、 シフ ト レジスタの値(剰余 Rc(x))を L2 CRC 演算部 90に引き渡す。 L2 C C演算部 90はスィ ッチ 91を制御するこ とでこの値を記憶 装置 92C に格納する。
ついで、 LI CRC演算部 80 は、 シフ ト レジスタ SRをク リ アして次の LI CRC 演算を行う。すなわち、 32bitのデータ Β(χ47, χ46 , Χ45 , Χ44 , · . . , X17 , χ16)をシフ ト レジスタ SR に入力する。シフ ト レジスタへの入力が完了したとき、誤り検出部 82 は、 シフ ト レジスタ SR の値(剰余 RD(X))と LI CRC ノヽ。リティ (x s, xi 4; xュ 3 , x12, · · · ,χΐ, χθ) とを比較し、 全ビッ ト一致しているか否かで; LI CRG誤り検 出を行う。 これと同時に、 シフ ト レジスタの値 (剰余剰余 RD(X))を L2 CRC演算部 90に引き渡す。 L2 CRC演算部 90はスィッチ 91を制御することでこの値を記憶 装置 92Dに格納する。
以上によ り LI CRC誤り検出が終了すれば、 L2 CRC演算部 90は L2 CRC演算 を開始する。すなわち、 96ビッ トシフ ト部 93Aは記憶装置 92Aから記憶データ(剰 余 RA(X))を読出し、該剰余に 96 ビッ トシフ ト処理を施す。 64 ビッ トシフ ト部 93B は記憶装置 92Bから記憶データ(剰余 RB(X))を読出し、 該剰余に 64 ビッ トシフ 卜 処理を施す。 32 ビッ 卜シフ 卜部 93Cは記憶装置 92Cから記憶データ(剰余 Rc(x)) を読出し、 該剰余に 32 ビッ トシフ ト処理を施す。 合成部 94はビッ トシフ ト後の RA'(X), RB'(X), RC'(X), RD(X) をビッ ト毎に EX-OR演算し、誤り検出部 9 5は合 成結果が全ビッ ト 0であるか否かによ り L2 レイヤの CRC誤り検出を行う。
尚、図 39では、 LI CRC演算部 80が直列的に剰余 RA(X), RB(X), RC(X), RD(X) を演算したが、図 41 に示すよ うに入力データ分割部 83 と 4台の LI CRC演算部 80A〜80Dを設け、それぞれで LI CRCチェックを行う と共に剰余 RA(X),RB(X), Rc(x), RD(X)を演算するように構成することもできる。尚、 LI CRC演算部 80A〜 80Dは図 39の LI CRC演算部 80 と同一の構成を有している。
以上第 8実施例によれば、 L2 CRC演算部のシフ トレジスタ演算を不要に出来、 ハー ドウェア構成を簡単にできる。
( J ) 第 9実施例
以上では、誤り検出符号器及ぴ誤り検出復号器について説明したが、図 1の誤り 検出符号器はそのまま K ビッ トの入力データ列を第 1 の多項式 KG と見立てて 第 2の多項式(生成多項式 G(x))で除算してその剰余を演算する除算装置と して用 いるこ とができる。すなわち、除算装置は、①入力データ列を複数に分割するデー タ分割手段 1 1 、②分割したサブデータ列毎に、サブデータ列の情報ビッ トを多項 式と見立てて第 2 の多項式で除算してその剰余を演算する除算手段 12A〜12D、 ③前記剰余毎に、 サブデータ列の分割位置に応じた変換処理(ビッ トシフ ト処理) を該剰余に施す変換手段 13A〜13 ④前記変換処理によ り得られた各変換値を 合成し、合成結果を K ビッ トの入力デ一タ列を前記第 2の多項式で除算したとき の剰余とする合成部 1 4、 とで構成するこ とができる。
かかる除算装置は、誤り検出符号器に限定されず種々の符号化において利用す ることができる。

Claims

請求の範囲
1 .誤り検出符号化処理によ りノ リティ ビッ トを作成し、該パリティ ビッ トを入 力データ列に付加して符号化する誤り検出符号化装置において、
入力データ列を複数に分割するデータ分割手段、
分割したサブデータ列を生成多項式で除算してその剰余(第 1 の剰余)を演算す る除算手段、
前記剰余毎に、サブデータ列の分割位置に応じた変換処理を該剰余に施す変換 手段、
前記変換処理によ り得られた各変換値を合成してパリティ ビッ トを出力する合 成手段、
を備えたことを特徵とする誤り検出符号化装置。
2 . 前記サブデータの末尾に" 0"を 1個付加したデータ列を前記生成多項式で除 算したときの剰余を第 2の剰余と し、 前記第 1 の剰余を第 2の剰余に変換するた めの変換行列を Aとする とき、前記サブデータの分割位置が Sビッ ト目であれば、 前記変換手段は行列 A sと第 1 の剰余を乗算することによ り前記変換処理を実行 する、 '
ことを特徴とする請求項 1記載の誤り検出符号化装置。
3 . 行列 Aを S回乗算して得られる変換行列 A sをハ一ドウエアで構成し、第 1 の剰余を該ハー ドウェアに入力して前記変換処理を実行する、
こと を特徴とする請求項 2記載の誤り検出符号化装置。
4 .前記データ分割手段は、前言己各サブデータ列のビッ ト長が等しく なるよ うに 入力データ列を分割し、各サブデータ列を高次側よ り 1 ビッ トづっ前記除算手段 に入力する、
ことを特徴とする請求項 1記載の誤り検出符号化装置。
5 .前記データ分割手段は、サブデータ列のビッ ト長が設定長となるよ うに入力 データ列を分割し、各サブデータ列を高次側より 1 ビッ トづっ前記除算手段に入 力する、
ことを特徴とする請求項 1記載の誤り検出符号化装置。
6 .前記データ分割手段は、ビッ 卜長が前記設定長に満たないサブデ一タ列の高 次側に前記満たない分 " 0 " を付加し、 高次側よ りサブデータ列を 1 ビッ トづっ 前記除算手段に入力する、
ことを特徴とする請求項 5記載の誤り検出符号化装置。
7 . パリティ ビッ トが付加された入力データ列に誤り検出処理を施して入力デ ータ列の誤り を検出する誤り検出復号装置において、
入力データ列を複数に分割するデータ分割手段、
分割したサブデータ列を生成多項式で除算してその剰余(第 1 の剰余)を演算す る除算手段、
前記剰余毎に、サブデータ列の分割位置に応じた変換処理を該剰余に施す変換 手段、
前記変換処理によ り得られた各変換値を合成してパリティ ビッ トを出力する合 成手段、
該パリテイ ビッ トと入力データに付加されているパリティ ビッ トが一致してい るか否かによ り入力データの誤り の有無を検出する誤り検出部、
を備えたことを特徴とする誤り検出復号装置。
8 .前記サブデータの末尾に" 0"を 1個付加したデータ列を前記生成多項式で除 算したときの剰余を第 2の剰余と し、 前記第 1の剰余を第 2の剰余に変換するた めの変換行列を Aとするとき、前記サブデータの分割位置が Sビッ ト目であれば、 前記変換手段は行列 A sと第 1 の剰余を乗算することにより前記変換処理を実行 する、
ことを特徴とする請求項 7記載の誤り検出復号装置。
9 . 行列 Aを S回乗算して得られる変換行列 A sをハ一 ドウエアで構成し、第 1 の剰余を該ハ一 ドウエアに入力して前記変換処理を実行する、
ことを特徴とする請求項 8記載の誤り検出復号装置。
1 0 .前記データ分割手段は、前記各サブデータ列のビッ ト長が等しく なるよう に入力データ列を分割し、各サブデータ列を高次側より 1 ビッ トづっ前記除算手 段に入力する、
ことを特徴とする請求項 7記載の誤り検出復号装置。
1 1 .前記データ分割手段は、サブデータ列のビッ ト長が設定長となるよ うに入 力データ列を分割し、各サブデータ列を高次側より 1 ビッ トづっ前記除算手段に 入力する、
こと を特徴とする請求項 7記載の誤り検出復号装置。
1 2 .前記データ分割手段は、ビッ ト長が前記設定長に満たないサブデータ列の 高次側に前記満たない分 " 0 " を付加し、 高次側よりサブデータ列を 1 ビッ トづ つ前記除算手段に入力する、
こと を特徴とする請求項 1 1記載の誤り検出復号装置。
1 3 . 前記変換処理により得られた各変換値を保存する保存手段を備え、 誤り のために再入力されたサブデータのみ再度剰余を計算し、該剰余の変換結 果と保存されている他のサブデータの変換結果を合成してパリティ ビッ トを出力 する、
ことを特徴とする請求項 7記載の誤り検出復号装置。
1 4 . ノ リティ ビッ トが付加された入力データ列に誤り検出処理を施して入力 データ列の誤り を検出する誤り検出復号装置において、
パリティ ビッ トを含めて入力データ列を複数に分割するデータ分割手段、 分割したサブデータ列を生成多項式で除算してその剰余(第 1 の剰余)を演算す る除算手段、
前記剰余毎に、サブデータ列の分割位置に応じた変換処理を該剰余に施す変換 手段、
前記変換処理によ り得られた各変換値を合成する合成部、
合成結果が全ビッ ト " 0 " であるか否かにより入力データの誤りの有無を検出 する誤り検出部、
を備えたことを特徴とする誤り検出復号装置。
1 5 .前記サブデータの末尾に" 0"を 1個付加したデータ列を前記生成多項式で 除算したときの剰余を第 2の剰余と し、 前記第 1の剰余を第 2の剰余に変換する ための変換行列を A とするとき、前記サブデータの分割位置が S ビッ ト 目であれ ば、前記変換手段は行列 A sと第 1の剰余を乗算することにより前記変換処理を実 行する、
ことを特徴とする請求項 1 4記載の誤り検出復号装置。
1 6 . 行列 Aを S 回乗算して得られる変換行列 A sをハー ドウ ァで構成し、 第 1 の剰余を該ハー ドクエアに入力して前記変換処理を実行する、
こと を特徴とする請求項 1 5記載の誤り検出復号装置。
1 7 .前記データ分割手段は、前記各サブデータ列のビッ ト長が等しく なるよう に入力データ列を分割し、各サブデータ列を高次側より 1 ビッ トづっ前記除算手 段に入力する、
ことを特徴とする請求項 1 4記載の誤り検出復号装置。
1 8 .前記データ分割手段は、サブデータ列のビッ ト長が設定長となるように入 力データ列を分割し、各サブデータ列を高次側より 1 ビッ トづっ前記除算手段に 入力する、
ことを特徴とする請求項 1 4記載の誤り,検出復号装置。
1 9 .前記データ分割手段は、ビッ ト長が前記設定長に満たないサブデータ列の 高次側に前記満たない分 " 0 " を付加し、 高次側よ りサブデータ列を : I ビッ トづ つ前記除算手段に入力する、
ことを特徴とする請求項 1 8記載の誤り検出復号装置。
2 0 . 前記変換処理により得られた各変換値を保存する保存手段を備え、 誤り のために再入力されたサブデータのみ再度剰余を計算し、該剰余の変換結 果と保存されている他のサブデータの変換結果を合成し、 合成結果が全ビッ ト " 0 " であるか否かによ り入力データの誤りの有無を検出する、
こと を特徴とする請求項 1 4記載の誤り検出復号装置。
2 1 . パリティ ビッ 卜が付加された入力データ列に誤り検出処理を施して入力 データ列の誤り を検出する誤り検出復号装置において、
所定の生成多項式を用いて生成された第 1 のパリティ ビッ 卜が付加されたデー タ列を複数に分割し、かつ、分割によ り得られたサブデータ列毎に前記生成多項式 を用いて生成された第 2のパリティ ビッ トを該サプデータ列に付加してなるデー タ列が入力したとき、該入力データ列を第 2 のパリティ を含む前記サブデータ列 毎に分割するデータ分割手段、
前記サブデータ列を前記生成多項式で除算し、 その剰余をパリティ ビッ ト と し て出力し、該パリティ ビッ 卜と前記サブデータに付加されている第 2 のパリティ ビッ 卜 とを比較してサブデータの誤り を検出する第 1 の誤り検出部、 前記剰余毎に、サブデータ列の分割位置に応じた変換処理を該剰余に施す変換 手段、 ' 前記変換処理によ り得られた各変換値を合成し、 合成結果が全ビッ ト " 0 " で あるか否かによ り入力データの誤りの有無を検出する第 2の誤り検出部、 を備えたことを特徴とするの誤り検出復号装置。
2 2 . Kビッ トの入力データ列を第 1 の多項式と見立てて第 2 の多項式で除算 してその剰余を演算する除算装置において、
入力データ列を複数に分割するデータ分割手段、
分割したサブデータ列毎に、 サブデータ列の情報ビッ トを多項式と見立てて前 記第 2の多項式で除算してその剰余を演算する除算手段、
前記剰余毎に、サブデータ列の分割位置に応じた変換処理を該剰余に施す変換 手段、
前記変換処理によ り得られた各変換値を合成し、合成結果を K ビッ トの入力デ 一タ列を前記第 2 の多項式で除算したときの剰余とする合成部、
を備えたこと を特徴とする除算装置。
PCT/JP2002/003965 2002-04-22 2002-04-22 Codeur et decodeur de detection d'erreur, et diviseur WO2003090362A1 (fr)

Priority Applications (6)

Application Number Priority Date Filing Date Title
EP02720542A EP1499024B1 (en) 2002-04-22 2002-04-22 Error-detection encoder and decoder
PCT/JP2002/003965 WO2003090362A1 (fr) 2002-04-22 2002-04-22 Codeur et decodeur de detection d'erreur, et diviseur
DE60236896T DE60236896D1 (de) 2002-04-22 2002-04-22 Fehlerdetektionscodierer und -decodierer
EP10150593A EP2175559A1 (en) 2002-04-22 2002-04-22 Error-detecting decoder with re-calculation of a remainder upon partial re-transmission of a data string.
JP2003587014A JP3930479B2 (ja) 2002-04-22 2002-04-22 誤り検出符号化及び復号装置並びに除算装置
US10/970,859 US7428693B2 (en) 2002-04-22 2004-10-20 Error-detecting encoding and decoding apparatus and dividing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2002/003965 WO2003090362A1 (fr) 2002-04-22 2002-04-22 Codeur et decodeur de detection d'erreur, et diviseur

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US10/970,859 Continuation US7428693B2 (en) 2002-04-22 2004-10-20 Error-detecting encoding and decoding apparatus and dividing apparatus

Publications (1)

Publication Number Publication Date
WO2003090362A1 true WO2003090362A1 (fr) 2003-10-30

Family

ID=29227609

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2002/003965 WO2003090362A1 (fr) 2002-04-22 2002-04-22 Codeur et decodeur de detection d'erreur, et diviseur

Country Status (5)

Country Link
US (1) US7428693B2 (ja)
EP (2) EP2175559A1 (ja)
JP (1) JP3930479B2 (ja)
DE (1) DE60236896D1 (ja)
WO (1) WO2003090362A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008005419A (ja) * 2006-06-26 2008-01-10 Alaxala Networks Corp 情報処理装置および情報処理方法
WO2008023684A1 (fr) * 2006-08-22 2008-02-28 Panasonic Corporation Unité d'opération arithmétique de résidus en parallèle et procédé d'opération arithmétique de résidus en parallèle
WO2009025221A1 (ja) * 2007-08-17 2009-02-26 Ntt Docomo, Inc. データ送信方法、データ受信方法、移動端末及び無線通信システム
JP2010534007A (ja) * 2007-07-13 2010-10-28 インテル・コーポレーション メッセージ剰余の決定

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7596139B2 (en) 2000-11-17 2009-09-29 Foundry Networks, Inc. Backplane interface adapter with error control and redundant fabric
US7356030B2 (en) * 2000-11-17 2008-04-08 Foundry Networks, Inc. Network switch cross point
US7236490B2 (en) 2000-11-17 2007-06-26 Foundry Networks, Inc. Backplane interface adapter
US7187687B1 (en) 2002-05-06 2007-03-06 Foundry Networks, Inc. Pipeline method and system for switching packets
US20120155466A1 (en) 2002-05-06 2012-06-21 Ian Edward Davis Method and apparatus for efficiently processing data packets in a computer network
US7468975B1 (en) 2002-05-06 2008-12-23 Foundry Networks, Inc. Flexible method for processing data packets in a network routing system for enhanced efficiency and monitoring capability
US6901072B1 (en) 2003-05-15 2005-05-31 Foundry Networks, Inc. System and method for high speed packet transmission implementing dual transmit and receive pipelines
US7817659B2 (en) 2004-03-26 2010-10-19 Foundry Networks, Llc Method and apparatus for aggregating input data streams
US8730961B1 (en) 2004-04-26 2014-05-20 Foundry Networks, Llc System and method for optimizing router lookup
US7657703B1 (en) 2004-10-29 2010-02-02 Foundry Networks, Inc. Double density content addressable memory (CAM) lookup scheme
WO2007034935A1 (en) 2005-09-21 2007-03-29 Semiconductor Energy Laboratory Co., Ltd. Cyclic redundancy check circuit and semiconductor device having the cyclic redundancy check circuit
US8448162B2 (en) 2005-12-28 2013-05-21 Foundry Networks, Llc Hitless software upgrades
US8427961B2 (en) * 2006-05-18 2013-04-23 Motorola Mobility Llc Information encoding on a codeword in wireless communication networks
US8229109B2 (en) * 2006-06-27 2012-07-24 Intel Corporation Modular reduction using folding
JP2008011025A (ja) * 2006-06-28 2008-01-17 Fujitsu Ltd 巡回冗長検査のための剰余計算装置
TWI312987B (en) * 2006-08-11 2009-08-01 Via Tech Inc Computer system having raid control function and raid control method
US7903654B2 (en) 2006-08-22 2011-03-08 Foundry Networks, Llc System and method for ECMP load sharing
US7827471B2 (en) * 2006-10-12 2010-11-02 Intel Corporation Determining message residue using a set of polynomials
US8238255B2 (en) 2006-11-22 2012-08-07 Foundry Networks, Llc Recovering from failures without impact on data traffic in a shared bus architecture
US8155011B2 (en) 2007-01-11 2012-04-10 Foundry Networks, Llc Techniques for using dual memory structures for processing failure detection protocol packets
DE102007032659A1 (de) 2007-07-13 2009-01-15 Knick Elektronische Messgeräte GmbH & Co. KG Verfahren zur telegrammweisen Datenübertragung in einem seriellen Kommunikationsprotokoll sowie dieses nutzende Datenübertragungsvorrichtung
US8037399B2 (en) 2007-07-18 2011-10-11 Foundry Networks, Llc Techniques for segmented CRC design in high speed networks
US20090024900A1 (en) * 2007-07-18 2009-01-22 Cisco Technology, Inc. Cyclic redundancy checking in lane-based communications
US8271859B2 (en) * 2007-07-18 2012-09-18 Foundry Networks Llc Segmented CRC design in high speed networks
KR101286238B1 (ko) * 2007-08-01 2013-07-15 삼성전자주식회사 데이터 병렬화 수신기
CN101765976B (zh) * 2007-08-07 2014-03-12 富士通株式会社 错误检测装置和错误校正/错误检测解码装置和方法
JP4831018B2 (ja) * 2007-08-28 2011-12-07 日本電気株式会社 並列巡回符号生成装置および並列巡回符号検査装置
US8509236B2 (en) 2007-09-26 2013-08-13 Foundry Networks, Llc Techniques for selecting paths and/or trunk ports for forwarding traffic flows
US7886214B2 (en) * 2007-12-18 2011-02-08 Intel Corporation Determining a message residue
US8042025B2 (en) * 2007-12-18 2011-10-18 Intel Corporation Determining a message residue
CN101483441A (zh) * 2008-01-07 2009-07-15 三星电子株式会社 通信系统中添加循环冗余校验的设备
JP4798164B2 (ja) * 2008-04-02 2011-10-19 ソニー株式会社 送信装置および方法、受信装置および方法、並びにプログラム
KR20100008849A (ko) * 2008-07-17 2010-01-27 삼성전자주식회사 통신 시스템에서 순환중복검사 방법 및 장치
US8261175B2 (en) * 2008-11-14 2012-09-04 Intel Mobile Communications GmbH Method and apparatus for performing a CRC check
US8090901B2 (en) 2009-05-14 2012-01-03 Brocade Communications Systems, Inc. TCAM management approach that minimize movements
US8352829B1 (en) * 2009-06-02 2013-01-08 Juniper Networks, Inc. Regeneration of a packet CRC
US8599850B2 (en) 2009-09-21 2013-12-03 Brocade Communications Systems, Inc. Provisioning single or multistage networks using ethernet service instances (ESIs)
US20110239098A1 (en) * 2010-03-26 2011-09-29 Mediatek Singapore Pte. Ltd. Detecting Data Error
CN102543207B (zh) * 2010-12-17 2016-01-06 西安奇维测控科技有限公司 一种在闪存控制器中rs纠检错算法的高效利用方法
US9437328B2 (en) * 2012-11-30 2016-09-06 Silicon Motion Inc. Apparatus and method for applying at-speed functional test with lower-speed tester
US9252778B2 (en) * 2013-09-27 2016-02-02 Scaleo Chip Robust flexible logic unit
US9362950B2 (en) * 2014-05-02 2016-06-07 Infineon Technologies Ag High performance CRC calculation with small footprint
US20170250710A1 (en) * 2014-10-03 2017-08-31 Telefonaktiebolaget Lm Ericsson (Publ) Method and device for calculating a crc code in parallel
US9787434B2 (en) * 2014-12-11 2017-10-10 Mediatek Inc. Cyclic redundancy check device and method
US9960788B2 (en) * 2015-03-27 2018-05-01 Toshiba Memory Corporation Memory controller, semiconductor memory device, and control method for semiconductor memory device
WO2017212547A1 (ja) * 2016-06-07 2017-12-14 三菱電機株式会社 データ処理装置、データ処理方法及びデータ処理プログラム
US10454480B2 (en) 2016-08-03 2019-10-22 Silicon Mobility Embedded FPGA with multiple configurable flexible logic blocks instantiated and interconnected by abutment
US10116311B2 (en) 2016-08-03 2018-10-30 Silicon Mobility Embedded FPGA with multiple configurable flexible logic blocks instantiated and interconnected by abutment
US10666437B2 (en) * 2017-11-07 2020-05-26 Harris Solutions NY, Inc. Customizable encryption/decryption algorithm

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01265332A (ja) * 1988-04-18 1989-10-23 Fujitsu Ltd Crc並列演算回路の行列式生成方法
JPH0385923A (ja) * 1989-08-30 1991-04-11 Fujitsu Ltd Crc演算方式
JPH0918354A (ja) * 1995-07-04 1997-01-17 Oki Electric Ind Co Ltd 周期冗長検査方式の誤り検出符号生成装置及び誤り検出装置
JPH0964754A (ja) * 1995-08-21 1997-03-07 Nippon Telegr & Teleph Corp <Ntt> 誤り検出符号生成回路
JPH10209880A (ja) * 1997-01-22 1998-08-07 Nec Corp Crc演算回路
JPH10215187A (ja) * 1997-01-29 1998-08-11 Nec Corp 誤り検出符号化復号装置および方法
US5951707A (en) 1997-06-27 1999-09-14 International Business Machines Corporation Method of partitioning CRC calculation for a low-cost ATM adapter

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4117458A (en) * 1977-03-04 1978-09-26 Grumman Aerospace Corporation High speed double error correction plus triple error detection system
DK155702C (da) 1986-12-15 1989-11-13 Skiold Datamix A S Datamatstyret toerfodringsanlaeg, navnlig til anvendelse i svinestalde
US4809273A (en) * 1987-01-29 1989-02-28 International Business Machines Corporation Device for verifying operation of a checking code generator
US5121396A (en) * 1988-10-27 1992-06-09 International Business Machines Corp. Preservation of crc integrity upon intentional data alteration during message transmission
JP2592681B2 (ja) 1989-09-11 1997-03-19 日本電信電話株式会社 セル同期回路
DE69320321T2 (de) * 1993-02-05 1998-12-24 Hewlett Packard Co Verfahren und Gerät zum Nachprüfen von CRC-Koden, wobei CRC Teilkode kombiniert werden
US5768294A (en) * 1995-12-11 1998-06-16 International Business Machines Corporation Memory implemented error detection and correction code capable of detecting errors in fetching data from a wrong address
US6236647B1 (en) * 1998-02-24 2001-05-22 Tantivy Communications, Inc. Dynamic frame size adjustment and selective reject on a multi-link channel to improve effective throughput and bit error rate
JP3613448B2 (ja) 1999-06-21 2005-01-26 株式会社エヌ・ティ・ティ・ドコモ データ伝送方法、データ伝送システム、送信装置および受信装置
JP2001168730A (ja) 1999-12-07 2001-06-22 Hitachi Ltd データ送受信装置
US6763492B1 (en) 2000-09-26 2004-07-13 Qualcomm Incorporated Method and apparatus for encoding of linear block codes
US6883131B2 (en) * 2001-09-28 2005-04-19 Sun Microsystems, Inc. XOR processing incorporating error correction code data protection
US6961893B1 (en) * 2002-03-28 2005-11-01 Adaptec, Inc. Separable cyclic redundancy check

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01265332A (ja) * 1988-04-18 1989-10-23 Fujitsu Ltd Crc並列演算回路の行列式生成方法
JPH0385923A (ja) * 1989-08-30 1991-04-11 Fujitsu Ltd Crc演算方式
JPH0918354A (ja) * 1995-07-04 1997-01-17 Oki Electric Ind Co Ltd 周期冗長検査方式の誤り検出符号生成装置及び誤り検出装置
JPH0964754A (ja) * 1995-08-21 1997-03-07 Nippon Telegr & Teleph Corp <Ntt> 誤り検出符号生成回路
JPH10209880A (ja) * 1997-01-22 1998-08-07 Nec Corp Crc演算回路
JPH10215187A (ja) * 1997-01-29 1998-08-11 Nec Corp 誤り検出符号化復号装置および方法
US5951707A (en) 1997-06-27 1999-09-14 International Business Machines Corporation Method of partitioning CRC calculation for a low-cost ATM adapter

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1499024A4 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008005419A (ja) * 2006-06-26 2008-01-10 Alaxala Networks Corp 情報処理装置および情報処理方法
JP4648255B2 (ja) * 2006-06-26 2011-03-09 アラクサラネットワークス株式会社 情報処理装置および情報処理方法
WO2008023684A1 (fr) * 2006-08-22 2008-02-28 Panasonic Corporation Unité d'opération arithmétique de résidus en parallèle et procédé d'opération arithmétique de résidus en parallèle
JPWO2008023684A1 (ja) * 2006-08-22 2010-01-14 パナソニック株式会社 並列剰余演算器及び並列剰余演算方法
US8700971B2 (en) 2006-08-22 2014-04-15 Panasonic Corporation Parallel residue arithmetic operation unit and parallel residue arithmetic operating method
JP2010534007A (ja) * 2007-07-13 2010-10-28 インテル・コーポレーション メッセージ剰余の決定
US8689078B2 (en) 2007-07-13 2014-04-01 Intel Corporation Determining a message residue
WO2009025221A1 (ja) * 2007-08-17 2009-02-26 Ntt Docomo, Inc. データ送信方法、データ受信方法、移動端末及び無線通信システム
JP2009049665A (ja) * 2007-08-17 2009-03-05 Ntt Docomo Inc データ送信方法、データ受信方法、移動端末及び無線通信システム
US8458549B2 (en) 2007-08-17 2013-06-04 Ntt Docomo, Inc. Data transmission method, data reception method, mobile terminal and radio communication system

Also Published As

Publication number Publication date
EP1499024B1 (en) 2010-06-30
EP2175559A1 (en) 2010-04-14
EP1499024A1 (en) 2005-01-19
DE60236896D1 (de) 2010-08-12
US7428693B2 (en) 2008-09-23
US20050097432A1 (en) 2005-05-05
EP1499024A4 (en) 2007-05-23
JP3930479B2 (ja) 2007-06-13
JPWO2003090362A1 (ja) 2005-08-25

Similar Documents

Publication Publication Date Title
WO2003090362A1 (fr) Codeur et decodeur de detection d&#39;erreur, et diviseur
US4649541A (en) Reed-Solomon decoder
JP5126230B2 (ja) 誤り検出方法
US5699368A (en) Error-correcting encoder, error-correcting decoder, and data transmitting system with error-correcting codes
JPS60204125A (ja) デコーデイング装置
EP0233075B1 (en) Method and apparatus for generating error detection check bytes for a data record
CN1198422C (zh) 检测带逆序校验位的循环冗余校验码中的错误的装置和方法
KR20110010771A (ko) 프로그램가능한 프로세서 상에서의 임의의 갈루아 필드 산술연산의 구현
TWI656746B (zh) 編碼器、解碼器、通訊系統及用於編碼資料之方法
US8700971B2 (en) Parallel residue arithmetic operation unit and parallel residue arithmetic operating method
US7366969B2 (en) System and method for implementing a Reed Solomon multiplication section from exclusive-OR logic
US7168024B2 (en) Data processing system and method
US20140013181A1 (en) Error Correction Coding Using Large Fields
US7458007B2 (en) Error correction structures and methods
WO2009146517A1 (en) Method of encoding and/or decoding multidimensional and a system comprising such method
EP1427109A2 (en) Apparatus and method of calculating a cyclic redundancy check value for a multi bit input data word
JP3485075B2 (ja) 復号回路及びその復号方法
JP2008160663A (ja) 情報ビット列の除算方法及びその装置
JPH06224783A (ja) 巡回符号化crc装置
JPH05183447A (ja) 改善された誤まり検出符号化システム
WO2012109872A1 (zh) 通信系统中的循环冗余校验处理方法、装置和lte终端
JP2003078421A (ja) 符号系列の先頭位置検出方法とその装置、それを用いた復号方法とその装置
EP2180600A1 (en) Error detecting apparatus for decoding two layers of error detection
CN110504975B (zh) 一种crc并行编解码方法及基于其的编解码器
US7287207B2 (en) Method and apparatus for computing parity characters for a codeword of a cyclic code

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2003587014

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2002720542

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 10970859

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 2002720542

Country of ref document: EP