WO2001037432A1 - Dispositif et procede de traitement des erreurs, utilisant un code cyclique - Google Patents

Dispositif et procede de traitement des erreurs, utilisant un code cyclique Download PDF

Info

Publication number
WO2001037432A1
WO2001037432A1 PCT/JP1999/006360 JP9906360W WO0137432A1 WO 2001037432 A1 WO2001037432 A1 WO 2001037432A1 JP 9906360 W JP9906360 W JP 9906360W WO 0137432 A1 WO0137432 A1 WO 0137432A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
crc
cyclic code
interleaving
cyclic
Prior art date
Application number
PCT/JP1999/006360
Other languages
English (en)
French (fr)
Inventor
Yukio Kodama
Takeshi Kyomoto
Original Assignee
Mitsubishi Denki Kabushiki Kaisha
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 Mitsubishi Denki Kabushiki Kaisha filed Critical Mitsubishi Denki Kabushiki Kaisha
Priority to JP2001537875A priority Critical patent/JP3655872B2/ja
Priority to CN99815450A priority patent/CN1333950A/zh
Priority to EP99974200A priority patent/EP1152540A4/en
Priority to PCT/JP1999/006360 priority patent/WO2001037432A1/ja
Publication of WO2001037432A1 publication Critical patent/WO2001037432A1/ja
Priority to US09/899,062 priority patent/US6516439B2/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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • 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/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2703Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques the interleaver involving at least two directions
    • 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/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes

Definitions

  • the present invention relates to an error control apparatus and method using a cyclic code in communication, and particularly to an error control apparatus and method using a communication method that can switch between communication using data interleaving and communication not using data interleaving.
  • the present invention relates to a control device and a method. Background art
  • wireless communication digital communication is mainly used.
  • wireless communication it is preferable to use digital communication in order to ensure the secrecy of telephone calls.
  • an error control method combining an encoding method using an error correction code and a CRC code may be used.
  • a base station when transmitting from a base station to a mobile station, do not interleave if the radio line quality is good by checking the status of communication from the mobile station.
  • the CRC code obtained by CRC is added to the data and transmitted. If the radio channel quality is not good, the data is encoded with an error correction code, and the CRC code obtained by the interleaved CRC is added to the data and transmitted.
  • the CRC code method may be changed depending on the line conditions.
  • the data that is not interleaved is represented by the received data 120 shown in FIG. (2 0 8 bits among data Do ⁇ D 2 o7, CRC bits 1 6-bit D 2 08 ⁇ D223) data D 0 2 2 4-bit to D 2 23 include, these data bits in that order Therefore it is sent.
  • the data is stored in the reception buffer in this order, read out in this order, and decoded for error control by CRC.
  • the code length is 2 24 bits, 16 bits ⁇ 1, and 16-stage interleaving.
  • the interleaved reception data 1 3 0 were, not the order in the Do ⁇ D 2 23, Do, Dw, D 3 2, ... ⁇ D 2. 9, Di, Dn, D 3 3, ... ⁇ D 2 io, ⁇ ⁇ ⁇ , D 2 22, Di 5, D 3 i, D 4 7, ⁇ , are interleaved in the order of D 207, D 2 23 , And are read out in this order, as indicated by the arrows 132, to perform decoding for error control by CRC. In particular, such interleaving is performed by adding an error correction signal when the line condition is poor.
  • Such data with / without interleaving is performed on the base station side.
  • the mobile station cannot know whether the data received from the base station is interleaved or non-interleaved. Therefore, conventionally, the mobile station first performs error detection with the CRC circuit assuming that the received data is interleaved, and if there is no error, judges that the received data was in the format with interleave, and left it as it is. After processing, if there is an error, the received data is judged to be a format without interleaving, and the error is detected again by the CRC circuit without interleaving. With this processing, if there is an additional CRC error, appropriate error processing such as retransmission of data is performed.
  • FEC Forward Error Correction
  • FIG. 7 shows an example of a circuit for implementing the above-described CRC processing.
  • a conventional error control decoding unit 90 is configured to store a received data buffer 50 for storing data received from a base station and a data stored in received data buffer 50.
  • the interleave data (in an interleaved format), a data interleaver 52 for reading data in a predetermined order by assuming that the data is interleaved, a FEC 54 receiving the output of the interleaver 52, 56 that receives data read straight from the data buffer 50, a selector 100 that selects and outputs one of the FEC 56 and FEC 54 data, and receives the output of the selector 100 and calculates the CRC of the data And a CRC circuit 58 for
  • the ⁇ 1 ⁇ circuit 58 includes a plurality of 1-bit registers CR0 to CR15 (which are connected in series so as to shift data in order). The number is determined by the CRC generator polynomial.) And among the coefficients of each term in the CRC generator polynomial, inserted before the 1-bit register at the position corresponding to the coefficient other than 0, and given via the data line 140.
  • Adder 142 and adder 144 for adding the data and the output of the immediately preceding 1-bit register modulo 2 to give the immediately following 1-bit register, and the input data and the last 1-bit register CR It includes a leading 1-bit register CR0 via data line 140 for performing a modulo-2 addition with the fifteen outputs, and an adder 146 for providing to adder 142 and adder 144.
  • Figure 11 shows the generator polynomial: Is a CRC circuit corresponding to.
  • the CRC circuit is essentially a division circuit.
  • a predetermined initial value is set in each 1-bit register, and received data is input one bit at a time as input data, and the value is shifted between the 1-bit registers.
  • the value held in the 1-bit registers CR0 to CR15 is the remainder of the division, that is, the CRC bit. Normally, if the CRC bit is 0, there is no error, and if it is not 0, it is determined that an error has occurred.
  • step S 2 Error detection using this circuit is performed by the processing shown in the flowchart shown in FIG. That is, when the mobile station is activated and receives a unit (step S 2), it is assumed that the received data is interleaved first, The data that has been diced through the dentary bar 52 shown in FIG. 7 is selected by the selector 100, and the CRC circuit 58 performs CRC processing (step S30). As a result, if there is no CRC error, control proceeds to step S8, and if there is a CRC error, control proceeds to step S34 (determination in step S32).
  • step S8 it is determined whether the unit received in step S2 is the first unit. If it is not the head unit, this unit is discarded in step S14 and control returns to step S2.
  • step S10 a continuous unit is received with interleaving, and the CRC process is performed. That is, in the processing below this, the selector 100 selects the output of the FEC 54. Subsequently, in step S12, it is determined whether or not the continuation unit has a certain force. If there is, the control is returned to step S10 to continue the continuation unit reception process. If it is determined in step S12 that there is no continuation unit, the control returns to step S2.
  • step S32 determines whether or not there is a CRC error. If there is no CRC error, the data received in step S2 is determined to have not been interleaved, and control proceeds to step S18. If there is a CRC error, do nothing (ie, the receiving unit is discarded), and control returns to step S2.
  • step S20 differs from step S10 in that CRC processing is performed on the assumption that the received data is not interleaved.
  • FIG. 8 shows another conventional error control decoding section 110 for performing the same processing as the conventional error control decoding section 90 shown in FIG. In this example as well, assuming that the received data is interleaved first, the data read from the received data buffer 50 and deinterleaved by the deinterleaver 52 is passed through the FEC 54 to the CRC circuit 58A, where the data is subjected to a CRC. To process.
  • an object of the present invention is to provide an error control circuit and method capable of reducing power consumption in an error control apparatus and method for performing a cyclic code check on data for which the presence / absence of interleaving is unknown. is there.
  • Another object of the present invention is to provide an error control circuit and an error control method capable of judging absence of interleaving by reading data only once from a reception data buffer.
  • Still another object of the present invention is to provide an error control circuit and a method capable of determining at a high speed whether or not there is interleaving by reading data only once from a reception data buffer. Disclosure of the invention
  • An error control device interleaves data of a predetermined number of bits coded by a predetermined cyclic code and scheduled to be interleaved in a predetermined interleaving order.
  • a first cyclic code check circuit that performs a cyclic code check on data of a predetermined number of bits by a check method corresponding to a cyclic code coding method, and a Dinter parser. Simultaneously with the cyclic code check by the first cyclic code check circuit, and at substantially the same time, while eliminating the interleaving effect by the dint liver, a check method corresponding to the cyclic code coding method is used to check the data of a predetermined number of bits. And a second cyclic code check circuit for performing a cyclic code check.
  • the second cyclic code check circuit Simultaneously with the cyclic code check on the dinterleaved data by the first cyclic code check circuit, and at substantially the same time, the effect of the interleaving due to the interleaving is eliminated by the second cyclic code check circuit.
  • a cyclic code check is performed while performing.
  • the second cyclic code checking circuit includes: an input data line connected to an output of the Dinary bar; a data bus including a number of data signal lines corresponding to the highest order of the cyclic code generator polynomial; Connected to each of the input data line and the data signal line, and performs a predetermined operation sequence determined by a cyclic code encoding method and an interleave method on data supplied from the input data line and data on the data signal line.
  • a plurality of partial check bit calculation circuits provided corresponding to the highest order of the cyclic code generator polynomial to calculate check bits at predetermined positions of the cyclic code, and a plurality of partial check bit calculations
  • An operation control unit connected to each of the circuits for controlling an operation sequence to be performed in the partial check bit calculation circuit. More preferably, each of the plurality of partial check bit calculation circuits is connected to an arithmetic control unit, an input data line, and a data bus, and outputs data on the input data line and data on a predetermined data line on the data bus.
  • An operation unit for performing an operation specified by an operation designation signal given from the operation control unit, an input connected to an output of the operation unit, and an output connected to a predetermined data line of the data bus.
  • a data register for holding data output from the arithmetic unit and outputting the data to a predetermined data line; and a data register connected to an output of the data register, and dividing a predetermined number of bits by the number of interleaving stages in the operation sequence.
  • An error control method is to provide a method in which data of a predetermined number of bits, which are coded by a predetermined cyclic code and are scheduled to be interleaved in a predetermined interleave order, are transmitted by Receiving the data diced by the step of dinterleaving, and performing a first cyclic code check of the data having a predetermined number of bits by a check method corresponding to the coding method of the cyclic code.
  • a check method corresponding to the cyclic code coding method simultaneously with the step of receiving the data and performing the first cyclic code check, and at substantially the same time while eliminating the interleaving effect of the step of dinterleaving. And performing a second cyclic code check of data of a predetermined number of bits.
  • a second cyclic code check is performed simultaneously with the first cyclic code check on the diced data and at substantially the same time while eliminating the effect of the interleaving by the dentary.
  • the CRC check can be performed by the first cyclic code check, and if the data before the interleaving is not interleaved, the first cyclic code check is performed.
  • the CRC check can be performed by the cyclic code check of 2. Since the above two types of cyclic code check can be performed only once when data is read out when the data is interleaved, the time required for the cyclic code check is reduced, and the load for calculation is also reduced.
  • the step of performing the second cyclic code check is a step of initializing a plurality of temporary cyclic check data registers of a number corresponding to the highest order of the cyclic code generator polynomial, and a step of dinterleaving. Cyclic data by using a plurality of temporary cyclic check data registers and performing an arithmetic sequence including a plurality of clock cycle operations determined by a cyclic code encoding method and an interleave method. Calculating a check bit for each position of the code.
  • FIG. 1 is a block diagram of a mobile station in a wireless telephone system according to one embodiment of the present invention.
  • FIG. 2 is a block diagram of the error control decoding unit 36 in the wireless telephone system according to one embodiment of the present invention.
  • FIG. 3 is a diagram for explaining the principle of the new CRC circuit 60.
  • FIG. 4 is a block diagram showing the configuration of the new CRC circuit 60.
  • FIG. 5 is a block diagram of a partial CRC calculation circuit used in the new CRC circuit 60.
  • FIG. 6 is a flowchart showing the processing performed by the error control decoding unit 36 according to one embodiment of the present invention.
  • FIG. 7 is a block diagram of a conventional error control decoding unit 90.
  • FIG. 8 is a block diagram of a conventional error control decoding unit 110.
  • FIG. 9 shows data without interleaving.
  • FIG. 10 is a diagram showing data with an interleave.
  • FIG. 11 is a block diagram showing a CRC calculation circuit.
  • FIG. 12 is a flowchart showing the processing performed in the conventional error control circuit decoding unit.
  • a mobile device 20 includes an RF unit 30 for performing wireless communication with a base station, and a base unit received by the RF unit 30.
  • a demodulation unit 32 for demodulating the signal from the base station, a channel decoding unit 34 connected to the output of the demodulation unit 32 and performing channel decoding processing, and an error caused by a CRC check on the data subjected to the channel decoding processing.
  • An error control decoding unit 36 for performing error correction using detection and error correction codes, and a CPU 38 for controlling basic operations of the entire mobile device 20 including other circuit units not shown.
  • an error control coding unit 40 for performing error control coding processing such as CRC code addition on data to be transmitted to the base station output from the CPU 38, and output from the error control coding unit 40
  • a channel code section 42 for performing channel coding on the data encoded by the error control code, and a modulation section 44 for modulating the output of the channel code section 42 at a radio frequency.
  • error control decoding section 36 includes a reception data buffer 50 for storing data received from the base station and a data in a predetermined order from reception data buffer 50 (arrow 132 in FIG. 10).
  • Din taller 52 for performing data digleaving by reading out the data as described above
  • FEC 54 connected to the output of Dinter liver 52
  • CRC circuit 58 connected to the output of FEC 54
  • FEC 56 connected to the output of the FEC 56 and the same time in parallel with the CRC circuit 58 even if the data to be diced and connected to the output of the FEC 56 is uninterleaved in the receive data buffer 50.
  • a new CRC circuit 60 having a function of performing CRC processing.
  • the circuit 58 is the same as that shown in FIG.
  • the new CRC circuit 60 is a part related to the present invention, and when the data is not interleaved, the new CRC circuit 60 does not interleave even if the data is deinterleaved. The same results can be obtained as when the data was entered.
  • the new CRC circuit 60 By providing the new CRC circuit 60, the data read from the reception data buffer 50 is interleaved by the Dinterleaver 52, and a CRC check is performed on the data interleaved by the CRC circuit 58.
  • the CRC circuit 60 can perform a CRC check on data without interleaving. Since reading from the reception data buffer 50 only needs to be performed once, the load of CRC calculation is reduced, and power consumption can be reduced. Before describing the configuration of the new CRC circuit 60, the principle of processing performed by the new CRC circuit 60 will be described.
  • the data format without interleaving is as shown in FIG. 9, and the CRC reception polynomial F is as shown in the following equation (1).
  • CRC received polynomial is represented by the following formula (2).
  • the CRC to be obtained (corresponding to the format without interleaving) is the remainder obtained by dividing equation (3) by the CRC polynomial. If the CRC (corresponding to the format without interleaving) to be obtained is CRC (X), the following equation (5) is satisfied according to the distribution rule because the CRC code is a linear code.
  • CRC (x) F (x) modG (x)
  • the order of X in the corresponding term differs between Eqs. (1) and (2). Note that in Equation (2), the order of X decreases by 1 for each term, whereas in Equation (1), the order of X decreases by 16 which is the number of interleaving stages.
  • equation F1 can be further expanded as follows.
  • Equation (2) Comparing Equation (3) with Equation (2), in Equation (2), the following Dinari one after the first term D 0 is input During the 15 clocks until the input second term data D 16 is input, it is assumed that “0” data has been input, and so on, after each item data Di is input, the next data Di + i If the “0” data is input during the 15 clocks until the input is made, it has a form that matches the form of equation (3).
  • D 2 09X 14 D 2 09X 14 + 0 13 + 0 12 + 0-x 11 + 0 10 + 0 9 + 0 8 + 0 7 + 0 6 + 0 ⁇ ⁇ 5 + 0 ⁇ ⁇ 4 + 0 ⁇ ⁇ 3 + 0 ⁇ ⁇ 2 + 0 ⁇ ⁇ 1 + 0 ⁇ ⁇ ° in this equation, of which there 15 of a total of the first term is D209X 14, The remaining one It can be considered that the data of "0" is input in item 4. Looking Similarly example for the last term D 2 23X 0 of the last term D222X 1 and F16 of F15, ing as follows.
  • the above-mentioned F1 to F16 are calculated by the equations (2), respectively, and then the sum of the remainders is obtained. If the data is originally not interleaved, and the data is deinterleaved by the deinterleaver 52, Can be received in that order for CRC calculation.
  • each CRC register (16 in total) at the 0th clock (initial state) be CO ⁇ (: 15.
  • the first input data is P0.
  • the contents of the CRC register 15 are added (modulo 2) by the adder at the position shown in Fig. 3.
  • the contents of each CRC register at the first clock are shown in the column labeled "1 clock” in Fig. 3.
  • the value of CRC register 0 is expressed as “C15 * P0” (where the symbol “factory *” indicates addition modulo 2. Note that this is different from the notation in the figure).
  • CRC registers 1, 2, 3, and 4 are C0, Cl, C2, and C3, respectively.
  • the content of CRC register 5 is the sum of the input data P0 and the CRC register, modulo 2, which is C153 ⁇ 4 ⁇ P0. Further, the addition of the contents of CRC register 4 to C4 modulo 2 is performed. As a result of the now, thus can be expressed by the C4 ⁇ C15 ⁇ P0 become. Value as the input data P0 of the contents forces first CRC register of all CRC register in the same manner.
  • each CRC register in the next clock cycle can be expressed by the value of each CRC register in the previous clock cycle and the value of the data input in that clock cycle. Is repeated up to 16 clock cycles, the contents of the CRC register after 16 clock cycles can be represented by the initial values of all CRC registers and the input data P0 to P15. At this time, if the force P1 ⁇ P15 is used as "0", this calculation can be easily performed.
  • Dl7 Dl93 and D209 are given in each cycle, while the first 13 cycles are performed once each, for a total of 13 16-clock cycle operations, and the last 1 clock cycle is one 15-clock cycle
  • F2modG (x) is obtained.
  • F3 mod G (x) is obtained by 13 16-clock cycle calculations and one 14-clock cycle calculation
  • 13 16-clock cycle calculations and 13 F4 mod G (x) is obtained by clock cycle calculation
  • Circuits that implement these principles allow CRC calculations on uninterleaved data to be performed in parallel during the same time required for CRC calculations on interleaved data.
  • the above-mentioned 16 clock cycle operation, 15 clock cycle operation,... 1 clock cycle operation are performed independently of the content of the given data, regardless of the content of the given data. It can be determined in advance only depending on. If the operation whose content is determined in this way is called a “clock cycle operation”, the number of clock cycle operations is the same as the number of interleaving stages.
  • FIG. 4 shows a configuration example of the new CRC circuit 60 described above.
  • a new CRC circuit 60 is provided by the number corresponding to the highest order (16) of the generator polynomial of the CRC cyclic code, and calculates a part C of each bit of the CRC and holds the result.
  • Supply input data to the 1 ⁇ ⁇ calculation circuit 80 ⁇ 15 and these partial CRC calculation circuits An input data line 70, a C bus 74 serving as a data supply path between these partial CRC circuits, and a 16-clock cycle operation, a 15-clock cycle operation, etc.
  • a cycle control signal line 72 to which a cycle control signal for designating an operation sequence by designating which operation is to be performed is included.
  • the partial CRC calculation circuit AO is connected to the input data line 70, the cycle control signal line 72, and the C bus 74, and performs 16 clock cycles according to the cycle control signal on the cycle control signal line 72. Select one of the operation to one clock cycle operation and execute the operation on the predetermined CRC bits on the C bus # 4 and the input data which is given via the input data line 70 and which has been subjected to the dinterleaving processing.
  • a CRC register 82 for holding 1 bit output from the coefficient unit 80 and outputting it on the corresponding signal line on the C bus 74, and the intermediate result of the CRC bit calculation by the partial CRC calculation circuit AO
  • An adder 86 is provided for performing addition modulo 2 between the contents of the CRC register 84 and providing the result to the temporary CRC register 84 as an intermediate result of the CRC calculation.
  • the other partial CRC calculation circuits A1 to A15 also have the same configuration as the partial CRC calculation circuit A0, except that the signal line to which the CRC register 82 is connected is different in the C bus 74. . Therefore, details thereof will not be repeated here.
  • the coefficient unit 80 can execute any of the above-described 16-bit operation to 1-bit operation, and selects which of the operations is to be executed according to an instruction by the cycle control signal on the cycle control signal line 72. Run. At this time, which input data on the input data line 70 and which data on the C bus 74 are used is determined by which bit the CRC calculation circuit performs the calculation and the cycle control signal line at that time. How many bits are specified by the cycle control signal on 72 It depends on whether it is an operation.
  • the coefficient unit 80 performs the operation indicated by the cycle control signal on the cycle control signal line 72 during one cycle of the clock signal, and supplies the result to the CRC register 82.
  • the CRC register 82 holds this output and outputs it on the C bus 74.
  • the CRC register In 82 bits corresponding to the partial CRC calculation circuit in the CRC (Fi mod G (x)) obtained for any of F1 to F16 are stored.
  • the intermediate result of the CRC calculation is stored in the temporary CRC register 84.
  • the mobile device 20 operates as follows.
  • the RF unit 30 receives a radio wave from the base station and gives it to the demodulation unit 32.
  • the demodulation section 32 demodulates the received signal and supplies it to the channel decoding section 34.
  • the channel decoding unit 34 performs a channel decoding process on the data demodulated by the channel, and supplies the decoded data to the error control decoding unit 36.
  • the error control decoder 36 performs a CRC check on this data as follows. Referring to FIG.
  • reception data buffer 50 the data temporarily stored in reception data buffer 50 is read out from reception data buffer 50 in the order indicated by arrow 132 in FIG. Given), given to FEC54 and FEC56.
  • FEC54 and FEC56 the following description is based on the assumption that this data is directly supplied to the CRC circuit 58 and the new CRC circuit 60 via the FEC 54 and the FEC 56.
  • the same circuit 58 performs the same CRC calculation process on the data provided in the same manner as in the related art, on the assumption that there is interleaving.
  • the new CRC circuit 60 performs the CRC calculation according to the principle shown in FIG. 3 on the assumption that there is no interleaving. Operation of the new CRC circuit 60 Will be described later. ⁇ 1
  • the CRC calculation by the same circuit 58 and the CRC calculation by the new CRC circuit 60 end almost simultaneously. If there is no CRC error due to the CRC calculation by the CRC circuit 58, the output of the CRC circuit 58 is supplied to the CPU 38, for example, to reproduce sound.
  • CRC control in error control decoding section 36 is performed according to the following control structure.
  • the data that has been diced first is supplied to the CRC circuit 58 and the new CRC circuit 60 via the din tal bar 52 shown in FIG.
  • CRC processing is performed (step S4).
  • the control proceeds to step S8, and if there is a CRC error in the processing of the CRC circuit 58 (the determination in step S6) Then, "N0j) control proceeds to step S16.
  • step S8 it is determined whether or not the unit received in step S2 is the head unit. If not, the unit is discarded in step S14, and the control returns to step S2. If it is determined in step S8 that the unit received in step S2 is the first unit, in step S10, the continuous unit is received as interleaved and the CRC process is performed. Subsequently, in step S12, it is determined whether or not the continuation unit has a certain force. If there is, the control is returned to step S10 to continue the continuation unit reception process. If it is determined in step S12 that there is no continuation unit, the control returns to step S2.
  • step S6 determines whether a CRC error has occurred by the CRC processing in the CRC circuit 58. If it is determined in step S16 whether a CRC error has been detected as a result of the CRC processing by the new CRC circuit 60. Is determined. In this case, in effect, Since the setting has already been obtained in step S4, there is no need to read data again from the reception data buffer 50 without interleaving. As a result of the CRC processing in the new CRC circuit 60, if there is no CRC error, it is determined that the data received in step S2 was not interleaved, and the control proceeds to step S18.
  • step S2 If there is a CRC error, nothing is done (ie, the receiving unit is discarded), and control returns to step S2.
  • the processing in steps S18 to S24 performed when it is determined in step S16 that there was no CRC error is the same as the processing in steps S8 to S14, respectively. The detailed description will not be repeated.
  • the new CRC circuit 60 operates as follows. As described above, the received data Dintaribu is long as tinge 16 stages interleaving or, D 0, D 6, - ., Di92, D 2 08, Di, Di 7, ..., D 19 3, D 2. 9, D 2,
  • Dl8 Dl94, D 2 10, ⁇ . ⁇ Read from the received data bus Ffa 50 in the order of Di5, D 31 D 2 07, D 2 23. These are decomposed into Fl, F2, and F3 to F15 as described above.
  • a temporary CRC for F1 is obtained as follows. First, the contents of the CRC registers 82 of all the partial CRC calculation circuits A0 to A15 are initialized with a predetermined value, and all the temporary CRC registers 84 are cleared.
  • a cycle control signal for instructing to execute a 16-clock cycle operation is output on the cycle control signal line 72.
  • the coefficient unit 80 of each partial CRC calculation circuit A0 to A15 calculates the operation corresponding to the 16 clock cycle operation by the input data Do on the input data line 70 and the predetermined value of the value of the CRC register 82 on the C bus 74. And output the result.
  • the C RC register 82 stores the operation result of the corresponding coefficient unit 80. The processing so far is performed in one cycle.
  • a 16-clock cycle operation is performed in one clock cycle in each of the partial CRC calculation circuits A0 to A15 between the input data and the value stored in the coefficient unit 80, and the result is output to each coefficient unit 80. Is stored in Subsequently, when the next data Dn is input, a 16 clock cycle operation is similarly performed. The following Similarly performing computation to the previous section (Di93) of the last term (D 209).
  • each of the partial CRC calculation circuits A0 to A15 performs the above-mentioned 15 clock cycle operation in one clock cycle using the input data D 209 and the value of each coefficient unit 80, and stores the result in each coefficient unit 80. Is done.
  • the coefficient unit 80 stores CRC2 (x) which is a temporary CRC for F2 as a whole. Addition modulo 2 between this and CRCl (x), which is the temporary CRC for F1 already stored in temporary CRC register 84.
  • CRCl (x) + CRC2 (x) (Fl (x) + F2 (x)) mod G (x) is obtained.
  • each temporary CRC is obtained while performing the 14-clock cycle operation to the 1-clock cycle operation only for the last term operation for F3 to F16, and the result is added to the temporary CRC register 84 modulo 2.
  • the temporary CRC register 84 has (Fl (x) + F2 (x) + F3 (x) + ... + F15 (x) + F16 (x )) mod G (x), that is, CRC of uninterleaved format data is required. By reading this value, it is possible to determine the presence or absence of a CRC error in the data in the non-interleaved format.
  • the processing of the new CRC circuit 60 can be performed in the same time as the CRC calculation of the interleaved format data by the CRC circuit 58. Therefore, from the receive data buffer 50, the CRC readout result without interleaving and the CRC check result with interleaving can be obtained at the same time by the data read by the interleaver 52 on the assumption that the data is interleaved. Can be The CPU 38 uses this result to reproduce the transmission data, etc., and transmits the data to be transmitted to the base station from the RF unit 30 via the error control coding unit 40, the channel code unit 42, and the modulation unit 44. I do.
  • the error control circuit of the present invention it is possible to determine whether or not received data has been interleaved by reading the received data only once, and the time required for the reception is determined by the reception time. This is the same as the time required to determine if the data is interleaved. Therefore, the error control circuit of the present invention switches the base station to transmit data in a format with interleaving or in a format without interleaving according to the state of the line, and indicates whether or not there is interleaving in the received data. Suitable for use in communication systems where no data is added.

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

明細書 巡回符号を用いた誤り制御装置および方法 技術分野
この発明は通信における巡回符号を用いた誤り制御装置および方法に関し、 特 に、 デ一タインタリーブを用いた通信とデータインタリーブを用いない通信とを 切り替えて使用することができる通信方式を用いた誤り制御装置および方法に関 する。 背景技術
近年、 携帯電話など、 無線通信を用いた通信装置が普及している。 無線通信を 用いた通信は通常の電話システムにおける電話線などが不要であり、 基地局を適 切な箇所に設けることにより行えるため、 電話線の敷設などのコストが過大にな ると思われる地域で利用するのに最適である。 のみならず、 通信を行なうことの できる地点が必ずしも限定されないため、 将来もさらに普及することが見込まれ る。
こうした無線通信では、 ディジタル通信が主として利用される。 特に無線を用 いた通信ではたとえば電話における通話の秘話性を確保するために、 ディジタル 通信を用いることが好ましい。
ディジタル通信では、 誤り訂正符号を用いた符号化方式と、 C R C符号とを組 み合わせた誤り制御方式が用いられることがある。 特に最近の携帯電話システム の規格の一部に見られるように、 基地局から移動局に送信する際に、 移動局から の通信の状況を見て無線回線品質が良好であればィンタリーブを行なわない C R Cにより得られた C R C符号をデータに付加して送信し、 無線回線品質が良好で ないと誤り訂正符号により符号化し、 インタリーブを行なった C R Cにより得ら れた C R C符号をデータに付加して送信するなど、 回線の状況により C R C符号 の方式を変えることがある。
インタリーブされないデータは、 図 9に示される受信データ 1 2 0のように、 データ D0〜D223の 2 2 4ビット (うちデータは Do〜D2o7の 2 0 8ビット、 C R Cビットは D208〜D223の 1 6ビット) を含み、 これらデータビットがその順番 にしたがって送信されてくる。 データはこの順番で受信バッファに格納され、 こ の順番で読み出されて C R Cによる誤り制御のための復号が行なわれる。 なおこ こでは、 例として符号長 2 2 4ビット、 1 6ビット〇1 じ、 1 6段インタリーブ を仮定している。
図 1 0を参照して、 インタリーブされた受信データ 1 3 0は、 Do〜D223の順 番ではなく、 Do、 Dw、 D32、 …ゝ D2。9、 Di、 Dn、 D33、 …ゝ D2io、 · · ·、 D222、 Di5、 D3i、 D47、 ···、 D207、 D223という順番でインタリーブされて送信され、 矢印 1 3 2により示されるようにこの順番で読み出され C R Cによる誤り制御のための復 号がおこなわれる。 特に、 このようなインタリーブは、 回線状況が悪い場合に、 誤り訂正信号を付加して行なわれる。
こうしたインタリーブなし/ありのデ一タフォ一マツトは基地局側で行なう。 移動機は、 基地局から受信したデータがインタリ一ブなしなのか、 ありなのかを 知ることができない。 そこで、 従来は移動機はまず受信したデータがインタリー ブありであることを仮定して C R C回路で誤り検出を行ない、 誤りがなければ受 信したデータがインタリーブありのフォーマツトであったと判断してそのまま処 理し、 誤りがあれば受信したデータがインタリーブなしのフォ一マツトであった と判断して再度インタリーブなしとして C R C回路で誤り検出を行なう。 この処 理によりさらに C R Cエラーがあれば、 たとえばデータの再転送などの適切なェ ラ一処理が行なわれる。 誤り訂正符号が付加されているときには、 このときに誤 り訂正符号による誤り訂正も行なう。 なお、 誤り訂正符号を付加してデータ送信 する技術を F E C (Foward Error Correction) と呼び、 そのための回路を F E C回路と呼ぶ。 またこの発明は C R C復号処理に関するものであり F E Cには関 係しないため、 以下の説明ではこの発明に関する説明を明確にするために F E C については考慮しないものとする。
上記した C R C処理を実現するための回路の一例を図 7に示す。 図 7を参照し て、 従来の誤り制御復号部 9 0は、 基地局から受信されたデータを格納するため の受信データバッファ 5 0と、 受信データバッファ 5 0に格納されたデータがィ ンタリーブされた (インタリーブフォーマットの) データであると仮定して所定 の順序でデータの読出を行なうことによりデータのディンタリ一ブを行なうディ ンタリーバ 52と、 ディンタリーバ 52の出力を受ける FEC 54と、 受信デー タバッファ 50からストレートに読み出されたデータを受ける FEC 56と、 F EC 56および FEC 54のいずれか一方のデータを選択して出力するセレクタ 100と、 セレクタ 100の出力を受け、 データの CRCを計算するための CR C回路 58とを含む。
図 1 1を参照して、 〇1 〇回路58は、 良く知られているように、 データを順 にシフトしていくように直列に接続された複数個の 1ビットレジスタ CR0~C R15 (この個数は CRCの生成多項式によって定まる。 ) と、 CRC生成多項 式における各項の係数のうち、 0以外の係数に対応する位置の 1ビットレジスタ の前に挿入され、 データ線 140 を介して与えられるデータと、 直前の 1ビッ トレジスタの出力との 2を法とする加算を行なって直後の 1ビットレジスタに与 えるための加算器 142、 加算器 144と、 入力データと最後の 1ビットレジス タ CR 15の出力との 2を法とする加算を行なってデータ線 140を介して先頭 の 1ビットレジスタ CR0、 加算器 142 および加算器 144に与えるための 加算器 146とを含む。 図 1 1に示すのは、 生成多項式:
Figure imgf000005_0001
に対応する CRC回路である。 CRC回路は、 実質的には割算回路である。
CRC回路では、 最初に各 1ビットレジスタに所定の初期値を設定し、—入力デ ータとして受信データを 1ビットずつ与え各 1ビットレジスタ間で値をシフトし ていく。 全ビットを入力し終えたときに 1ビットレジスタ CR0〜CR15に保 持されている値が割算の剰余、 すなわち CRCビットである。 通常は CRCビッ トが 0であれば誤りがなく、 0以外であれば誤りがあつたと判定される。
この回路を用いた誤り検出は、 図 12に示したフローチャートで示される処理 によって行なわれる。 すなわち、 移動機が起動され、 ユニットを受信する (ステ ップ S 2) と、 最初に受信データがインタリーブされていることを仮定して、 図 7に示すディンタリーバ 52を経由してディンタリ一ブされたデータをセレクタ 100で選択して CRC回路 58で CRC処理を行なう (ステップ S 30) 。 こ の結果 CRCエラーがなければ制御はステップ S 8に、 CRCエラーがあれば制 御はステップ S 34に、 それぞれ進む (ステップ S 32での判定) 。
CRCエラーがなかった場合には、 基地局から送信されてくるデータはインタ リーブされているということであり、 以下ではそれを前提として受信処理を行な う。 すなわち、 ますステップ S 8で、 ステップ S 2で受信されたユニットが先頭 ュニットか否かを判定する。 先頭ュニットでなければステップ S 14でこのュニ ットを破棄して制御はステップ S 2に戻る。
ステップ S 8で、 ステップ S 2で受信したユニットが先頭ユニットであると判 定されると、 ステップ S 10でインタリーブありとして継続ュニットを受信し C RC処理を行なう。 すなわち、 これ以下の処理ではセレクタ 100は FEC 54 の出力を選択する。 続いてステップ S 12で継続ュニットがある力否かを判定し、 あれば制御をステップ S 10に戻して継続ュニットの受信処理を継続する。 ステ ップ S 1 2で継続ュニットがないと判定されれば制御はステップ S 2に戻る。
—方、 ステップ S 32で CRCエラーがあつたと判定された場合には、 インタ リーブなしと判断され、 したがってステップ S 34でインタリーブなしと仮定し て CRC処理が行なわれる。 図 7に示す例では、 再びデータが受信データバッフ ァ 50から読み出され、 今度はセレクタ 100によって FEC56を経由したデ —タが選択されて CRC回路 58に与えられる。 CRC回路 58での CRC処理 の結果、 CRCエラーがあった力否かをステップ S 36で判定する。 CRCエラ —がなければステップ S 2で受信されたデータはインタリーブなしであつたと判 断され、 制御はステップ S 18に進む。 CRCエラーがあれば、 なにもせず (す なわち受信ユニットは破棄され) 、 制御はステップ S 2に戻る。
ステップ S 36で CRCエラーがなかったと判定された場合に行なわれるステ ップ S 18〜S 24までの処理はそれぞれ、 ステップ S 8〜14までの処理と同 様であるので、 ここではそれらについての詳細な説明は繰返さない。 ただし、 ス テツプ S 20では受信データにはインタリーブがかかっていないものとして CR C処理をする点がステップ S 10と異なる。 図 7に示す従来の誤り制御復号部 90と同様の処理を行なうための他の従来の 誤り制御復号部 1 10を図 8に示す。 この例でも、 最初に受信データにはインタ リーブがかけられていると仮定して、 受信データバッファ 50から読み出されデ インタリーバ 52によってディンタリーブされたデータを FEC 54を経て CR C回路 58 Aで CRC処理する。 この結果 CRCエラーがあればインタリーブな しと判断して改めて受信データバッファ 50からデータを読出し、 今度はディン タリ一ブされないデータを FEC 56を経て CRC回路 58 Aとは別の CRC回 路 58 Bで CRC処理する。 図 7に示した例は、 この図 8に示した回路の二つの CRC回路 58 A、 58 Bを一つの CRC回路 58にまとめたものである。
し力 し、 上述のように受信されたデータにインタリーブがかけられているか否 かは C RC処理を一旦行なわなければ判定ができず、 最初には必ずィンタリーブ がかけられていることを仮定して読出したデータをディンタリーブして処理され、 実際にデータにはインタリーブがかけられていない場合にはあらためて受信デー タバッファからデータをストレートに読出して CRC処理しなければならない。 その結果、 受信データバッファからデータを 2回読出さなければならなくなる場 合があり、 2回分に相当する処理時間を要することになる。 また CRC計算も 2 度行なうこととなる。 そのため移動機のシステム負荷が増大し、 ひいては移動機 の消費電力が增加するという問題点がある。 移動機の電源は限られているため、 その消費電力はできるだけ抑えるのが好ましい。
したがって、 この発明の目的は、 インターリーブなし /"ありが予め分からない データの巡回符号検査を行なう誤り制御装置および方法において、 消費電力を削 滅することが可能な誤り制御回路および方法を提供することである。
この発明の他の目的は、 受信データバッファから一度だけデータを読み出すこ とにより、 インターリーブぁり なしを判定することが可能な誤り制御回路およ び方法を提供することである。
この発明のさらに他の目的は、 受信データバッファから一度だけデータを読み 出すことにより、 インターリーブありノなしを高速に判定することが可能な誤り 制御回路および方法を提供することである。 発明の開示
この発明にかかる誤り制御装置は、 予め定められた巡回符号により符号化され た、 所定のィンタリ一ブ順序でィンタリ一ブされたことが予定されている所定ビ ット数のデータを、 ディンタリーブするためのディンタリーバと、 ディンタリー バの出力を受け、 巡回符号の符号化方式に対応した検査方式により所定ビット数 のデータの巡回符号検査を行なう第 1の巡回符号検査回路と、 ディンタリーパの 出力を受け、 第 1の巡回符号検査回路による巡回符号検査と同時に、 かつ実質的 に同じ時間の間に、 ディンタリーバによるインタリーブ効果を消しながら、 巡回 符号の符号化方式に対応した検査方式により所定ビット数のデータの巡回符号検 査を行なう第 2の巡回符号検査回路とを含む。
第 1の巡回符号検査回路による、 ディンタリーブされたデータに対する巡回符 号検査と同時に、 かつ実質的に同じ時間の間に、 第 2の巡回符号検査回路によつ て、 ディンタリーブによるインタリーブの効果を消しながら巡回符号検査が行な われる。 これにより、 ディンタリ一ブされる前のデータがインタリーブされてい たものであれば第 1の巡回符号検査回路により C R C検査ができ、 ディンタリー ブされる前のデータがィンタリーブされていないものであれば第 2の巡回符号検 査回路により C R C検査ができる。 データの読出はディンタリーブされるときの 1回のみで上記した 2種類の巡回符号検査が行えるので、 巡回符号検査に要する 時間が短縮され、 かつ計算のための負荷も減少する。 その結果、 誤り制御装置の 消費電力も削減される。
好ましくは、 第 2の巡回符号検査回路は、 ディンタリ一バの出力に接続された 入力データ線と、 巡回符号の生成多項式の最高次数に対応した数のデータ信号線 を含むデータバスと、 各々が入力データ線およびデータ信号線の各々に接続され、 入力データ線から与えられるデータとデータ信号線上のデータとに対して巡回符 号の符号化方式とインタリーブの方式とによって定まる所定の演算シーケンスを 行なうことによって巡回符号の所定位置の検査ビットを計算するための、 巡回符 号の生成多項式の最高次数に対応して設けられた複数個の部分検査ビット計算回 路と、 複数個の部分検査ビット計算回路の各々に接続され、 部分検査ビット計算 回路で行なわれるべき演算シーケンスを制御するための演算制御部とを含む。 より好ましくは、 複数個の部分検査ビット計算回路の各々は、 演算制御部、 入 力データ線、 およびデータバスに接続され、 入力データ線上のデータ、 およびデ ータバス上の所定データ線上のデータに対して、 演算制御部から与えられる演算 指定信号により定められる演算を行なうための演算器と、 演算器の出力に接続さ れた入力と、 デ一タバスの、 所定のデータ線に接続された出力とを有し、 演算器 の出力するデータを保持して所定のデータ線に出力するためのデータレジスタと、 データレジスタの出力に接続され、 演算シーケンス中、 所定ビット数をインタリ 一ブの段数で除した数に対応した回数だけの演算が終了するごとに自己の保持デ —タとデータレジスタの出力とに対して 2を法とする演算を行なって結果を保持 するための演算結果レジスタとを含む。
この発明の他の局面にかかる誤り制御方法は、 予め定められた巡回符号により 符号ィヒされた、 所定のインタリーブ順序でインタリーブされたことが予定されて いる所定ビット数のデータを、 ディンタリ一ブするステップと、 ディンタリーブ するステップによってディンタリーブされたデータを受け、 巡回符号の符号化方 式に対応した検査方式により所定ビット数のデータの第 1の巡回符号検査を行な うステップと、 ディンタリーブされたデータを受け、 第 1の巡回符号検査を行な うステップと同時に、 かつ実質的に同じ時間の間に、 ディンタリーブするステツ プによるインタリーブ効果を消しながら、 巡回符号の符号化方式に対応した検査 方式により所定ビット数のデータの第 2の巡回符号検査を行なうステップとを含 む。
ディンタリ一ブされたデータに対する第 1の巡回符号検査と同時に、 かつ実質 的に同じ時間の間に、 ディンタリ一ブによるインタリーブの効果を消しながら第 2の巡回符号検査が行なわれる。 これにより、 ディンタリ一ブされる前のデータ がインタリーブされていたものであれば第 1の巡回符号検査により C R C検査が でき、 ディンタリーブされる前のデータがインタリ一ブされていないものであれ ば第 2の巡回符号検査により C R C検査ができる。 データの読出はディンタリー ブされるときの 1回のみで上記した 2種類の巡回符号検査が行えるので、 巡回符 号検査に要する時間が短縮され、 かつ計算のための負荷も減少する。 その結果、 誤り制御装置の消費電力も削減される。 好ましくは、 第 2の巡回符号検査を行なぅステップは、 巡回符号の生成多項式 の最高次数に対応した数の複数のテンポラリな巡回検査データレジスタを初期化 するステップと、 ディンタリーブするステップによりディンタリーブされたデ— タに対して、 複数のテンポラリな巡回検査データレジスタを用いながら、 巡回符 号の符号化方式とインタリーブの方式とによって定まる複数個のクロックサイク ル演算からなる演算シーケンスを行なうことによって巡回符号の各位置の検査ビ ットを計算するステップとを含む。 図面の簡単な説明
図 1はこの発明の一実施例の無線電話システムにおける移動機のプロック図で ある。
図 2はこの発明の一実施例の無線電話システムにおける誤り制御復号部 3 6の プロック図である。
図 3は新 C R C回路 6 0の原理を説明するための図である。
図 4は新 C R C回路 6 0の構成を示すプロック図である。
図 5は新 C R C回路 6 0に用いられる部分 C R C計算回路のプロック図である。 図 6はこの発明の一実施例の誤り制御復号部 3 6で行なわれる処理を示すフ口 —チヤ一トである。
図 7は従来の誤り制御復号部 9 0のブロック図である。
図 8は従来の誤り制御復号部 1 1 0のブロック図である。
図 9はインタリーブなしのデータを示す図である。
図 1 0はインタリ一ブありのデータを示す図である。
図 1 1は C R C計算回路を示すブロック図である。
図 1 2は従来の誤り制御回路復号部で行なわれる処理を示すフローチヤ一トで ある。 発明を実施するための最良の形態
図 1を参照して、 この発明の好ましい実施例にかかる移動機 2 0は、 基地局と の間で無線通信を行なうための R F部 3 0と、 R F部 3 0によって受信された基 地局からの信号を復調する復調部 32と、 復調部 32の出力に接続され、 チヤネ ルデコ一ド処理を行なうチヤネルデコード部 34と、 チヤネルデコ一ド処理され たデータに対して C R Cチェックなどによる誤り検出および誤り訂正符号による 誤り訂正などを行なうための誤り制御復号部 36と、 移動機 20全体の、 図示さ れない他の回路部も含めての基本的な動作を制御するための CPU 38と、 CP U38から出力される基地局へ送信されるべきデータに対して CRC符号付加な どの誤り制御符号化処理を行なうための誤り制御符号化部 40と、 誤り制御符号 化部 40から出力される、 誤り制御符号によって符号化されたデータに対してチ ャネル符号化を行なうためのチャネルコード部 42と、 チャネルコード部 42の 出力を無線周波数で変調するための変調部 44とを含む。
図 2を参照して、 誤り制御復号部 36は、 基地局から受信されたデータを格納 するための受信データバッファ 50と、 受信データバッファ 50からデータを所 定の順番 (図 10の矢印 132で示されるもの) で読み出すことによりデータの ディンタリーブを行なうためのディンタリ一バ 52と、 ディンタリーバ 52の出 力に接続された F EC 54と、 FEC 54の出力に接続された CRC回路 58 と、 ディンタリーバ 52の出力に接続された FEC 56と、 FEC56の出力に 接続され、 ディンタリ一ブされるデータが受信データバッファ 50内においてィ ンタリーブなしフォーマツトの場合であっても、 CRC回路 58と並行に同じ時 間で CRC処理をおこなう機能を持つ新 CRC回路 60とを含む。
01¾ 回路58は、 図 1 1に示したものと同様である。 新 CRC回路 60がこ の発明にかかわる部分であって、 新 CRC回路 60は、 データがインタリーブな しの場合に、 そのデータに対してデインタリーブ処理がされたものについてもィ ンタリ一ブなしでデータが入力されたときと同じ結果を得ることができる。 この 新 CRC回路 60 を設けることにより、 受信データバッファ 50から読み出し たデータに対してディンタリーバ 52でディンタリーブしたものについて、 CR C回路 58によってインタリーブされたデータに対する CRC検査を行なうのと 並行して、 新 CRC回路 60によってインタリーブなしのデータに対する CRC 検査が行える。 受信データバッファ 50からの読出が一度で済むため、 CRC計 算の負荷が減少し、 消費電力を少なくすることができる。 新 CRC回路 60の構成を説明する前に、 新 CRC回路 60で行なわれる処理 の原理について説明する。
インタリーブなしの場合のデータフォーマツトは図 9に示すとおりであり、 C RC受信多項式 Fは次の式 (1) のとおりとなる。
F = Dox223 + Dix222 + D2X221+… +D2o7X16 + D2osx15
+ D209X + ... + D223X0... (1) 一方、 インタリーブありの場合のデータフォーマツトは図 10に示すとおりで あり、 CRC受信多項式は次の式 (2) となる。
Dox223 + D16x222 + D32X221 +… + D208x210
+ DiX209 + D17X208 + D33X207 +… + D209X196
+ D2x195 + Disx194 + D34X193 + ... + D2iox182
+ D14X29 + D30X28 + D46X27 +… + Dl90X16 + D206X15 + D222X14
+ D15x13 + Daix12 + D47XU + D223X° (2) ここで、 式 (1) をインタリーブ (16段) フォーマットにあわせた表現にす ると、 以下のように 16個の部分データ F1〜F16に分解できる。
F =∑Fi (3)
Fi =∑D(jxl6+i1)X 223 'し-(4)
ここで、 求めるべき CRC (インタリーブなしフォーマット対応) は、 式 (3) を CRC多項式で割った剰余である。 この求めるべき CRC (インタリー ブなしフォーマット対応) を CRC (X) とすると、 CRC符号が線形符号であ るので、 分配則によって次の式 (5) が成立する。 CRC(x) = F(x) modG(x)
Figure imgf000013_0001
上記した式 Fi (i=l〜16)は、 xの高次から見ればその各項の係数 Do〜D223 の 出現順序はインタリ—ブありの式 (2) の各項の係数 Do〜D223 の出現順序と同 一である。 ただし、 対応の項の Xの次数が式 (1) と式 (2) とでは異なる。 式 (2) では Xの次数は各項ごとに 1ずつ減じていくのに対して、 式 (1) では X の次数はインタリーブ段数である 16ずつ減じていくことに注目する。
こ ϋ'ΓΞの発明の原理をより明確にするために、 式 F1をさらに以下のよう に展開することができる。
Fl = Do · X223 + 0 · 222 + 0 · Χ221 + 0 · Χ220 + 0 · X219 + 0 · 3218 + 0 · X217 +
0 · X216 + 0 · X215 + 0 · X214 + 0 · X213 + 0 · X212 + 0 · X211 + 0 · X210 + 0 · x209 + 0 · X208 +D16x207十… + D192x31 + D208x15 …(3) 式 (3) と式 (2) とを比較すると、 式 (2) において、 第 1項 D0が入力さ れてから次のディンタリ一ブされた第 2項データ D16が入力されるまでの 15ク ロックの間、 「0」 データが入力されたものとし、 以下同様に各項データ Diが 入力されてから次のデータ Di+iが入力されるまでの 15クロックの間、 「0」 データが入力されたものとすると式 (3) の形と一致した形を有する。
同じことが、 F2〜F16についてもいえる。 ただし F2〜F16の最終項について のみ、 以下のような調整が必要である。 たとえば F2の最終項 D209x14について 見ると、 次のようになる。
D209X14 = D209X14 + 0·χ13 + 0·χ12 + 0-x11 + 0·χ10 + 0·χ9 + 0·χ8 + 0·χ7 + 0·χ6 + 0·χ5 + 0·χ4 + 0·χ3 + 0·χ2 + 0·χ1 + 0·χ° この式では、 全部で 15項あるうちの、 最初の項が D209X14であり、 残りの 1 4項には 「0」 というデータが入力されるものと考えて良い。 同様にたとえば F15の最終項 D222X1および F16の最終項 D223X0について見ると、 次のようにな る。
Figure imgf000014_0001
F15 においては D222の後 1クロックサイクルの間のみデータ 「0」 が入力さ れたものと考え、 F16 においては D223の後にはデータの入力がないものと考え ると、 それぞれ式 (2 ) での C R C計算と同じ形の計算が可能であることがわか る。
つまり、 F1〜F16 式の最終項の計算において、 それぞれ最初のデータが D209
〜D203で、 続く 1 5クロック〜 0クロック (F1では 1 5クロック、 F2では 1 4 クロック、 F3では 1 3クロック、 以下同様にして F15では 1クロック、 F16で は 0クロック) では固定 「0」 データが入力されたものとするとそれぞれ式 ( 2 ) と同じように計算でき、 これによつてこれら部分データの各々に対して C R Cビットを計算できることが分かる。
したがって、 原理的には、 上記した F1〜F16 を式 (2 ) でそれぞれ計算し、 その後にそれらの剰余の和を求めれば本来ィンタリーブなしのデータであってデ インタリーバ 5 2によってディンタリーブ処理されたデータを、 その順番に受取 つて C R C計算を行なうことができる。
しかしこの場合、 式 (2 ) の計算を図 1 1に示す C R C計算回路で行なうと、 F1 の計算に 2 0 8サイクル、 F2 の計算に 2 0 7サイクル、 F3 の計算に 2 0 6 サイクル等、 各々の計算時間が C R C回路 5 8で行なわれるのと同程度の大きさ となり、 全体ではインタリーブありのデータの C R C計算に要する時間の 1 6倍 近くかかることになる。 これではインタリーブありのデータとインタリーブなし のデータとの C R C計算を同時に行えることにはならない。 そこで、 何らかのェ 夫が必要となる。
ここで、 本願発明者は、 上記した F1〜F16の計算において、 計算対象となる各 項の間に挿入されるデータが固定であり必ず 「0」 であることに着目した。 特に、 第 1項にデータ、 続く 1 5項に 「0」 が続く、 という形で 1 6クロックサイクル が連続して行なわれる場合、 生成多項式に対応した CRC回路において、 最初の 状態が分かっていれば、 その 1 6クロックサイクルが終了した後の各 CRCレジ スタの内容が最初の各 CRCレジスタの内容の関数として簡略な形で予め計算し 表現できることに着目した。 こうした性質を用いると、 全部で 1 6項 (最初の 1 項がデータ、 続く 1 5項が 「0」 ) 分の演算を CRC回路で 1 6クロックサイク ルをかけて行なう処理結果を、 上記した関数を用いて 1サイクルで計算すること ができる。 本明細書では、 このようにもとの CRC回路で 1 6クロックサイクル をかけて行なう処理を、 予め求めていた関数により 1クロックサイクルで計算す ることを 「1 6クロックサイクル演算」 と呼ぶ。
1 6クロックサイクル演算をどのようにして予め計算するかについて、 図 3を 参照して説明する。 図 3の最も上段に既に述べた生成多項式 χΐ6+χΐ25+1 に対 応した CRC計算回路の構成を示す。 このように、 生成多項式に対応する C R C 計算回路の構成に基づいて以下に述べるように順に C R C計算回路内の C R Cレ ジスタの各々の状態遷移を考えて.いくと、 上記した 1 6クロックサイクル演算の 表現が求められる。
まず、 0クロック目 (初期状態) における各 CRCレジスタ (全部で 1 6個) の内容を CO〜(: 15 とする。 最初に入力されるデータを P0とする。 このデータに は、 まず入力部にある加算器により CRCレジスタ 1 5の内容が (2を法とし て) 加算される。 すると、 1クロック目における各 CRCレジスタの内容は図 3 において 「1クロック」 と記載した段に示されたようになる。 たとえば CRC レジスタ 0の値は 「C15※P0」 と表される (ここで記号 厂※」 は 2を法とする 加算を表す。 図での標記と異なることに注意) 。 同様に、 CRCレジスタ 1、 2、 3、 4の値はそれぞれ C0、 Cl、 C2、 C3 となる。 C R Cレジスタ 5の内容は、 入力データ P0 と CRCレジスタとの 2を法とする加算結果 C15¾^P0に対して さらに CRCレジスタ 4の内容 C4との 2を法とする加算を行なった結果となり、 したがって C4※C15※P0となる。 以下同様にして全ての CRCレジスタの内容 力 最初の CRCレジスタの値と入力データ P0とによって表現できる。
2クロック以下も同様である。 2クロック目に入力されるデータを P1 とすれ ば、 C RCレジスタ 0の内容は :! ※? となり、 CRCレジスタ 1の内容は C15¾P0 となり、 CRCレジスタ 2、 3、 4の内容はそれぞれ C0、 Cl、 およ び C2 となる。 CRCレジスタ 5、 6の内容はそれぞれ C3※C14※P1、 および C4>¾C15^P0 となる。 以下同様にして全ての CRCレジスタの内容が、 0クロ ック目の各 CRCレジスタの値と入力されるデータ P0および P1によって定ま る。
以下同様にして、 前クロックサイクルにおける各 CRCレジスタの内容と、 そ のクロックサイクルで入力されるデータとの値とによって、 次のクロックサイク ルにおける各 CRCレジスタの内容を表現することができ、 これを 16クロック サイクルまで繰返すことにより、 16クロックサイクル後の CRCレジスタの内 容が全ての CRCレジスタの初期値と入力されたデータ P0〜P15 によって表現 できる。 この際に、 P1〜P15 力 S 「0」 であることを用いれば、 この計算は容易 に行える。
このようにして、 16クロックサイクル演算によれば、 P1〜P15がすべて 0 であることが分かっているものとすれば、 P0が入力された時点で 1クロックサ ィクルで上記した 16クロックサイクル後の全ての CRCレジスタの内容が計算 できることは、 当業者には容易に理解できるであろう。
この 16クロックサイクル演算を用いると、 たとえば上記した式 F1について は全てのデータの計算を 1サイクルの間に実行される 16クロックサイクル演算 で行なって、 Fl mod G(x)を求めることができる。 式 F1 に含まれる項 (デー タ) 数は 14項 (Do, Di6, D32,…, D208) であるから、 式 Flの結果は全部で 14 サイクルで計算できる。 前述のとおり CRC回路で計算するときの 208サイク ルの 1 16である。
次に、 F2について考えてみる。 F2では、 最初の 13項については上記した 1 6クロックサイクル演算で計算できる。 しかし最後の 1項については、 その後に 「0」 (15個ではなく) 14個あるだけである。 したがって最後の 「0」 が 入力されるのは、 16サイクル後ではなく 15サイクル目となる。 この場合、 上 記した 16クロックサイクル演算は用いることができない。
しかし、 上記した 16クロックサイクル演算を求める過程の図 (図 3) を参照 すると、 16クロックサイクル演算を求める過程で、 同じように 15クロックサ ィクル後に各 C RCレジスタの内容がどのようになっているかが既に求められて いることが分かる。 これを 16クロックサイクル演算と同様に 15クロックサイ クル演算と呼ぶことにする。 すると、 F2 の場合には、 データとして
Dl7 Dl93、 D209の 14個のデータを各サイクルごとに与えながら、 最初の 13サイクルではそれぞれ 1回ずつ、 合計 13回の 16クロックサイクル演算を 行ない、 最後の 1クロックサイクルでは 1回の 15クロックサイクル演算を行な うことにより、 F2modG(x)が求められる。
以下同様にして、 F3 については 1 3回の 16クロックサイクル演算と 1回の 14クロックサイクル演算で F3 mod G(x)が求められ、 F4については 13回の 16クロックサイクル演算と 1回の 13クロックサイクル演算で F4 mod G(x)が 求められ、 以下同様にして Fi については 13回の 16クロックサイクル演算と 1回の mクロックサイクル演算 (m = 17 - i) で Fi mod G(x)が求められる。 前 述したとおりこれら Fi mod G(x) (i = 1〜16)を全て合計することにより F mod G(x)が計算できる。 これに要するクロックサイクル数は 14X 16 = 22 4であって、 インタリーブありのデータに対する CRC計算に必要なクロックサ イタル数と一致する。
こうした原理を実現する回路によって、 インタリーブなしのデータの CRC計 算を、 インタリーブありのデータの CRC計算に要するのと同じ時間の間に並行 して行なうことができる。
上記した 16クロックサイクル演算、 1 5クロックサイクル演算、 . · · 1ク ロックサイクル演算は、 与えられるデータの内容とは関係なく、 巡回符号の生成 多項式と、 予定されているインタリーブのインタリーブ段数とにのみ依存して予 め決定できる。 また、 こうしてその内容が決定された演算を 「クロックサイクル 演算」 と呼ぶものとすると、 クロックサイクル演算の種類は、 インタリーブ段数 の数だけ存在することになる。
図 4に、 上記した新 CRC回路 60の一構成例を示す。 図 4を参照して、 新 C RC回路 60 は、 CRC巡回符号の生成多項式の最高次数 (16) に対応した 数だけ設けられ、 CRCの各ビットの計算を行ない結果を保持するための部分 C 1^〇計算回路八0〜 15と、 これら部分 CRC計算回路に入力データを供給す るための入力データ線 70と、 これら部分 CRC回路の間のデータ供給路となる Cバス 74と、 これら部分 CRC 回路に対して前述の 1 6クロックサイクル演 算、 15クロックサイクル演算などのうちのどの演算を行なうかを指定すること により演算シーケンスを指定するサイクル制御信号が与えられるサイクル制御信 号線 72とを含む。
図 5を参照して、 部分 CRC計算回路 AOは、 入力データ線 70、 サイクル制 御信号線 72および Cバス 74に接続され、 サイクル制御信号線 72上のサイク ル制御信号にしたがって、 16クロックサイクル演算〜 1クロックサイクル演算 のうちのいずれか一つを選択して Cバス Ί 4上の所定の CRCビットおよび入力 データ線 70を介して与えられるディンタリーブ処理がされた入力データに対し てその演算を行ない、 結果を出力するための係数器 80と、 係数器 80の出力に 接続された入力と、 Cバス 74の 1本の信号線に接続された出力とを持ち、 部分 データに対する部分 CRC検査ビットのうち、 係数器 80が出力する 1ビットを 保持し Cバス 74上の対応する信号線上に出力するための CRCレジスタ 82と、 この部分 CRC計算回路 AOによる CRCビット計算の途中結果を、 受信データ をインタリーブの段数 (図 10に示される例では 16) に対応した回数だけ式 (5) の iの数だけの演算結果を格納するテンポラリ CRCレジスタ 84と、 C RCレジスタ 82の内容とテンポラリ CRCレジスタ 84との内容の間で 2を法 とする加算を行なってテンポラリ CRCレジスタ 84に CRC計算の途中結果と して与えるための加算器 86とを含む。
他の部分 CRC計算回路 A 1〜A 15についても、 Cバス 74のうち CRCレ ジスタ 82が接続される信号線が異なる点を除き、 部分 C R C計算回路 A 0と同 じ構成を有している。 したがってここではそれらについての詳細は繰返さない。 係数器 80は、 既に述べた 16ビット演算〜 1ビット演算までのいずれをも実 行可能であり、 そのうちのどの演算を実行するかをサイクル制御信号線 72上の サイクル制御信号による指示によって選択して実行する。 このとき、 入力データ 線 70上の入力データおよび Cバス 74上のどのデータを用いるかは、 その部分 CRC計算回路がどの何ビット目の計算を行なう回路なのか、 およびそのときサ ィクル制御信号線 72上のサイクル制御信号によって指示された演算が何ビット 演算なのかによって異なってくる。
いずれにせよ、 係数器 80は、 クロック信号の 1サイクルの間に、 サイクル制 御信号線 72上のサイクル制御信号によって指示される演算を行ない結果を CR Cレジスタ 82に与える。 CRCレジスタ 82はこの出力を保持するとともに C バス 74上に出力する。 前述のとおり F1〜F16 の各々に対して 16クロックサ ィクル演算を 13回と、 残りのデータ数に対応する 16クロックサイクル〜 1ク 口ックサイクル演算のうちのいずれかを一回した後、 C RCレジスタ 82には F1〜F16のいずれかに対して求められた CRC(Fi mod G(x))のうち、 この部分 CRC計算回路に対応したビットが格納されていることになる。 そのビットをテ ンポラリ CRCレジスタ 84に格納されている値と 2を法とする演算を行なって テンポラリ CRCレジスタ 84に再び格納することで、 CRC計算の途中結果が テンポラリ CRCレジスタ 84に格納される。
さて、 図 1〜図 2、 図 4および図 5に示されるこの発明の実施例の移動機 20 は以下のように動作する。 受信時、 RF部 30は基地局から電波を受信し復調部 32に与える。 復調部 32はこの受信信号を復調しチャネルデコード部 34に与 える。 チャネルデコード部 34はチャネル復調されたデータに対してチャネルデ コード処理を行ない、 デコードされたデータを誤り制御復号部 36に与える。 こ のとき、 受信されだデータがィンタリ一ブありかなしかは直ちには判断できなレ、。 誤り制御復号部 36は以下のようにしてこのデータの CRC検査を行なう。 図 2を参照して、 受信データバッファ 50に一且格納されたデータはディンタリー バ 52によって図 10の矢印 1 32で示されるような順番で受信データバッファ 50から読み出され (すなわちディンタリ一ブ処理されて) 、 FEC54および FEC56に与えられる。 説明を簡略化するために、 このデータは FEC 54お よび FEC56を経てそのまま CRC回路 58および新 CRC回路 60に与えら れるものとして以下説明する。
。1 じ回路58は、 従来と同じ態様で与えられたデータに対して、 インタリー ブありという仮定のもとで、 従来と同様の CRC計算処理を行なう。 それと並行 して、 同時に、 新 CRC回路 60 が図 3に示した原理にしたがって、 インタリ —ブなしという仮定のもとで CRC計算を行なう。 新 CRC回路 60の動作につ いては後述する。 〇1 じ回路58 による CRC計算と新 CRC回路 60による CRC計算とはほぼ同時におわる。 CRC回路 58での CRC計算によって CR C誤りがない場合には CRC回路 58の出力が CPU 38に与えられ、 たとえば 音声の再生などが行なわれる。 CRC回路 58での CRC計算によって CRC誤 りがあった場合には新 CRC回路 60での CRC計算の結果が調べられ、 CRC 誤りがなければ新 CRC回路 60の結果が CPU 38に与えられる。 CRC誤り があればたとえば基地局に対してデータの再送要求をするなど、 必要なエラー処 理が行なわれる。
図 6を参照して、 この誤り制御復号部 36における CRC制御は以下の制御構 造にしたがって行なわれる。 まず、 移動機が起動され、 ユニットを受信する (ス テツプ S 2) と、 最初に図 2に示すディンタリ一バ 52を経由してディンタリー ブされたデータを CRC回路 58および新 CRC回路 60に与え、 同時に CRC 処理を行なう (ステップ S 4) 。 この結果 CRC回路 58の処理で CRCエラー がなければ (ステップ S 6の判定で 「YES」 ) 制御はステップ S 8に進み、 CR C回路 58の処理で CRCエラーがあれば (ステップ S 6の判定で 「N0j ) 制御 はステップ S 1 6に進む。
CRC回路 58での CRC処理により CRCエラーがなかった場合には、 基地 局から送信されてくるデータはインタリーブされているということであり、 以下 ではそれを前提として受信処理を行なう。 すなわち、 まずステップ S 8で、 ステ ップ S 2で受信されたュニッ卜が先頭ュニットか否かを判定する。 先頭ュニット でなければステップ S 14でこのュニットを破棄して制御はステップ S 2に戻る。 ステップ S 8で、 ステップ S 2で受信したュニットが先頭ユニットであると判 定されると、 ステップ S 10でインタリーブありとして継続ュニットを受信し C RC処理を行なう。 続いてステップ S 12で継続ュニットがある力否かを判定し、 あれば制御をステップ S 10に戻して継続ュニットの受信処理を継続する。 ステ ップ S 12で継続ュニットがないと判定されれば制御はステップ S 2に戻る。
—方、 ステップ S 6で CRC回路 58での CRC処理により CRCエラーがあ つたと判定された場合には、 ステップ S 1 6で新 CRC回路 60による CRC処 理の結果 CRCエラーがあつたか否かを判定する。 この場合、 実質的にはこの判 定は既にステップ S 4で得られており、 改めて受信データバッファ 50からデ一 タをインタリーブなしで読出す必要はない。 新 CRC回路 60での CRC処理の 結果、 CRCエラーがなければステップ S 2で受信されたデータはインタリーブ なしであつたと判断され、 制御はステップ S 18に進む。 CRCエラ一があれば、 なにもせず (すなわち受信ユニットは破棄され) 、 制御はステップ S 2に戻る。 ステップ S 16で CRCエラーがなかったと判定された場合に行なわれるステ ップ S 18〜S 24までの処理はそれぞれ、 ステップ S 8〜 14までの処理と同 様であるので、 ここではそれらについての詳細な説明は繰返さない。
したがつてこの制御構造では、 図 12に示される従来例と異なり、 CRC回路 58 による CRC処理で CRCエラーがあつたと判定されても、 あらためて受 信データを受信データバッファ 50から読出す必要はない。 処理時間が短縮され、 処理の負荷も軽減されることになる。
図 4および図 5を参照して、 新 CRC回路 60は以下のように動作する。 先に 説明したとおり、 ディンタリーブされた受信データは、 16段インタリーブがか かっていれば、 D0、 D 6、 -.、 Di92、 D208、 Di、 Di7、 ...、 D193、 D2。9、 D2
Dl8 Dl94、 D210、 ·.·、 Di5、 D31 D207、 D223という順序で受信データバ ッファ 50から読み出される。 これらは前述のとおり Fl、 F2、 F3〜F15という 形に分解される。
まず F1に対するテンポラリ CRCを以下のようにして求める。 最初に全ての 部分 CRC計算回路 A0〜A 15の CRCレジスタ 82の内容を所定の値で初期 化し、 すべてのテンポラリ CRCレジスタ 84をクリアする。 最初のデータ Do が入力データ線 70を介して入力されるときには 16クロックサイクル演算を実 行するよう指示するサイクル制御信号をサイクル制御信号線 72上に出力する。 各部分 CRC計算回路 A0〜A15の係数器 80は、 16クロックサイクル演算 に対応した演算を入力データ線 70上の入力データ Doおよび Cバス 74上の C RCレジスタ 82の値のうちの所定のものに対して行ない、 結果を出力する。 C RCレジスタ 82が対応の係数器 80の演算結果を格納する。 ここまでの処理は 1サイクルで行なわれる。
次にデータ が入力される。 このときにも、 同様に 1 6クロックサイクル演 算を実行するよう指示するサイクル制御信号をサイクル制御信号線 72上に出力 する。 各部分 CRC計算回路 AO〜A 1 5の係数器 80は、 16クロックサイク ル演算に対応した演算を入力データ線 70上の入力データ 01ぉょび。バス74 上の CRCレジスタ 82の値のうちの所定のものに対して行ない、 結果を出力す る。 CRCレジスタ 82が対応の係数器 80の演算結果を格納する。 この処理も 1サイクルで行なわれる。 すなわちここまでの処理は合計 2サイクルで行なわれ る。
以下同様にして最終項 D208まで 16クロックサイクル演算を行なう。 その結 果、 この最終項 D208が入力された時点で部分 CRC計算回路 A0〜A15の C RCレジスタ 82には、 F1 についてのテンポラリ CRCである CRCl(x)が格納 されていることになる。 これをテンポラリ CRCレジスタ 84に転送する。 次の入力データ Di、 Dn、 Di93、 D209は F2に関するものである。 まず部分 C 1^ 計算回路 0〜八1 5の係数器 80のみを初期化する。 最初のデータ が 入力されるときには 1 6クロックサイクル演算を行なうよう指示するサイクル制 御信号をサイクル制御信号線 72上に出力する。 これに応じて入力データ と 係数器 80に格納されている値との間で 16クロックサイクル演算が部分 CRC 計算回路 A0〜A15の各々において 1クロックサイクルで行なわれ、 その結果 がそれぞれの係数器 80に格納される。 続いて次のデータ Dnが入力されるとき には同様に 1 6クロックサイクル演算を実行する。 以下同様にして最終項 (D209) の前の項 (Di93) までの演算を行なう。
最終項 (D209) については、 前述したとおりこの後に固定の 「0」 が 14個だ け続く。 したがつてこの最終項に対しては 1 5クロックサイクル演算を指示する サイクル制御信号をサイクル制御信号線 72に出力する。 各部分 C R C計算回路 A0〜A1 5では入力データ D209と各係数器 80の値とを用いて前述した 1 5 クロックサイクル演算を 1クロックサイクルで行ない、 その結果がそれぞれの係 数器 80に格納される。 こうして、 最終項データの演算が終了した時点で係数器 80には、 全体として F2に対するテンポラリ CRCである CRC2(x)が格納され ている。 これと、 既にテンポラリ CRCレジスタ 84に格納されている F1 に対 するテンポラリ CRCである CRCl(x)との間で 2を法とする加算を行なうこと により、 CRCl(x) + CRC2(x) = (Fl(x) + F2(x)) mod G(x)が求められる。
以下同様にして、 F3〜F16 に対して最終項の演算のときのみ 14クロックサ ィクル演算〜 1クロックサイクル演算を行なうようにしながら各テンポラリ C R Cを求め、 それをテンポラリ CRCレジスタ 84に 2を法として加算することで、 全てのデータに対する演算が終了した時点でテンポラリ CRCレジスタ 84には 全体として (Fl(x) + F2(x) + F3(x) +...+F15(x) + F16(x)) mod G(x) 、 すなわちィ ンタリーブなしフォ一マツトのデータの CRCが求められている。 この値を読み 出すことにより、 インタリーブなしフォーマツ 卜のデータの CRCエラーの有無 を判定することができる。
以上の新 CRC回路 60の処理は、 既に説明したとおり CRC回路 58による インタリーブありフォーマツトのデータの CRC計算と同じ時間で行なうことが できる。 したがって、 受信データバッファ 50から、 データがインタリーブフォ —マツトであるという仮定のもとでディンタリーバ 52によって読み出したデー タによって、 インタリーブなしの CRCチェック結果と、 インタリーブありの C RCチェック結果とが同時に得られる。 CPU38は、 この結果を用いて、 送信 データの再生などを行ない、 さらに基地局に対して送信するデータを誤り制御符 号化部 40、 チャネルコード部 42、 変調部 44を経て RF部 30から送信する。 以上のようにこの実施例によれば、 基地局から送信されてきたデータがィンタ リーブフォーマツトか否かがわからないときでも、 インタリーブありと仮定して —度だけデータを読み出すことにより、 同時にインタリーブなしの CRCチエツ ク結果と、 インタリーブありの CRCチェック結果とが得られる。 受信データが インタリーブありかなしかにかかわらず、 一度だけの演算でインタリーブされて いるか否かを判定することができる。 そのため演算の負荷が削減され、 ひいては 移動機の電力消費を抑えることができるという効果が奏される。
以上に開示された実施例はすべての点で例示的に示されるものであり、 制限的 なものではないと考えられるべきである。 本発明の範囲は、 以上の実施の形態や 実施例ではなく、 請求の範囲によって示され、 請求の範囲と均等の意味と範囲内 でのすベての修正や変形を含むものである。 産業上の利用可能性
以上のように、 この発明の誤り制御回路によれば、 受信したデータがインタリ ーブされたものか否かを、 受信データを一度だけ読出すことで判定でき、 かつそ れに要する時間は受信したデータがインタリーブされたものであるときにその旨 判定するのに要する時間と同じである。 したがって、 この発明の誤り制御回路は、 基地局が回線の状況によりデータをインタリーブありのフォーマツトまたはイン タリ一ブなしのフォーマツトのいずれで送信するかを切り替え、 かつ受信データ にはィンタリーブの有無を示すデータが付加されないような通信システムに用い るのに適している。

Claims

請求の範囲
1. 予め定められた巡回符号により符号化された、 所定のインタリーブ順序 でインタリーブされたことが予定されている所定ビット数のデータ (130) を、 ディンタリーブするためのディンタリーバ (52) と、
前記ディンタリ一バ (52) の出力を受け、 前記巡回符号の符号化方式に対応 した検査方式により前記所定ビット数のデータの巡回符号検査を行なう第 1の巡 回符号検査回路 (58) と、
前記ディンタリーバ (52) の出力を受け、 前記第 1の巡回符号検査回路 (5 8) による巡回符号検査と同時に、 かつ実質的に同じ時間の間に、 前記ディンタ リーバ (52) によるインタリーブ効果を消しながら、 前記巡回符号の符号化方 式に対応した検査方式により前記所定ビット数のデータの巡回符号検査を行なう 第 2の巡回符号検査回路 (60) とを含む、 誤り制御回路 (36) 。
2. 前記第 2の巡回符号検査回路 (60) は、
前記ディンタリーバの出力に接続された入力データ線 (70) と、
前記巡回符号の生成多項式の最高次数に対応した数のデータ信号線を含むデー タバス (74) と、
各々が前記入力データ線 (70) および前記データ信号線 (74) の各々に接 続され、 前記入力データ線 (70) から与えられるデータと前記データ信号線 (74) 上のデータとに対して前記巡回符号の符号ィヒ方式と前記インタリーブの 方式とによって定まる所定の演算シーケンスを行なうことによって前記巡回符号 の所定位置の検査ビットを計算するための、 前記巡回符号の生成多項式の最高次 数に対応して設けられた複数個の部分検査ビット計算回路 (A0〜A15) と、 前記複数個の部分検査ビット計算回路 (A0〜A15) の各々に接続され、 前 記部分検査ビット計算回路 (A0〜A1 5) で行なわれるべき演算シーケンスを 制御するための演算制御手段 (72) とを含む、 請求項 1に記載の誤り制御回路。
3. 前記複数個の部分検査ビット計算回路 (A0〜A1 5) の各々は、 前記演算制御手段 (72) 、 前記入力データ線 (70) 、 および前記データバ ス (74) に接続され、 前記入力データ線 (70) 上のデータ、 および前記デー タバス (74) 上の所定データ線上のデータに対して、 前記演算制御手段 (7 2) から与えられる演算指定信号により定められる演算を行なうための演算手段 (80) と、
前記演算手段 (80) の出力に接続された入力と、 前記データバス (74) の、 所定のデータ線に接続された出力とを有し、 前記演算手段 (80) の出力するデ ータを保持して前記所定のデータ線 (74) に出力するためのデータ保持手段 (82) と、
前記データ保持手段 (82) の出力に接続され、 前記演算シーケンス中、 前記 所定ビット数を前記ィンタリ一ブの段数で除した数に対応した回数だけの演算が 終了するごとに自己の保持データと前記データ保持手段 (82) の出力とに対し て 2を法とする演算を行なって結果を保持するための演算結果保持手段 (84、 86) とを含む、 請求項 2に記載の誤り制御回路。
4. 前記演算手段 (80) は、 前記インタリーブのインタリーブ段数に対応 した数だけの種類の、 前記生成多項式によって定まるクロックサイクル演算を実 行可能である、 請求項 3に記載の誤り制御回路。
5. 前記演算指定信号は、 前記クロックサイクル演算のうちのいずれかを指 定する、 請求項 4に記載の誤り制御回路。
6. 前記巡回符号は、 16ビット CRC符号である、 請求項 1に記載の誤り 制御回路。
7. 前記インタリーブは 16段インタリーブである、 請求項 1に記載の誤り 制御回路。
8. 予め定められた巡回符号により符号ィヒされた、 所定のインタリーブ順序 でインタリーブされたことが予定されている所定ビット数のデータ (130) を、 ディンタリーブするステップ (52) と、
前記ディンタリーブするステップによってディンタリーブされたデータを受け、 前記巡回符号の符号化方式に対応した検査方式により前記所定ビット数のデータ (1 30) の第 1の巡回符号検査を行なうステップ (58) と、
ディンタリーブされた前記データ (1 30) を受け、 前記第 1の巡回符号検査 を行なうステップ (58) と同時に、 かつ実質的に同じ時間の間に、 ディンタリ ーブするステップによるインタリーブ効果を消しながら、 前記巡回符号の符号化 方式に対応した検査方式により前記所定ビット数のデータの第 2の巡回符号検査 を行なうステップ (6 0 ) とを含む、 誤り制御方法。
9 . 前記第 2の巡回符号検査を行なう前記ステップ (6 0 ) は、
前記巡回符号の生成多項式の最高次数に対応した数の複数のテンポラリな巡回 検査データ保持手段 (8 4 ) を初期化するステップと、
前記ディンタリーブするステップによりディンタリーブされたデータに対して、 前記複数のテンポラリな巡回検査データ保持手段 (8 4 ) を用いながら、 前記巡 回符号の符号化方式と前記ィンタリーブの方式とによって定まる複数個のク口ッ クサイクル演算からなる演算シーケンスを行なうことによって前記巡回符号の各 位置の検査ビットを計算するス-テ-ップとを含む、 誤り制御方法。
1 0 . 前記所定ビット数を前記インタリーブのインタリーブ段数で除した数 は、 インタリーブ段内のデータ数を表し、
前記所定ビット数のデータは前記インタリーブ段内のデータ数ごとに複数個の 部分データに区分され、
前記各位置の検査ビットを計算するステップは、
前記複数個の部分データごとにテンポラリな巡回検査データを計算する処理を 行なうステップと、
前記部分データごとに計算されたテンポラリな巡回検査データを加算すること により前記所定ビット数のデータの巡回検查デ一タを求めるステップとを含む、 請求項 9に記載の誤り制御方法。
1 1 . 複数種類のクロックサイクル演算は、 1クロックサイクル演算から、 前記インタリーブの段数に対応した最高数のクロックサイクル演算までを含み、 前記複数個の部分データの各々には、 前記所定ビット数の位置に対応した番号 が付与され、
前記テンポラリな巡回検査データを計算する処理は、
前記巡回符号の生成多項式の最高次数に対応した数の複数のデータ保持手段を 予め定められた初期値で初期化するステップと、
入力されたデ一タと前記複数のデ一タ保持手段の保持するデータとに对して、 前記最高数のクロックサイクル演算を行ない、 結果を前記複数のデータ保持手段 の各ビッ卜に保持する処理を、 前記ィンタリ一ブの段数より 1少ない数だけ繰返 すステップと、
入力されたデータと前記複数のデータ保持手段の保持するデータとに対して、 前記部分データに付与された番号により定まる前記クロックサイクル演算を行な レ、、 結果を前記複数のデータ保持手段の各ビットに保持する処理とを含む、 請求 項 1 0に記載の誤り制御方法。
1 2 . 前記所定ビット数のデータの巡回検査データを求めるステップは、 前 記部分データごとの巡回検査データの計算が終了するたびに、 前記複数のデータ 保持手段の各々の保持内容と、 対応する前記複数のテンポラリな巡回検査ビット 保持手段の保持内容との間で 2を法とする加算を行なって、 結果を前記对応する テンポラリな巡回検査ビット保持手段に保持するステップを含む、 請求項 1 1に 記載の誤り制御方法。
1 3 . 前記巡回符号は、 1 6ビット C R C符号である、 請求項 8に記載の誤 り制御方法。
1 4 . 前記インタリーブは 1 6段インタリーブである、 請求項 8に記載の誤 り制御方法。
PCT/JP1999/006360 1999-11-15 1999-11-15 Dispositif et procede de traitement des erreurs, utilisant un code cyclique WO2001037432A1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2001537875A JP3655872B2 (ja) 1999-11-15 1999-11-15 巡回符号を用いた誤り制御装置および方法
CN99815450A CN1333950A (zh) 1999-11-15 1999-11-15 使用循环码的错误控制装置与方法
EP99974200A EP1152540A4 (en) 1999-11-15 1999-11-15 DEVICE AND METHOD FOR ERROR TREATMENT USING CYCLIC CODE
PCT/JP1999/006360 WO2001037432A1 (fr) 1999-11-15 1999-11-15 Dispositif et procede de traitement des erreurs, utilisant un code cyclique
US09/899,062 US6516439B2 (en) 1999-11-15 2001-07-06 Error control apparatus and method using cyclic code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP1999/006360 WO2001037432A1 (fr) 1999-11-15 1999-11-15 Dispositif et procede de traitement des erreurs, utilisant un code cyclique

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US09/899,062 Continuation US6516439B2 (en) 1999-11-15 2001-07-06 Error control apparatus and method using cyclic code

Publications (1)

Publication Number Publication Date
WO2001037432A1 true WO2001037432A1 (fr) 2001-05-25

Family

ID=14237281

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1999/006360 WO2001037432A1 (fr) 1999-11-15 1999-11-15 Dispositif et procede de traitement des erreurs, utilisant un code cyclique

Country Status (5)

Country Link
US (1) US6516439B2 (ja)
EP (1) EP1152540A4 (ja)
JP (1) JP3655872B2 (ja)
CN (1) CN1333950A (ja)
WO (1) WO2001037432A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2380370B (en) * 2001-09-28 2004-03-03 Motorola Inc Convolutional encoder and method of operation
US7103828B2 (en) * 2003-07-24 2006-09-05 Adiran, Inc. System and method for interleaving and transmitting forward error correction code words
DE10336121B4 (de) * 2003-08-06 2006-10-26 Infineon Technologies Ag Serielle asynchrone Schnittstelle mit SLIP-Kodierung/Dekodierung und CRC-Prüfung im Sende- und Empfangspfad
EP1763168A1 (de) * 2005-09-12 2007-03-14 Siemens Aktiengesellschaft Verfahren zum Erzeugen von Datentelegrammen, die CRC-Sicherungsanhänge aufweisen, welche eine verringerte Restfehlerwahrscheinlichkeit bieten
JP4976397B2 (ja) * 2006-08-22 2012-07-18 パナソニック株式会社 並列剰余演算器及び並列剰余演算方法
JP2010204828A (ja) * 2009-03-02 2010-09-16 Renesas Electronics Corp データ保護回路及び方法、並びにデータ処理装置
US11991280B2 (en) 2009-04-20 2024-05-21 Pure Storage, Inc. Randomized transforms in a dispersed data storage system
US10447474B2 (en) * 2009-04-20 2019-10-15 Pure Storage, Inc. Dispersed data storage system data decoding and decryption
CN102568604B (zh) * 2011-12-07 2015-03-11 记忆科技(深圳)有限公司 Bch编码器和解码器
US9787434B2 (en) * 2014-12-11 2017-10-10 Mediatek Inc. Cyclic redundancy check device and method
CN106817192B (zh) * 2015-11-30 2020-08-14 华为技术有限公司 一种错误估计的方法、基站及终端
CN107564064B (zh) * 2017-09-12 2020-11-03 深圳市欢创科技有限公司 一种定位点、其编码方法、定位方法及其系统
US11537462B2 (en) * 2020-09-29 2022-12-27 Micron Technology, Inc. Apparatuses and methods for cyclic redundancy calculation for semiconductor device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10200417A (ja) * 1997-01-08 1998-07-31 Toyo Commun Equip Co Ltd デジタル復号装置
JPH11136218A (ja) * 1997-10-27 1999-05-21 Nec Corp データ伝送システム、データ送信装置およびデータ伝送方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3798597A (en) * 1972-06-26 1974-03-19 Honeywell Inf Systems System and method for effecting cyclic redundancy checking
US4901319A (en) * 1988-03-18 1990-02-13 General Electric Company Transmission system with adaptive interleaving
JPH08265304A (ja) 1995-03-23 1996-10-11 Hitachi Ltd 適応符号化誤り制御方式
JPH1117555A (ja) * 1997-06-26 1999-01-22 Mitsubishi Electric Corp データ伝送システム、受信装置および記録媒体
US6175590B1 (en) * 1997-08-08 2001-01-16 Qualcomm Inc. Method and apparatus for determining the rate of received data in a variable rate communication system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10200417A (ja) * 1997-01-08 1998-07-31 Toyo Commun Equip Co Ltd デジタル復号装置
JPH11136218A (ja) * 1997-10-27 1999-05-21 Nec Corp データ伝送システム、データ送信装置およびデータ伝送方法

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
EP1152540A1 (en) 2001-11-07
EP1152540A4 (en) 2005-04-06
US6516439B2 (en) 2003-02-04
US20010056563A1 (en) 2001-12-27
JP3655872B2 (ja) 2005-06-02
CN1333950A (zh) 2002-01-30

Similar Documents

Publication Publication Date Title
US7237183B2 (en) Parallel decoding of a BCH encoded signal
US7206992B2 (en) Decoding a received BCH encoded signal
KR100333425B1 (ko) 씨알씨검사비트를이용하는코딩및디코딩시스템
JP3610329B2 (ja) 大最小距離を用いたターボ符号化方法及びそれを実現するシステム
JP3288883B2 (ja) 誤り訂正符号化装置及び誤り訂正復号装置及び誤り訂正符号付きデータ伝送システム及び誤り訂正符号の復号方法
WO2001037432A1 (fr) Dispositif et procede de traitement des erreurs, utilisant un code cyclique
KR20010052058A (ko) 인터리빙없이 병렬 코딩을 이용한 통신 시스템 및 방법
US6374387B1 (en) Viterbi decoding of punctured convolutional codes without real-time branch metric computation
WO2003063363A1 (en) Intra-decoder component block messaging
KR100369490B1 (ko) 이동 통신 단말 및 송신 비트 레이트 판별 방법
US6310907B1 (en) Spread spectrum diversity transceiver
JPH07288479A (ja) 誤り訂正連接符号化方法及び装置
EP0612166B1 (en) A method and apparatus for error-control coding in a digital data communications system
KR100468249B1 (ko) 인터리브 어드레스 생성 장치, 터보 부호화 장치, 터보 복호화 장치, 통신 단말 장치, 기지국 장치 및 인터리브 어드레스 생성 방법
KR100799147B1 (ko) 디코딩 방법 및 장치
KR101082696B1 (ko) 통신 단말 장치 및 통신 방법, 통신 단말 장치의 송신방법 및 수신 방법과 통신 단말 장치의 송수신 방법
JP3576653B2 (ja) 符号化変調装置
JP3515701B2 (ja) 符号化処理装置およびレピティション方法
JP2872004B2 (ja) デジタル通信システム
US20030084392A1 (en) Decoder and receiver using the same
JPH07307676A (ja) 誤り訂正符号化器
JPH11340842A (ja) 誤り訂正方式
JP2009077154A (ja) ターボ符号化装置、ターボ符号化方法及び通信システム
WO2008060843A2 (en) Interleaver for use in turbo coding
JPH0522255A (ja) 連接符号化方式

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 99815450.4

Country of ref document: CN

ENP Entry into the national phase

Ref document number: 2001 537875

Country of ref document: JP

Kind code of ref document: A

AK Designated states

Kind code of ref document: A1

Designated state(s): CN 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

WWE Wipo information: entry into national phase

Ref document number: 09899062

Country of ref document: US

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: 1999974200

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1999974200

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1999974200

Country of ref document: EP