WO1999012265A1 - Codeur/decodeur turbo et procede de codage/decodage turbo - Google Patents
Codeur/decodeur turbo et procede de codage/decodage turbo Download PDFInfo
- Publication number
- WO1999012265A1 WO1999012265A1 PCT/JP1998/003933 JP9803933W WO9912265A1 WO 1999012265 A1 WO1999012265 A1 WO 1999012265A1 JP 9803933 W JP9803933 W JP 9803933W WO 9912265 A1 WO9912265 A1 WO 9912265A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- encoding
- interleaving
- circuit
- turbo
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 46
- 238000004364 calculation method Methods 0.000 claims abstract description 6
- 238000005065 mining Methods 0.000 claims description 2
- 238000006243 chemical reaction Methods 0.000 claims 1
- 238000004891 communication Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 22
- 230000010354 integration Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000001934 delay Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/2771—Internal interleaver for turbo codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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
- H03M13/2903—Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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
- H03M13/2957—Turbo codes and decoding
- H03M13/2993—Implementing the return to a predetermined state, i.e. trellis termination
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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
- H03M13/2945—Coding, 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 using at least three error correction codes
Definitions
- the present invention relates to a turbo encoding / decoding device and a turbo encoding / decoding method suitable for encoding and decoding turbo codes used in satellite communications, for example.
- Turbo codes are known as codes that exhibit performance close to the Canon limit, which is the theoretical limit of code performance.
- This turbo code is encoded by a configuration in which a plurality of convolutional coding circuits and an interleave circuit (hereinafter, referred to as an “interleaver”) are combined, and a decoding circuit that outputs a plurality of soft outputs on the decoding side. It exchanges information about the input data between and obtains the final decryption result.
- FIG. 15 shows the configuration of a conventional turbo encoding device 300.
- the turbo encoder 300 performs convolutional encoding on the input data D 301 to obtain encoded data D 302-1, a convolutional encoding circuit 310-1, and the input data D 301.
- Interleaver 3 0 2-1 to 3 0 2-(m-1) for sequentially interleaving D 3 0 1 and these interleavers 3 0 2-1 to 3 0 2-( ml) output data is subjected to convolutional encoding, respectively, to obtain encoded data D 3 0 2 -2 to D 3 0 2 -m.
- m is an integer of 2 or more.
- the convolution encoding circuits 310-1 to 310-1-m perform a convolution operation on input data and output the operation results as encoded data. Also, the interleaver 302-1 to 300-2 (m-l) outputs the data by interleaving the order of each data in the input data.
- FIG. 16 shows an example of the convolutional encoding circuit 301-1 to 3101-1.
- the convolutional coding circuit 310 shown in FIG. 16 is a feedback type convolutional coding circuit with a constraint length of 3.
- the convolutional encoding circuit 310 has two shift registers 311 -1, 311-2 and three exclusive-OR circuits (hereinafter referred to as “EXOR circuits”). It comprises 1 2-1 to 3 12 3-3 and a timing circuit 3 13, and generates encoded data D 3 12 from input data D 3 11.
- shift register 3 1 1-1, 3 1 1-2 functions as a delay element that delays input data by one unit time
- EX ⁇ R circuit 3 1 2-1 to 3 1 2-3 Outputs exclusive OR of input data.
- the termination circuit 3 13 outputs the input data D 3 11 until the encoding of all the input data D 3 11 is completed, and two unit times (corresponding to the number of shift registers) from the completion of the encoding.
- the feedback data D 3 13 is output only for the specified time.
- the processing after all the input data D311 has been encoded is to return all the contents of shift registers 311-1 and 311-2 called "timing" to 0.
- Decoding is performed based on this processing.
- FIG. 17 shows an example of the interleaver 302-1 to 302- (m-1).
- the interleaver 3 20 shown in FIG. 17 includes an input data holding memory 3 2 1, a data replacement circuit 3 2 2, an output data holding memory 3 2 3, and a replacement data ROM (Read 0 nly Memory). ) 3 2 4 and the output data D 3 22 is obtained by interchanging the order of each data in the input data D 3 21.
- the input data D321, once stored in the input data holding memory 321, is reordered by the data replacement circuit 3222.
- the rearrangement of the data order is performed based on the contents of the replacement data ROM 324, that is, the replacement position information.
- the data whose order has been rearranged are stored in the output data holding memory 32 3, and thereafter output as output data D 3 22.
- FIG. 18 shows an operation example of the interleaver 320 when the size of the interleaver 320 is 5 and the contents of the replacement data ROM 324 are those shown in FIG. That is, when the input data D 3 21 1 is S “1 110 1 0”, “00 1 1 1” is obtained as the output data D 3 22.
- Input data D 30 1 is supplied to the convolutional encoding circuit 310-1. Then, in the convolutional encoding circuit 310-1, a convolution operation is performed on the input data D301, followed by termination, and the encoded data D3 obtained by the encoding process including the termination is performed. 3 0 2 -1 is output.
- the input data D301 is supplied to the straight IJ circuit of the interleaver 302-1 to 302 (m-1), and the order of each data in the sequentially input data is mixed. It is output.
- the output data of these interleavers 302-1 to 302- (m-1) are supplied to the convolutional encoders 301-1-2 to 301-m, respectively.
- the convolution operation is performed on the output data of theinterval members 302-1 to 302- (in-l), respectively.
- a termination is performed, and encoded data D302-2-2 to D302-ra by encoding processing including termination is output.
- FIG. 20 shows the relationship between the number of bits of the input data D301 of the turbo coding apparatus 300 and the number of bits of the coded data D302-l to D302-m.
- the input k-bit data D301 is subjected to an encoding process including a minion by each of the convolutional encoding circuits 301-1-1 to 301-m. . m + t m) bits of the encoded data D 3 0 2 - is outputted as 1 ⁇ D 3 0 2 -m.
- FIG. 21 shows the configuration of a conventional turbo decoding device 400.
- the turbo decoding device 400 outputs encoded data output from the turbo encoding device 300.
- a plurality of software output decoding circuits 411-1 to 40li corresponding to the number of (received data).
- the soft output decoding circuit 4 0 1-1 to 40 li outputs 0 or 1 input data on the encoding side, such as a MAP (Maximum Aposteriori Probability) decoder and a SOVA (Soft. Output V iterbi Algorithm) decoder. It is configured using the so-called soft output decoding method, which has the function of calculating the probability of.
- Received data (encoded data) D401-1 to D401-m are supplied to soft output decoding circuits 401-1 to 401-m, respectively.
- Each of the decoding circuits 401-1-1 to 401-m respectively estimates the estimation accuracy for the input data excluding the termination bit on the encoding side.
- Several or several 10 iterative decoding operations are performed using the rate value data with each other.
- the final decoded data D402 is output from an arbitrary decoding circuit (decoding circuit 410-1 in FIG. 21).
- Fig. 22 shows the relationship among the received data D401-1-1 to D401-m of the turbo decoding device 400, the estimated probability value data, and the number of bits of the decoded data D402. This corresponds to the relationship between the number of bits in the turbo encoder 300 in FIG.
- the software output decoding circuits 401-1-1 to 401-m are (n! + T!) To
- the replacement data ROM 3 2 in which the replacement position information is stored in each of the interleavers 30 2 -1 to 30 2-(m-1). 4 is required, and the convolutional coding circuits 310-1 to 310-m each require a termination circuit 313, which causes an increase in the circuit scale.
- the decoding circuit in the turbo decoder 400 is generated.
- the estimated probability value data of the input data can be exchanged between 4 0 1-1 and 4 0 1 -m, but the encoded data output at the time of termination is the convolutional code of each.
- the estimated probability value data cannot be exchanged with the input data at the time of the termination, and as a result, the decoding performance It has caused deterioration.
- An object of the present invention is to provide a turbo encoding device, a turbo decoding device, and the like with a small circuit scale and improved decoding performance. Disclosure of the invention
- a turbo coding device is a turbo coding device including two or more convolutional coding circuits and one or more interleaving circuits.
- the interleaving circuit is characterized by including an operation unit for calculating a replacement position of each data in input data.
- a first convolutional coding circuit that performs convolutional coding on input data
- a first to (m ⁇ 1) th (m—1) that sequentially interleave input data
- m is an integer of 2 or more
- the second to m-th convolutional coding circuits for performing convolutional coding on output data of the first to (m ⁇ 1) th interleave circuits, respectively.
- a first convolutional coding circuit for performing convolutional coding on input data, and an interleaving and convolutional coding process for output data of the first convolutional coding circuit are alternately performed.
- M-1 (m is an integer of 2 or more) and a series circuit of second to m-th convolutional encoding circuits.
- the turbo coding method is a turbo coding method including a coding step of performing convolution coding and an interleaving step of performing interleaving, and the interleaving step should be interleaved. It is characterized in that the replacement position of each data in the data is obtained by calculation. For example, a first encoding step of performing convolutional encoding on input data, an interleaving step of sequentially interleaving input data, and a sequential interleaving step A second encoding step of performing convolutional encoding on each of the interleaved data.
- a first encoding step of performing convolutional encoding on input data and an interleaving and convolutional encoding once or once on encoded data obtained in the first encoding step. And an interleaving encoding step performed a plurality of times.
- a convolution operation is performed on input data by a first convolutional coding circuit, and further termination is performed to output coded data.
- the input data is supplied to a series circuit of the first to (m-1) -th interleaving circuits.
- each interleaving circuit the order of each data in the input data is interleaved and output.
- the output data of each interleave circuit is subjected to a convolution operation in each of the second to m-th convolutional encoding circuits, and termination is performed to output encoded data.
- each interleave circuit does not obtain the replacement position information from the replacement data ROM, but obtains the replacement position by calculation.
- the replacement position ⁇ according to the position i of each data in the input data is ⁇
- the size of the interleave circuit is ⁇
- an integer that is relatively prime to this ⁇ is a
- an arbitrary integer is b
- ⁇ , (a ⁇ i ten b) Determined by the formula of modN.
- a ⁇ 4 sequence generation circuit determines a replacement position ⁇ corresponding to a position i of each data in input data.
- each interleaving circuit does not need a replacement data ROM or the like in which the replacement position information is stored, and the circuit scale can be reduced. It becomes possible.
- the turbo encoding device includes a first convolutional encoding circuit that performs convolutional encoding on input data, and all of the first convolutional encoding circuit including termination bits.
- First to (m-1) (m is an integer of 2 or more) interleaving circuits for sequentially performing interleaving on input data of the first to the (m-1)
- Second to m-th convolutional encoding circuits for performing convolutional encoding on output data of the interleave circuit, respectively.
- the interleave circuit places each data in the input data at the position. The interleaving is performed so that the second to m-th convolutional encoding circuits are terminated at the same time as the first convolutional encoding circuit is terminated based on the plurality of parts divided accordingly. is there.
- the turbo encoding method includes a first encoding step of performing convolutional encoding on input data, and all input data including termination bits in the first encoding step.
- each part of the input data is divided into a plurality of parts according to the position.
- the encoding circuit is terminated in the first encoding step, it is interleaved so that the encoding circuit is terminated in the second encoding step at the same time.
- a convolution operation is performed on input data by a first convolutional coding circuit, and furthermore, termination is performed and coded data is output. Also, all input data including the termination bits in the first convolutional coding circuit are supplied to the series circuit of the first to (m-1) th interleave circuits, and In the live circuit, the order of each data in the input data is mixed and output. Then, the output data of each interleave circuit is subjected to a convolution operation in each of the second to m-th convolutional encoding circuits, and encoded data is output.
- each interleave circuit the first convolutional coding circuit simultaneously terminates each data in the input data with reference to a plurality of parts divided according to the position. Interleaving is performed so that the second to m-th convolutional coding circuits are also terminated. For example, in each interleave circuit, interleave is performed inside each of the plurality of parts or in units of each of the plurality of parts.
- the termination processing is automatically performed without the termination circuit, and the circuit scale can be reduced.
- the turbo decoding device includes a first convolutional coding circuit for performing convolutional coding on input data, and all of the first convolutional coding circuit including the termination bits.
- 1st to (m-1) (m is an integer of 2 or more) interleave circuits that sequentially interleave the input data of the first and the output data of the 1st to (m-1) th interleave circuits
- a m-th to m-th convolutional coding circuit for respectively performing convolutional coding on the input data.
- Turbo code that performs interleaving so that the second to m-th convolutional encoders simultaneously terminate when the first convolutional encoder is terminated.
- a turbo decoding device for decoding encoded data obtained by an encoding device comprising a plurality of software output decoding circuits for decoding the encoded data, wherein each of the plurality of soft output decoding circuits comprises: It exchanges estimated probability value data for all input data including termination bits between them, and decodes encoded data.
- the turbo decoding method includes a first encoding step of performing convolutional encoding on input data, and all input signals including the timing bits in the first encoding step.
- the encoding circuit terminates in the first encoding step based on a plurality of parts obtained by dividing each data in the data to be interleaved according to the position.
- a turbo decoding method for decoding encoded data obtained by a turbo encoding method in which an encoding circuit interleaves so as to terminate in a second encoding step.
- received data corresponding to a plurality of encoded data obtained by the turbo encoding device is supplied to a plurality of software output decoding circuits.
- Each decoding circuit uses the estimated probability value data for the input data on the encoding side mutually, and performs iterative decoding operation several times or several ten times. Then, the final decoded data is obtained from an arbitrary decoding circuit.
- the plurality of coded data are all generated from the same data including the data at the time of termination, and the estimated probability values of all the input data including the termination bit between the decoding circuits are used.
- the received data is decrypted by exchanging data. As a result, decoding performance can be improved.
- FIG. 1 is a block diagram showing a configuration of a turbo encoding device according to the first embodiment.
- FIG. 2 is a block diagram showing a configuration of an interleaver according to the first embodiment.
- FIG. 3 is a diagram illustrating an operation example of the interleaver according to the first embodiment.
- FIG. 4 is a block diagram showing a configuration example of an M-sequence generation circuit.
- FIG. 5 is a block diagram showing a configuration of a serial-type turbo encoding device according to the second embodiment.
- FIG. 6 is a block diagram showing a configuration of a turbo decoder corresponding to a serial turbo encoder.
- FIG. 7 is a block diagram showing a configuration of a hybrid turbo encoding device according to a third embodiment.
- FIG. 8 is a block diagram showing a configuration of a turbo decoding device corresponding to the hybrid type turbo encoding device.
- FIG. 9 is a block diagram showing a configuration of a turbo encoding device according to the fourth embodiment.
- FIG. 10 is a block diagram showing a configuration of an interleaver according to Embodiment 4.
- FIG. 11 is a diagram showing an operation example of the interleaver according to the fourth embodiment.
- FIG. 12 is a diagram showing a relationship between input data and the number of bits of encoded data in the fourth embodiment.
- FIG. 13 is a block diagram showing a configuration of a turbo decoding device according to the fifth embodiment.
- FIG. 14 is a diagram showing a relationship between the number of bits of received data (encoded data), estimated probability value data, and decoded data in the fifth embodiment.
- FIG. 15 is a block diagram showing a configuration of a conventional turbo encoding device.
- FIG. 16 is a block diagram showing a configuration of a convolutional coding circuit in a conventional turbo coding device.
- FIG. 17 is a block diagram showing a configuration of an interleaver in a conventional turbo coding device.
- FIG. 18 is a diagram illustrating an operation example of an interleaver in a conventional turbo encoding device.
- FIG. 19 is a diagram showing an example of the contents of replacement data ROM constituting an interleaver in a conventional turbo coding device.
- FIG. 15 is a block diagram showing a configuration of a conventional turbo encoding device.
- FIG. 16 is a block diagram showing a configuration of a convolutional coding circuit in a conventional turbo coding device.
- FIG. 17 is
- FIG. 20 is a diagram showing a relationship between input data of a conventional turbo coding device and the number of bits of coded data.
- FIG. 21 is a block diagram showing a configuration of a conventional turbo decoding device.
- FIG. 22 is a diagram showing the relationship between the number of bits of received data, estimated probability value data, and decoded data in a conventional turbo decoding device.
- FIG. 1 shows a configuration of a parallel turbo encoding device 100 according to the first embodiment.
- the turbo encoding device 100 performs convolutional encoding on input data D 101 to obtain encoded data D 100 2-1.
- the input data D 101 are sequentially interleaved (m ⁇ 1) interleave bits 10 2— 1 to 10 2— (m ⁇ 1), and these interleaver 1 0 2—
- the convolutional coding is performed on the output data of 1 to 102 (m-1) to obtain coded data D102-2 to D102-in (m-1) convolutional codes Circuit 101 1 -2 to 101 -m.
- m is an integer of 2 or more.
- the convolutional coding circuits 101-1 to 1011 perform a convolution operation on input data, and output the operation results as encoded data.
- the inter- lers 102-1 to 102- (m-1) output the data by interlacing the order of each data in the input data.
- the convolutional coding circuit 101-1-1 to 101-m has the same configuration as the convolutional coding circuit 301-1-1 to 31011 in the conventional turbo coding device 300 shown in FIG. (See Figure 16).
- FIG. 2 shows the configuration of the interleavers 102-1-1 to 102- (m-1).
- 2 includes an input data holding memory 1 2 1, a data arithmetic replacement circuit 1 2 2, and an output data holding memory 1 2 3.
- the output data D 1 2 2 is obtained by interchanging the order of each data in 1 2 1:, where the input data D 1 2 1 is stored once in the input data holding memory 1 2 1, The order is rearranged by the data arithmetic replacement circuit 1 2 2. Then, the data whose order has been rearranged are stored in the output data holding memory 123, and then output as output data D122.
- N is the size of the inverter 120, that is, the size of the input data holding memory 121 and the output data holding memory 123.
- a and b are predetermined values, a is an integer relatively prime to N, and b is an arbitrary integer.
- ⁇ , (a ⁇ i + b) modN ⁇ 1 (1)
- N 5
- a 3
- the replacement position ⁇ may be obtained by Expression (2) instead of Expression (1).
- N is a multiple of 4
- a — 1 is also a multiple of 4.
- the M-sequence generation circuit 1 shown in FIG. It is also possible to calculate the replacement position of the input data by using 30.
- the M-sequence generator circuit 130 includes a plurality of shift registers 131-1-1 to 131-n, a plurality of EXOR circuits 132-1-1 to 132- (n-1), and a plurality of AND circuits. Circuits 13 3-1 to 13 3 -n, and sequentially generates replacement position signals.
- the coefficient a ⁇ a n which is set in advance, chosen to be the polynomial anxn + a ⁇ x "'• + a 2 x 2 + a 1 n
- the following primitive irreducible polynomial definitive in xl + l force GF (2) Is done.
- the shift registers 1 3 1-1 to 1 3 1-n output the input data with a delay of 1 unit time, and the EXR circuit 13 2-1 to 1 3 2-(n-1) is the input.
- the exclusive OR of the data is output, and the AND circuits 1333-1 to 133-n output the logical product of the input data.
- the shift registers 131-1-1 to 131-n are initially set so that they are not all 0, and then output a replacement position signal every unit time.
- the replacement position signal at time i is represented by a binary number representing the replacement position of the input data at position i. As a result, the input data is sequentially replaced with the specified position.
- the operation of the turbo encoder 100 shown in FIG. 1 will be described.
- the input data D 101 is supplied to the convolution encoding circuit 101 -1.
- a convolution operation is performed on the input data D101, followed by a termination, and an encoding process including the termination is performed. Is output.
- the input data D101 is supplied to the straight IJ circuit of the interleaver 102-1 to 102- (m-1), and the order of each data in the sequentially input data is mixed. Output.
- the output data of these interleavers 102-1-1 to 102- (m-1) are supplied to convolutional encoders 101-1-2 to 1011, respectively.
- the convolution operation is performed on the output data of the interleavers 102-1-1-02- (m-1), respectively.
- encoded data D102-2 to 102-m by the encoding process including the termination is output.
- each interleaver 10 2-1 to 10 2- (m-1) calculates the replacement position by a simple arithmetic operation, Sorting is in progress. Therefore, each interleaver 102-1 to 102-(in-1) does not need the replacement data ROM or the like in which the replacement position information is stored, and the circuit scale can be reduced.
- FIG. 5 shows the configuration of a serial turbo encoding device 500 according to the second embodiment.
- the turbo encoding device 500 performs convolutional encoding on the input data D 501 to obtain encoded data D 50 2-1. Interleaving and convolutional coding are alternately performed on the data D 5 2-1 to obtain coded data D 5 0 2 ⁇ (m ⁇ 1) interleavers 5 0 2-1 to 5 0 2-( ni-1) and (m-1) convolutional coding circuits 502-2 to 52-m.
- m is an integer of 2 or more.
- the convolutional encoding circuits 501-1-1 to 511 perform convolutional operations on input data, and output the operation results as encoded data.
- Ma The interleaver 502-1-1 to 502- (m-1) outputs the data by interleaving the order of each data in the input data.
- the convolutional encoding circuits 501-1-1 to 501-m are the same as the convolutional encoding circuits 301-1-1 to 301-m in the conventional turbo encoder 300 shown in FIG. (See Fig. 16).
- the inter-linkers 50 2-1 to 50 2-(m-1) are the inter-linkers 10 2-1 to 10 in the turbo encoder 100 shown in FIG. 2-Like (m-1), it has an input data holding memory, a data arithmetic circuit, and an output data holding memory (see Fig. 2).
- the interleaver 5 The number of bits of input data supplied to each of 0 2-1 to 5 0 2-(in-1) increases sequentially.
- the operation of the turbo coding device 500 shown in FIG. 5 will be described.
- the input data D 5 0 1 is supplied to a convolution coding circuit 5 0 1 -1.
- a convolution operation is performed on the input data D501, followed by termination, and a code obtained by an encoding process including termination is performed.
- the converted data D 5 0 2 1 is output.
- the coded data 5002-1 is supplied to the convolutional coding circuit 502, after the order of the data is interlaced by the interlinker 502-1. Then, in the convolutional encoding circuit 501-2, a convolution operation is performed on the input data, followed by termination, and encoded data D520- by encoding processing including termination. 2 is output. Similarly, in the same manner, the interleaver 50 2 -2 to 50 2-(in-1) and the convolutional coding circuit 50 1 -3 to 50 1 -m alternately use the interleave and the convolutional coding. Then, the final coded data D 5 021 is output from the convolutional coding circuit 5 0 1 -m.
- each interleaver 50 2-1 to 500 2- (ml) is simple.
- the input data is rearranged by finding the replacement position by a simple arithmetic operation. Therefore, each interleaver 502-1 to 502-(m-1) does not need a replacement data ROM or the like in which replacement position information is stored, and the circuit scale can be reduced.
- FIG. 6 shows a configuration of a turbo decoding device 600 corresponding to the serial type turbo encoding device 500 shown in FIG.
- This turbo decoding apparatus 600 is composed of m soft output decoding circuits 600 1 ⁇ to 60 corresponding to the convolutional coding circuits 501 ⁇ to 501 -1 constituting the turbo coding apparatus 500. 1-1 are connected in series.
- the soft output decoding circuit 60 1 -m to 601-1-1 uses a so-called soft output decoding method having a function of calculating a probability that input data on the encoding side is 0 or 1. It is configured.
- the received data D620-m is sequentially decoded by a soft-output decoding circuit 61001 to 601-1, and the final stage software is decoded.
- the final decoded data D601 is output from the output-output decoding circuit 601-1.
- the estimated probability value data for the input data and output data on the encoding side calculated by the adjacent software output decoding circuit is used.
- iterative decoding operation is performed several times or several ten times.
- the decoded data obtained by the decoding operation of the software output decoding circuit 60 1 -m to 61 -2 is the same as the interleaved data in the encoder. And is supplied to the next-stage software output decoding circuit 60 1-(m ⁇ 1) to 60 1-1.
- FIG. 7 shows a configuration of a hybrid turbo coding apparatus 700 according to the third embodiment.
- the turbo encoding device 70 0 performs convolutional encoding on the input data D 701 and obtains a convolutional encoding circuit 7 0 1 (1, 1) for obtaining encoded data D 70 2 (1, 1). Then, interleaving and convolutional coding are alternately performed on the coded data D 702 (1, 1) to obtain (m 2 ⁇ 1) coded data D 702 (l, m2) Interleaver 7 0 2 (1, 1) to 7 0 2 (l, m 2 -l) and (m 2 1) convolutional encoders 7 0 1 (1, 2) to 7 0 1 (1, m2).
- m 2 is an integer of 2 or more.
- the turbo encoding device 700 sequentially interleaves the input data D701 with (m1-1) interleavers 702 (1, 0) to 702 (ml). -1, 0) and the output data of these interleavers 7 0 2 (1, 0) to 7 0 2 (ml-1, 0) are respectively subjected to convolutional coding to obtain encoded data D 7 0 2 (2, 1) to D 7 0 2 (ml, 1) (m 1 -1) convolutional coding circuits 70 1 (2, 1) to 70 1 (ml, 1).
- m 1 is an integer of 2 or more.
- the convolution coding circuits 70 1 (1, 1) to 70 1 (l, m2) and 70 1 (2, 1) to 70 1 (ml, 1) perform convolution operations on input data. Then, the operation results are output as encoded data. Also, the interleaver 7 0 2 (1, 1) to 7 0 2 (1, m2-l), 7 0 2 (1, 0) to 7 0 2 (ml-1, 0) The order of each data is mixed and output.
- the convolutional coding circuits 70 1 (1, 1) to 70 1 (l, m2) and 70 1 (2, 1) to 70 1 (ml, 1) The configuration is the same as that of the convolutional encoding circuit 310-1 to 310-1-m in the encoding device 300 (see FIG. 16).
- the internodes 70 2 (1, 1) to 70 2 (1, m2 ⁇ 1) and 70 2 (1, 0) to 70 2 (m 1, 0) The input data holding memory, data arithmetic circuit, and output data holding are the same as in the case of the interrupter 10 2-1 to 10 2-(m-1) in the turbo encoder 100 shown in Fig. 1. It has a memory (see Fig. 2).
- the interleaver 70 0
- the number of input data bits supplied to each of 2 (1, 1) to 70 2 (l, m2-1) increases sequentially.
- the operation of the turbo encoder 700 shown in FIG. 7 will be described.
- the input data D 701 is supplied to the convolution coding circuit 701 (1, 1).
- this convolutional encoding circuit 7 0 1 (1, 1) a convolution operation is performed on the input data D 7 01, followed by termination, and an encoding process including termination.
- the encoded data D 7 0 2 (1, 1) is output.
- the coded data D 702 (1, 1) is supplied to the convolution coding circuit 701 (1, 2) after the order of the data is interlaced by the interleaver 702 (1, 1).
- the convolutional coding circuit 70 1 (1, 2) a convolution operation is performed on the input data, followed by termination, and a code obtained by an encoding process including termination is performed.
- the converted data D 7 0 2 (1, 2) is output.
- the interleaver 70 2 (1,2) to 70 2 (l, m2-1) and the convolutional coding circuit 70 1 (1, 3) to 70 1 (l, m2) One-leave and convolutional coding are performed alternately, and the convolutional coding circuit D 7 From 0 2 (1, ⁇ 2), final encoded data D 7 0 2 (1, m2) is output.
- the input data D701 is supplied to a serial circuit of interleavers 7O2 (l, 0) to 7O2 (ml-1,0), and the order of each data in the sequentially input data is determined.
- the output is interlaced.
- the output data of these interleavers 70 2 (1, 0) to 70 2 (ml-1, 0) are supplied to convolutional coding circuits 70 1 (2, 1) to 70 1 (ml, 1), respectively. Is done.
- each of theintervals 7 0 2 (1, 0) to 7 0 2 (ml-1, 0) A convolution operation is performed on the output data, followed by termination, and the encoded data D 702 (2, 1) to D 702 (ml, 1 ) Is output.
- each of the inter-linkers 7 02 (1, 1) to 700 2 is similar to the turbo encoding device 100 shown in FIG. In (l, m2-1), 70 2 (1, 0) to 70 2 (ml-1, 0), the input data is rearranged by finding the replacement position by a simple arithmetic operation. Therefore, each interleaver 70 2 (1, 1) to 70 2 (1, ⁇ 2 -1) and 70 2 (1,0) to 70 2 (ml-1, 0) store the replacement position information. This eliminates the need for the replaced data ROM and the like, and can reduce the circuit scale.
- a configuration in which one or more sets of interleavers and convolutional coding circuits are connected may be considered, as in the latter stage of the convolutional coding circuit 70 1 (1, 1).
- the configuration of the interleaver is the same as the configuration of the interleaver in the turbo encoder 700 shown in FIG. No ROM is required, and the circuit scale can be reduced.
- FIG. 8 shows a configuration of a turbo decoding device 800 corresponding to the hybrid turbo encoding device 700 shown in FIG.
- This turbo decoding device 800 is composed of m2 serially connected convolutional coding circuits 70 1 (l, m2) to 70 1 (1, 1) constituting the turbo coding device 700.
- the soft output decoding circuits 800 1 (l, m2) to 801 (1,1) and 800 1 (2,1) to 800 (ml, l) are used for input data on the encoding side. It is configured using a so-called soft output decoding method that has the function of calculating the probability of being 0 or 1.
- turbo decoding apparatus 800 received data D802 (l, m2) corresponding to encoded data D702 (l, m2) output from turbo encoding apparatus 700 is subjected to software. Decoding operations are sequentially performed by the foot-to-dot decoding circuits 8 0 1 (l, m 2) to 8 0 1 (1, 1). In this case, each of the soft output decoding circuits 801 (l, m2) to 801 (1,1) outputs the input data on the encoding side calculated by the adjacent software output decoding circuit and Using the estimated probability value data for the output data, an iterative decoding operation is performed several times or several ten times.
- the decoded data obtained by the decoding operation of the decoding circuits 8 0 1 (l, m2) to 8 0 1 (1,2) is the interleaved data which is the reverse of the interleaved data in the encoder.
- the software output decoding circuit 8 0 1 (2, 1) To 801 (ml, 1), the decryption operation is performed. Then, these decoding circuits 8 0 1 (2, 1) to 8 0 1 (ml, 1) and the above-described decoding circuits
- FIG. 9 shows a configuration of a turbo encoder 150 according to the fourth embodiment.
- the turbo encoder 150 includes a convolutional encoding circuit 1501-1 that performs convolutional encoding on the input data D151 to obtain encoded data D152-1, and a convolutional encoding circuit 1501-1.
- Interleaver 15 2-1-1 5 2-(m-) that sequentially interleaves all input data D 15 3 including the termination bit in the encoding circuit 15 1 -1 1) and the output data of these inter- lers 152-2-15-2-(m-1) are subjected to convolutional encoding, respectively, to obtain encoded data D152-2 -2.
- DD 152-m to obtain a convolutional coding circuit 15 1-2 -15 li. Where m is an integer of 2 or more It is.
- the convolution encoding circuits 151-1-1 to 151-m perform convolution operations on input data, and output the operation results as encoded data.
- the interleavers 152-1-15-2-(m-1) output the data by interleaving the order of each data in the input data.
- the convolutional coding circuit 151-1-1 is configured in the same manner as the convolutional coding circuits 310-1 to 310-m in the conventional turbo coding apparatus 300 shown in FIG. 16), the convolutional coding circuits 151-2-15-1 -m have a reduced number of termination circuits.
- FIG. 10 shows the configuration of the interleavers 15 2 -1 to 15 2-(m-1).
- the interleaver 17 0 shown in FIG. 10 is composed of an input data holding memory 17 1, a data distribution circuit 17 2, a plurality of data replacement circuits 17 3-1 to 17 3-p, It has an integrated circuit 174 and an output data holding memory 175, and obtains output data D172 by interchanging the order of each data in the input data D171.
- the input data D 171 is temporarily stored in the input data holding memory 171 and then divided by the data distribution circuit 172 into a plurality of parts according to its position. Then, the plurality of parts (combinations of positions and data) are sent to the data replacement circuits 173-1 to 173 -P, respectively. In the data replacement circuit 173-1 to 173 -p, only the order of the data in each part is interlaced, and a set of interlaced data with the input position is output.
- the data integration circuit 174 writes data to the output data holding memory 175 according to the positions and data of a plurality of parts output from the data replacement circuits 173-1 to 173 -p.
- the data integration circuit 17 4 is connected to each data replacement circuit 17 3-1 to 17 3-p when the number of data output from the plurality of portions is equal. Exchange the position paired with the data between a plurality of parts output from -173-P, and then write the data to the output data holding memory 175 according to the exchanged position and data. After that, the contents of the output data holding memory 175 are output as output data D172.
- the data replacement circuit 173-1 of the interleaver 170 shown in FIG. 10 is used in the conventional turbo encoder 300 shown in FIG. All interleavers are applicable, including the interleaver (see Fig. 17) used in the turbo encoder 100 shown in Fig. 1 (see Fig. 2). is there. Fig.
- FIG. 11 shows that the size of the interleaver 170 is 6, and the input data D171 is divided into three parts, each consisting of two positions and data by the data distribution circuit 172.
- the operation of the turbo encoder 150 shown in FIG. 9 will be described.
- the input data D 15 1 is supplied to the convolution coding circuit 15 11.
- a convolution operation is performed on the input data D151, followed by termination, and the encoded data D obtained by the encoding process including termination is performed.
- All the input data D 15 3 including the termination bits in the convolutional coding circuit 15 1 -1 are interleaver 15 2 -1 to 15 2-(m-1) Are supplied to the serial circuit, and the order of the sequentially input data is mixed and output.
- These, in Tari - Bas 1 5 2 one i ⁇ 1 5 2- (ml) Output data are convolution coding circuit
- the convolutional coding circuits 151-1-1 to 1511 interleaver 152-2-1 to 152- (m-1) are configured to satisfy the following condition.
- the size of the inverter 15 2-1 to 15 2-(m-1) is a multiple of e, N.
- the data distribution circuit of the inter-valve 15 2-1 to 15 2-(in-1) uses the same position and data set for the data at the position where the remainder when the data position is divided by e is equal. To the data replacement circuit.
- D N 1 is a polynomial d N where ! x N — i + d N - 2 x N — 2 + ⁇ . + d> x + d.
- the polynomial whose coefficient is the output from the data integration circuit also exchanges positions in the data integration circuit so that it is divisible by 1 + x e .
- the convolutional encoders 15 1 -2 to 15 1 -m perform the convolution operation on the output data of the interleavers 15 2-1 to 15 2-(m-1) respectively.
- the convolutional encoders 151-1-2 to 151-m automatically perform the termination. In other words, at the same time as the convolution encoding circuit 151-1 is terminated by the termination processing, the convolution encoding circuits 151-2 to 151-m are also terminated. Therefore, according to the turbo encoder 150 shown in FIG. 9, as described above, the convolutional encoders 15 1 -2 to 15 1 -m are reduced in the number of termination circuits. The circuit size can be reduced.
- FIG. 12 shows the input data D 15 1 of the turbo encoder 150 and the output data of the termination circuit of the convolutional encoder 151-1, that is, the convolutional encoder 151-1.
- 5 shows the relationship between all input data D 15 3 including the termination bits in FIG. 5 and the number of bits of the encoded data D 152-1 -D 15 2-m.
- the input k-bit data is subjected to encoding processing including timing and minion by a convolutional encoding circuit 151-1-1, and (ni + tj-bit encoded data D 15 2
- the output data of the (k + t) bits of the 15 1 -1 termination circuit in the convolutional coding circuit is an integer of 15 2 -1- 15 2-(m-1)
- the output data of these interleavers 15 2-1 to 15 2-(m-1) are encoded by the encoding circuits 15 1-1 to 15 11.
- the encoding process is performed and (n 2 + t (2) ⁇ (nt m ) bits of encoded data D152-1-D152_m are obtained.
- the interleaver 1 ⁇ 0 shows a case in which data is rearranged by both the data replacement circuit 173-1 and 17.3- ⁇ and the data integration circuit 174.
- the data may be rearranged by only one of them.
- the data will be more agitated and the code performance will be improved.
- FIG. 13 shows a configuration of a turbo decoding device 200 according to the fifth embodiment.
- the turbo decoder 200 obtains decoded data from the encoded data output from the turbo encoder 150 shown in FIG.
- the turbo decoder 200 includes a plurality of soft output decoding circuits 2 0 1-1 to 2 0 1 1 corresponding to the number of encoded data (received data) output from the turbo encoder 150. It has the following.
- the soft output decoding circuits 201-1-1 to 201-m are the soft output decoding circuits 401-1-1 to 401 of the conventional turbo decoder 400 shown in FIG. Similar to -to, it is configured using the so-called soft output decoding method, which has the function of calculating the probability that input data on the encoding side such as MAP decoder and S ⁇ VA decoder is 0 or 1. .
- Received data (encoded data) D 201-1 to D 201 1 are supplied to software output decoding circuits 210-1 to 201 -m, respectively.
- each of the coding side performs the iterative decoding operation several times or several ten times using the estimated probability value data for the input data.
- the final decoded data D202 is output from an arbitrary decoding circuit (the decoding circuit 201-1 in FIG. 13).
- the plurality of encoded data output from the turbo encoder 150 shown in FIG. 9 are all generated from the same data including the data at the time of termination, as described above.
- the turbo decoding device 200 shown in FIG. 13 can improve the decoding performance as compared with the conventional turbo decoding device 200 shown in FIG. Fig. 14 shows the relationship among the received data D201-1-1 to D201-ID of the turbo decoder 200, the estimated probability value data, and the number of bits of the decoded data D202. This corresponds to the relationship between the numbers of bits in the turbo encoder 150 of FIG.
- Soft Toau Topu' preparative decoder 2 0 1 - 1 ⁇ 2 0 1 - m , respectively ( ⁇ + ⁇ ⁇ (n m + t m) bits of the received data D 2 0 1 - 1 ⁇ D 2 0 1 -m Calculates (k + t) -bit estimated probability value data for the input data and the input data at the time of mining, and decodes the (k + t) -bit estimated probability value data for each decoding. It exchanges between circuits and finally outputs k-bit decoded data D202.
- the replacement position of each data input in the interleaving process in the turbo coding device is obtained by calculation, and a memory for holding the replacement position is provided. This can be unnecessary, and the circuit size of the turbo coding device can be reduced.
- the replacement position of the interleave circuit of the turbo coding device is restricted, and all input data including the termination bit in the first convolutional coding circuit is reduced. This is input to the interleaving circuit, and the second and subsequent convolutional encoding circuits of the tavo encoder perform the termination automatically without the termination circuit.
- the circuit size of the turbo coding device can be reduced.
- the termination bit is transmitted between the decoding circuits of the turbo decoder.
- the encoded data is decoded by exchanging the estimated probability value data with respect to all the input data including, and the decoding performance of the decoding device can be improved.
- the turbo encoding device, the turbo decoding device, and the like according to the present invention are suitably applied to encoding devices and decoding devices in satellite communication, mobile communication, and the like.
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Description
明細書 ターボ符号化 ·復号装置およびターボ符号化 ·復号方法 技術分野
この発明は、 例えば衛星通信等で使用されるターボ符号の符号化や復号を行う 際に適用して好適なターボ符号化 · 復号装置およびターボ符号化 ·復号方法に関 する。 背景技術
符号性能の理論的限界であるシヤノンリ ミ ツ トに近い性能を示す符号として、 ターボ符号が知られている。 このターボ符号に関しては、 複数の畳み込み符号化 回路とインターリーブ回路 (以下、 「インタ一リーバ」 という) を組み合わせた 構成によって符号化を行う と共に、 復号側では複数のソフ トアウ トプッ トを出力 する復号回路の間で入力データに関する情報をやり取り して最終的な復号結果を 得るものである。
第 1 5図は、 従来のターボ符号化装置 3 0 0の構成を示している。 このターボ 符号化装置 3 0 0は、 入力データ D 3 0 1に対して畳み込み符号化を行って符号 化データ D 3 0 2 - 1を得る畳み込み符号化回路 3 0 1 - 1と、 この入力データ D 3 0 1に対して順次ィンタ一リ一ブを行うインタ一リーバ 3 0 2 - 1〜 3 0 2 - (m - 1 ) と、 これらインタ一リーバ 3 0 2 - 1〜 3 0 2 -(m-l )の出力データに対してそれぞ れ畳み込み符号化を行って符号化データ D 3 0 2 -2〜D 3 0 2 -mを得る畳み込み 符号化回路 3 0 1 -2〜 3 0 1 -mとを有している。 ここで、 mは 2以上の整数であ る。
畳み込み符号化回路 3 0 1 - 1〜 3 0 1 -mは、 入力されたデータに対して畳み込 み演算を行い、 演算結果をそれぞれ符号化データとして出力するものである。 ま た、 インタ一リーバ 3 0 2 - 1〜 3 0 2 - (m-l)は、 入力されたデータにおける各デ —タの順序を交錯して出力するものである。
第 1 6図は、 畳み込み符号化回路 3 0 1 -1〜 3 0 1 1の一例を示している。 第
1 6図に示す畳み込み符号化回路 3 1 0は、 拘束長 3のフィードバック型畳み込 み符号化回路である。 この畳み込み符号化回路 3 1 0は、 2個のシフ トレジスタ 3 1 1 -1, 3 1 1 - 2と、 3個のェクスクル一シブオア回路 (以下、 「E XOR回 路」 とレ、う) 3 1 2 - 1〜 3 1 2- 3と、 タ一ミネーシヨン回路 3 1 3とを有してな り、 入力データ D 3 1 1から符号化データ D 3 1 2を生成するものである。
ここで、 シフ トレジスタ 3 1 1 - 1, 3 1 1 - 2は入力されたデータを 1単位時間 遅延させる遅延素子として機能し、 また EX〇R回路 3 1 2- 1〜3 1 2 -3は入力 されたデータの排他的論理和を出力する。 また、 ターミネーシヨン回路 3 1 3は、 入力データ D 3 1 1の全てを符号化し終わるまでは、 入力データ D 3 1 1 を出力 し、 符号化し終わった時点から 2単位時間 (シフ トレジスタ数に対応した時間) だけフィ一ドバックデータ D 3 1 3を出力する。 入力データ D 3 1 1が全て符号 化された後の処理は、 タ一ミネーシヨンと呼ばれるシフ トレジスタ 3 1 1 -1, 3 1 1 -2の内容を全て 0に戻すためのもので、 復号側ではこの処理を前提に復号を 行う。
第 1 7図は、 インターリ一バ 3 0 2-1〜3 0 2- (m-1)の一例を示している。 第 1 7図に示すインタ一リ一バ 3 2 0は、 入力データ保持メモリ 3 2 1 と、 データ 置換回路 3 2 2と、 出力データ保持メモリ 3 2 3 と、 置換データ ROM (Read 0 nly Memory) 3 2 4とを有してなり、 入力データ D 3 2 1における各データの順 序を交錯して出力データ D 3 2 2を得るものである。
ここで、 入力データ D 3 2 1は入力データ保持メモリ 3 2 1に一旦格納された 後、 データ置換回路 3 2 2によって順序が並べ換えられる。 このデータの順序の 並べ換えは、 置換データ ROM3 24の内容、 つまり置換位置情報に基づいて行 われる。 そして、 順序が並べ換えられたデ一タは出力データ保持メモリ 3 2 3に 格納され、 その後出力データ D 3 2 2 として出力される。
第 1 8図は、 インタ一リーバ 3 20のサイズが 5で、 置換データ ROM 3 24 の内容が第 1 9図に示すものであるときのインタ一リーバ 3 2 0の動作例を示し ている。 すなわち、 入力データ D 3 2 1力 S " 1 1 0 1 0" であるとき、 出力デ一 タ D 3 2 2として "00 1 1 1 " が得られる。
第 1 5図に示すターボ符号化装置 3 00の動作を説明する。 入力データ D 3 0
1は畳み込み符号化回路 3 0 1 -1に供給される。 そして、 この畳み込み符号化回 路 3 0 1 -1では入力データ D 3 0 1に対して畳み込み演算が行われ、 続いてター ミネ一ションが行われ、 ターミネーションを含む符号化処理による符号化データ D 3 0 2 -1が出力される。
また、 入力データ D 3 0 1は、 インタ一リーバ 3 0 2— 1〜 3 0 2 (m— 1)の直歹 IJ 回路に供給され、 順次入力されたデータにおける各データの順序が交錯されて出 力される。 これらインターリーバ 3 0 2-1〜 3 0 2 - (m - 1)の出力データはそれぞ れ畳み込み符号化回路 3 0 1 - 2〜 3 0 1 -mに供給される。 そして、 これら畳み込 み符号化回路 3 0 1 - 2〜 3 0 1 - mでは、 それぞれィンターリ一バ 3 0 2 - 1〜 3 0 2 -(in-l)の出力データに対して畳み込み演算が行われ、 続いてタ一ミネ一シヨン が行われ、 ターミネーションを含む符号化処理による符号化データ D 3 0 2 - 2〜 D 3 0 2 - raが出力される。
第 2 0図は、 ターボ符号化装置 3 0 0の入力データ D 3 0 1 と符号化データ D 3 0 2-l〜D 3 0 2 - mとのビッ ト数の関係を表したものである。 入力された kビ ッ トのデータ D 3 0 1は、 各畳み込み符号化回路 3 0 1 - 1〜 3 0 1 -mによってタ —ミネ一シヨ ンを含む符号化処理が行われ、 〜 (nm+ t. m) ビッ ト の符号化データ D 3 0 2 - 1〜D 3 0 2 -mとして出力される。
また、 第 2 1図は、 従来のターボ復号装置 4 00の構成を示している。 このタ —ボ復号装置 4 0 0は、 ターボ符号化装置 3 0 0より出力される符号化データ
(受信データ) の個数に対応した複数のソフ トァゥ トプッ ト復号回路 4 0 1 - 1〜 4 0 l iを有してなるものである。 ソフ トアウ トプッ ト復号回路 4 0 1 - 1〜40 l iは、 MAP (Maximum Aposteriori Probability) デコーダおよび SO V A (Soft. Output V iterbi Algorithm) デコーダ等の、 符号化側での入力デー タが 0または 1である確率を算出する機能を持つ、 いわゆるソフ トアウ トプッ ト 復号方式を用いて構成される。
第 2 1図に示すターボ復号装置 4 0 0の動作を説明する。 受信データ (符号化 データ) D 40 1 -1〜D 40 1 - mは、 それぞれソフ トアウ トプッ ト復号回路 40 1 - 1〜4 0 1 - mに供給される。 そして、 各復号回路 4 0 1 - 1〜40 1 -mでは、 そ れぞれ符号化側でのタ一ミネーションビッ トを除いた入力データに対する推定確
率値データを互いに利用し、 数回または数 1 0回の反復復号動作が行われる。 そ して、 任意の復号回路 (第 2 1図では復号回路 4 0 1 - 1 ) より、 最終的な復号デ ータ D 4 0 2が出力される。
第 2 2図は、 ターボ復号装置 4 0 0の受信データ D 4 0 1 - 1〜D 4 0 1 - m、 推 定確率値データおよび復号データ D 4 0 2のビッ ト数の関係を表したものであり、 第 1 5図のターボ符号化装置 3 0 0における各ビッ ト数の関係と対応している。 ソフ トァゥ トプッ ト復号回路 4 0 1 - 1〜 4 0 1 -mは、 それぞれ ( n! + t !) 〜
( n m + t m) ビッ トの受信データ D 4 0 1 - 1〜D 4 0 1 - mより、 タ一ミネ一ショ ンビッ トを除いた入力データの kビッ トの推定確率値データを算出する。 そして、 その k ビッ 卜の推定確率値データを各復号回路間でやり取り し、 最終的に kビッ トの復号データ D 4 0 2を出力する。
ところで、 上述したようなターボ符号化装置 3 0 0においては、 インタ一リー バ 3 0 2 -1〜 3 0 2 - (m- 1 )のそれぞれに置換位置情報が記憶された置換データ R O M 3 2 4が必要となり、 また畳み込み符号化回路 3 0 1 - 1〜 3 0 1 - mのそれぞ れにタ一ミネ一ション回路 3 1 3が必要となり、 回路規模増大の原因となってい る。
また、 ターボ符号化装置 3 0 0でタ一ミネ一ショ ン以前に出力された符号化デ ータは共通の入力データから生成されたものであるため、 ターボ復号装置 4 0 0 内の復号回路 4 0 1 - 1〜 4 0 1 -mの間で入力データの推定確率値データのやり取 りを行うことができるが、 タ一ミネーション時に出力された符号化データはそれ ぞれの畳み込み符号化回路の状態に応じて一般に異なる入力データが与えられて 生成されたものであるため、 タ一ミネ一ション時の入力データに対する推定確率 値データのやり取りを行えず、 結果と して復号性能の劣化を招いている。
この発明の目的は、 回路規模が小さく、 復号性能が向上したターボ符号化装置 やターボ復号装置等を提供することにある。 発明の開示
この発明に係るターボ符号化装置は、 2個以上の畳み込み符号化回路と、 1個 以上のインタ一リ一ブ回路とを有して構成されるターボ符号化装置であって、 ィ
ンターリ一ブ回路は、 入力されるデータにおける各データの置換位置を演算する 演算部を備えることを特徴とするものである。 例えば、 入力データに対して畳み 込み符号化を行う第 1の畳み込み符号化回路と、 入力データに対して順次インタ —リーブを行う第 1〜第 (m— 1 ) ( mは 2以上の整数) のインタ一リーブ回路 と、 この第 1〜第 (m— 1 ) のインターリーブ回路の出力データに対してそれぞ れ畳み込み符号化を行う第 2〜第 mの畳み込み符号化回路とを有している。 また 例えば、 入力データに対して畳み込み符号化を行う第 1の畳み込み符号化回路と、 この第 1 の畳み込み符号化回路の出力データに対してインタ一リ一ブおよび畳み 込み符号化の処理を交互に行う第 1〜第 (m— 1 ) ( mは 2以上の整数) のイン タ一リ一ブ回路および第 2〜第 mの畳み込み符号化回路の直列回路とを有してい る。
また、 この発明に係るターボ符号化方法は、 畳み込み符号化を行う符号化工程 と、 インターリーブを行うインターリーブ工程とを有するターボ符号化方法であ つて、 インターリ一ブ工程ではインタ一リ一ブすべきデータにおける各データの 置換位置を演算によって求めることを特徴とするものである。 例えば、 入力デ一 タに対して畳み込み符号化を行う第 1の符号化工程と、 入力データに対して順次 インタ一リ一ブを行うインタ一リ一ブ工程と、 このインタ一リーブ工程で順次ィ ンターリーブされたデータに対してそれぞれ畳み込み符号化を行う第 2の符号化 工程とを有している。 また例えば、 入力データに対して畳み込み符号化を行う第 1 の符号化工程と、 この第 1 の符号化工程で得られる符号化データに対してィン タ一リーブおよび畳み込み符号化を 1回または複数回行うインタ一リ一プ 符号 化工程とを有している。
この発明において、 例えば、 入力データに対して第 1の畳み込み符号化回路で 畳み込み演算が行われ、 さらにターミネ一ションが行われて符号化データが出力 される。 また、 入力データは第 1〜第 (m— 1 ) のインターリーブ回路の直列回 路に供給され、 各インターリーブ回路では入力されたデータにおける各データの 順序が交錯されて出力される。 そして、 各インターリーブ回路の出力データに対 して第 2〜第 mの畳み込み符号化回路でそれぞれ畳み込み演算が行われ、 さらに タ一ミネーションが行われて符号化データが出力される。
この場合、 各インターリーブ回路では、 置換データ R O Mより置換位置情報を 得るものではなく、 演算によって置換位置が求められる。 例えば、 入力されるデ ータにおける各データの位置 i に応じた置換位置 π を、 インタ一リーブ回路のサ ィズを Ν、 この Νと互いに素な整数を a、 任意の整数を bとして、 π , = ( a · i 十 b ) modNの式で求める。 また例えば、 入力されるデータにおける各データの位 置 i に応じた置換位置 π iを、 インタ一リーブ回路のサイズを N、 予め定められた 整数を a, b として、 π - ( a · π + b ) mod N (ただし、 c を任意を整数と して、 π。= c mod Nである) の式で求める。 さらに例えば、 入力されるデータに おける各デ一タの位置 i に応じた置換位置 π を^4系列発生回路で求めるものであ る。
このよ うに各ィンタ一リ一ブ回路で置換位置を演算で求めることにより、 各ィ ンターリーブ回路には置換位置情報が記憶された置換データ R O M等が不要とな り、 回路規模を小さくすることが可能となる。
また、 この発明に係るターボ符号化装置は、 入力データに対して畳み込み符号 化を行う第 1の畳み込み符号化回路と、 この第 1の畳み込み符号化回路でのター ミネーションビッ トを含めた全ての入力データに対して順次ィンタ一リ一ブを行 う第 1〜第 (m— 1 ) ( mは 2以上の整数) のインタ一リーブ回路と、 この第 1 〜第 (m— 1 ) のインタ一リーブ回路の出力データに対してそれぞれ畳み込み符 号化を行う第 2〜第 mの畳み込み符号化回路とを有し、 インタ一リーブ回路は、 入力されるデータにおける各データを、 その位置に応じて分割した複数の部分を 基準にして、 第 1の畳み込み符号化回路がタ一ミネ一トするとき同時に第 2〜第 mの畳み込み符号化回路もタ一ミネートするようにインターリーブを行うもので ある。
また、 この発明に係るターボ符号化方法は、 入力データに対して畳み込み符号 化を行う第 1の符号化工程と、 この第 1の符号化工程でのターミネ一ションビッ トを含めた全ての入力データに対して順次インタ一リ一ブを行うインタ一リ一ブ 工程と、 このインタ一リ一ブ工程で順次インターリーブされたデータに対してそ れぞれ畳み込み符号化を行う第 2の符号化工程とを有し、 インターリーブ工程で は、 入力されるデータにおける各データを、 その位置に応じて分割した複数の部
分を基準にして、 第 1の符号化工程で符号化回路がタ一ミネ一卜するとき同時に 第 2の符号化工程でも符号化回路がターミネ一トするようにインタ一リーブする ものである。
この発明において、 入力データに対して第 1 の畳み込み符号化回路で畳み込み 演算が行われ、 さらにタ一ミネ一ションが行われて符号化データが出力される。 また、 第 1の畳み込み符号化回路でのタ一ミネ一ションビッ トを含めた全ての入 力データは第 1〜第 (m— 1 ) のインタ一リーブ回路の直列回路に供給され、 各 インタ一リ一ブ回路では入力されたデータにおける各データの順序が交錯されて 出力される。 そして、 各インタ一リーブ回路の出力データに対して第 2〜第 mの 畳み込み符号化回路でそれぞれ畳み込み演算が行われて符号化データが出力され る。
この場合、 各インタ一リーブ回路では、 入力されるデータにおける各データを、 その位置に応じて分割した複数の部分を基準にして、 第 1の畳み込み符号化回路 がタ—ミネ—トするとき同時に第 2〜第 mの畳み込み符号化回路もターミネ一ト するようにインターリーブが行われる。 例えば、 各インタ一リーブ回路では複数 の部分の各々の内部、 あるいは複数の部分の各々を単位としてインタ一リ一ブが 行われる。
このよ うに第 2〜第 mの畳み込み符号化回路では、 ターミネ一ション回路なし に自動的にタ一ミネ一ション処理が行われることとなり、 回路規模を小さくする ことが可能となる。
また、 この発明に係るターボ復号装置は、 入力データに対して畳み込み符号化 を行う第 1の畳み込み符号化回路と、 上記第 1の畳み込み符号化回路でのタ一ミ ネーションビッ トを含めた全ての入力データに対して順次インターリーブを行う 第 1〜第 (m— 1 ) ( mは 2以上の整数) のインタ一リーブ回路と、 この第 1〜 第 (m— 1 ) のインターリーブ回路の出力データに対してそれぞれ畳み込み符号 化を行う第 2〜第 mの畳み込み符号化回路とを有し、 インタ一リーブ回路は、 入 力されるデータにおける各データをその位置に応じて分割した複数の部分を基準 にして、 第 1 の畳み込み符号化回路がタ一ミネ一トするとき同時に第 2〜第 mの 畳み込み符号化回路もターミネ一トするようにインターリ一ブを行うターボ符号
化装置で得られる符号化データを復号するターボ復号装置であって、 符号化デー タを復号する複数のソフ トァゥ トプッ ト復号回路を有し、 この複数のソフ トァゥ トプッ ト復号回路は、 各々の間でターミネーションビッ トを含めた全ての入力デ —タに対する推定確率値データのやり取りを行って符号化データの復号を行うも のである。
また、 この発明に係るターボ復号方法は、 入力データに対して畳み込み符号化 を行う第 1の符号化工程と、 この第 1の符号化工程でのタ一ミネ一ションビッ ト を含めた全ての入力データに対して順次インタ一リ一ブを行うインタ一リ一ブェ 程と、 このインタ一リ一ブ工程で順次インターリーブされたデータに対してそれ ぞれ畳み込み符号化を行う第 2の符号化工程とを有し、 インタ一リーブ工程では、 インターリーブすべきデータにおける各データをその位置に応じて分割した複数 の部分を基準にして、 第 1の符号化工程で符号化回路がターミネ一トするとき同 時に第 2の符号化工程でも符号化回路がターミネ一トするようにインタ一リーブ するターボ符号化方法で得られる符号化データを復号するターボ復号方法であつ て、 符号化データを複数のソフ トァゥ トプッ ト復号回路を使用して復号する復号 工程を有し、 この復号工程では、 複数のソフ トアウ トプッ ト復号回路の間でタ一 ミネ一ションビッ トを含めた全ての入力データに対する推定確率値データのやり 取りを行って符号化データの復号を行うものである。
この発明において、 ターボ符号化装置で得られる複数の符号化データに対応し た受信データは複数のソフ トァゥ トプッ ト復号回路に供給される。 各復号回路で はそれぞれ符号化側での入力データに対する推定確率値データを互いに利用し、 数回または数 1 0回の反復復号動作が行われる。 そして、 任意の復号回路より最 終的な復号データが得られる。 ここで、 複数の符号化データは、 ターミネーショ ン時のデータも含めて全て同じデータから生成されたものであり、 各復号回路の 間でターミネーションビッ トを含めた全ての入力データの推定確率値データのや り取りを行って受信データの復号が行われる。 これにより、 復号性能を高めるこ とが可能となる。 図面の簡単な説明
第 1図は、 実施の形態 1 としてのターボ符号化装置の構成を示すプロック図で ある。 第 2図は、 実施の形態 1におけるインタ一リーバの構成を示すブロック図 である。 第 3図は、 実施の形態 1におけるインターリーバの動作例を示す図であ る。 第 4図は、 M系列発生回路の構成例を示すブロック図である。 第 5図は、 実 施の形態 2としての直列型のターボ符号化装置の構成を示すプロック図である。 第 6図は、 直列型のタ一ボ符号化装置に対応するタ一ボ復号装置の構成を示すブ ロック図である。 第 7図は、 実施の形態 3としてのハイブリ ッ ド型のターボ符号 化装置の構成を示すブロック図である。 第 8図は、 ハイブリ ッ ド型のターボ符号 化装置に対応するターボ復号装置の構成を示すブロック図である。 第 9図は、 実 施の形態 4としてのターボ符号化装置の構成を示すプロック図である。 第 1 0図 は、 実施の形態 4におけるインターリーバの構成を示すブロック図である。 第 1 1図は、 実施の形態 4におけるインターリーバの動作例を示す図である。 第 1 2 図は、 実施の形態 4における入力データと符号化データのビッ ト数の関係を示す 図である。 第 1 3図は、 実施の形態 5 としてのターボ復号装置の構成を示すプロ ック図である。 第 1 4図は、 実施の形態 5における受信データ (符号化データ) 、 推定確率値データおよび復号データのビッ ト数の関係を示す図である。 第 1 5図 は、 従来のターボ符号化装置の構成を示すブロック図である。 第 1 6図は、 従来 のターボ符号化装置における畳み込み符号化回路の構成を示すブロック図である。 第 1 7図は、 従来のターボ符号化装置におけるインタ一リーバの構成を示すプロ ック図である。 第 1 8図は、 従来のターボ符号化装置におけるインタ一リーバの 動作例を示す図である。 第 1 9図は、 従来のターボ符号化装置におけるインタ一 リーバを構成する置換データ R O Mの内容例を示す図である。 第 2 0図は、 従来 のターボ符号化装置の入力データと符号化データのビッ ト数の関係を示す図であ る。 第 2 1図は、 従来のターボ復号装置の構成を示すブロック図である。 第 2 2 図は、 従来のターボ復号装置における受信データ、 推定確率値データおよび復号 データのビッ ト数の関係を示す図である。
発明を実施するための最良の形態
第 1図は、 実施の形態 1 と しての並列型のターボ符号化装置 1 0 0の構成を示 している。 このターボ符号化装置 1 0 0は、 入力データ D 1 0 1に対して畳み込 み符号化を行って符号化データ D 1 0 2-1を得る畳み込み符号化回路 1 0 1 - 1と、 この入力デ一タ D 1 0 1に対して順次インターリーブを行う ( m— 1 ) 個のイン ターリーノく 1 0 2— 1〜 1 0 2— (m - 1)と、 これらインタ一リーバ 1 0 2—1〜 1 0 2 (m-1)の出力データに対してそれぞれ畳み込み符号化を行って符号化データ D 1 0 2- 2〜D 1 0 2- inを得る (m— 1 ) 個の畳み込み符号化回路 1 0 1 - 2〜 1 0 1 - mとを有している。 ここで、 mは 2以上の整数である。
畳み込み符号化回路 1 0 1 -1〜 1 0 11は、 入力されたデータに対して畳み込 み演算を行い、 演算結果をそれぞれ符号化データとして出力するものである。 ま た、 インタ一リ一バ 1 0 2- 1〜 1 0 2 - (m- 1)は、 入力されたデータにおける各デ ータの順序を交錯して出力するものである。 畳み込み符号化回路 1 0 1 - 1〜 1 0 1 -mは、 第 1 5図に示す従来のターボ符号化装置 3 0 0における畳み込み符号化 回路 3 0 1 - 1〜 3 0 11と同様に構成される (第 1 6図参照) 。
第 2図は、 インタ一リーバ 1 0 2 - 1〜 1 0 2- (m- 1)の構成を示している。 第 2 図に示すインタ一リ一バ 1 2 0は、 入力データ保持メモリ 1 2 1 と、 データ算術 置換回路 1 2 2と、 出力データ保持メモリ 1 2 3とを有してなり、 入力データ D 1 2 1における各データの順序を交錯して出力データ D 1 2 2を得るものである,:, ここで、 入力データ D 1 2 1は入力データ保持メモリ 1 2 1に一旦格納された後、 データ算術置換回路 1 2 2によって順序が並べ換えられる。 そして、 順序が並べ 換えられたデータは出力データ保持メモリ 1 2 3に格納され、 その後出力データ D 1 2 2 と して出力される。
上述したデータ算術置換回路 1 2 2では、 入力される各データの位置 i に応じ て、 その位置 iのデータを、 ( 1 ) 式で算出される位置 π iに置換する。 ここで、 Nはィンタ一リ一バ 1 2 0のサイズ、 つまり入力データ保持メモリ 1 2 1および 出力データ保持メモリ 1 2 3の大きさである。 また、 a , bは予め定められる値 であり、 aは Nと互いに素な整数、 bは任意の整数である。
π , = ( a · i + b ) modN · · · ( 1 ) 第 3図は、 N= 5であり、 ( 1 ) 式で a = 3、 b = 4として置換位置 π ,を求め
たときのインタ一リーバ 1 2 0の動作例を示している。 すなわち、 入力データ D 1 2 1力; " 1 1 0 1 0 " であるとき、 出力デ一タ13 1 2 2として " 0 0 1 1 1 " が得られる。 つまり、 第 1 8図に示すインタ一リ一バ 3 2 0の動作と同じ動作を する。
なお、 デ一タ算術置換回路 1 2 2では、 ( 1 ) 式の代わりに、 (2 ) 式によつ て、 置換位置 π ,を求めるようにしてもよい。
π i = ( a · π ■ - i + b ) modN , ( π o = c niodN ) ' · · ( 2 ) .
ここで、 Nはインタ一リーバ 1 2 0の大きさであり、 定数 a, b , cは、 予め 定められる値である。 b = 0の場合、 aは a p≠ l ( 2 ≤ p ≤ N - 2 ) となるよう な整数、 cは任意の整数である。 b ≠ 0の場合、 式中の Nを保持メモリのサイズ より 1だけ小さい数と し、 a , bが下記の条件を満たすようにそれぞれ選択され る。 cは任意の整数である。
i ) b と Nが互いに素である。
ii) a — 1が Nを割り切る全ての素数の倍数である。
iii) Nが 4の倍数であれば、 a — 1 も 4の倍数である。
また、 データ算術置換回路 1 2 2では、 インターリーバ 1 2 0のサイズ Nを任 意の整数 nに対して 2 n— 1 となるように選択した場合、 第 4図に示す M系列発生 回路 1 3 0によって入力データの置換位置を計算することも可能である。
M系列発生回路 1 3 0は、 複数のシフ トレジスタ 1 3 1 -1〜 1 3 1 - nと、 複数 の E X O R回路 1 3 2 - 1〜 1 3 2 - (n- 1)と、 複数のアンド回路 1 3 3 - 1〜 1 3 3 - nとを有しており、 置換位置信号を順次生成する。 予め設定される係数 a 〜 a n は、 多項式 a n x n + a ^ x " ' • + a 2 x 2+ a 1 x l + l力 G F ( 2 ) に おける n次の原始既約多項式になるように選択される。
シフ ト レジスタ 1 3 1 - 1〜 1 3 1 - nは、 入力データを 1単位時間遅延させて出 力し、 E X〇 R回路 1 3 2 - 1〜 1 3 2 - (n - 1)は入力データの排他的論理和を、 ァ ン ド回路 1 3 3 -1〜 1 3 3 -nは入力データの論理積を出力する。 シフ トレジスタ 1 3 1 - 1〜 1 3 1 - nには、 最初に全てが 0ではないように値が設定され、 その後 に 1単位時間毎に置換位置信号を出力する。 データ算術置換回路 1 2 2では、 時 間 i における置換位置信号を、 位置 i の入力データの置換位置を 2進数で表した
ものと して、 入力デ一タを順次指定された位置に置換する。
第 1図に示すターボ符号化装置 1 0 0の動作を説明する。 入力データ D 1 0 1 は畳み込み符号化回路 1 0 1 -1に供給される。 そして、 この畳み込み符号化回路 1 0 1 -1では入力データ D 1 0 1に対して畳み込み演算が行われ、 続いてタ一ミ ネ一ションが行われ、 タ一ミネ一ションを含む符号化処理による符号化データ D 1 0 2-1が出力される。
また、 入力データ D 1 0 1は、 インターリ一バ 1 0 2— 1〜 1 0 2- (m— 1)の直歹 IJ 回路に供給され、 順次入力されたデータにおける各データの順序が交錯されて出 力される。 これら、 インタ一リーバ 1 0 2- 1〜 1 0 2- (m-1)の出力データはそれ ぞれ畳み込み符号化回路 1 0 1 -2〜 1 0 11に供給される。 そして、 これら畳み 込み符号化回路 1 0 1 2〜 1 0 1 - mでは、 それぞれィンターリーバ 1 0 2- 1〜 1 0 2- (m-1)の出力データに対して畳み込み演算が行われ、 続いてタ一ミネーショ ンが行われ、 ターミネ一ションを含む符号化処理による符号化データ D 1 0 2-2 〜 1 0 2 -mが出力される。
第 1図に示すターボ符号化装置 1 0 0によれば、 各インターリーバ 1 0 2- 1〜 1 0 2- (m - 1)では簡単な算術演算で置換位置を求めて入力されたデータの並べ換 えを行っている。 したがって、 各インターリ一バ 1 0 2- 1〜 1 0 2- (in- 1)には置 換位置情報が記憶された置換データ R OM等が不要となり、 回路規模を小さくで きる。
第 5図は、 実施の形態 2としての直列型のターボ符号化装置 5 00の構成を示 している。
このターボ符号化装置 5 0 0は、 入力データ D 5 0 1に対して畳み込み符号化 を行って符号化データ D 5 0 2-1を得る畳み符号化回路 5 0 1 - 1と、 この符号化 データ D 5 0 2-1に対してィンターリーブおよび畳み込み符号化を交互に行って 符号化データ D 5 0 2ιを得る (m— 1 ) 個のインタ一リーバ 5 0 2 - 1〜 5 0 2 -(ni-1)および (m— 1 ) 個の畳み込み符号化回路 5 0 2- 2〜 5 0 2- mとを有して いる。 ここで、 mは 2以上の整数である。
畳み込み符号化回路 5 0 1 -1〜 5 0 11は、 入力されたデータに対して畳み込 み演算を行い、 演算結果をそれぞれ符号化データと して出力するものである。 ま
た、 インターリーバ 5 0 2 - 1〜 5 0 2 - (m- 1)は、 入力されたデータにおける各デ —タの順序を交錯して出力するものである。
畳み込み符号化回路 5 0 1 - 1〜 5 0 1 -mは、 第 1 5図に示す従来のターボ符号 化装置 3 0 0における畳み込み符号化回路 3 0 1 - 1〜 3 0 1 - mと同様に構成され る (第 1 6図参照) 。 また、 インタ一リ一バ 5 0 2 - 1〜 5 0 2 - (m-1)は、 第 1図 に示すターボ符号化装置 1 0 0におけるィンタ一リ一バ 1 0 2 - 1〜 1 0 2 - (m- 1) と同様に、 入力データ保持メモリ、 データ算術回路および出力データ保持メモリ を有して構成される (第 2図参照) 。 ただし、 ターボ符号化装置 1 0 0における インターリーバ 1 0 2 - 1〜 1 0 2 -(m-1)のそれぞれに供給される入力データのビ ッ ト数は同じであるが、 インタ一リーバ 5 0 2 - 1〜 5 0 2 -(in- 1)のそれぞれに供 給される入力データのビッ ト数は順次大きくなつていく。
第 5図に示すタ一ボ符号化装置 5 0 0の動作を説明する。 入力データ D 5 0 1 は畳み込み符号化回路 5 0 1 -1に供給される。 そして、 この畳み込み符号化回路 5 0 1 -1では入力データ D 5 0 1に対して畳み込み演算が行われ、 続いてタ一ミ ネ一ションが行われ、 ターミネ一ションを含む符号化処理による符号化データ D 5 0 2 1が出力される。
この符号化データ 5 0 2 -1はインタ一リ一バ 5 0 2 -1でデータの順序が交錯さ れた後に畳み込み符号化回路 5 0 1 2に供給される。 そして、 この畳み込み符号 化回路 5 0 1 -2では入力データに対して畳み込み演算が行われ、 続いてタ一ミネ —ションが行われ、 ターミネーションを含む符号化処理による符号化データ D 5 0 2 - 2が出力される。 以下同様にして、 インターリ一バ 5 0 2 - 2〜 5 0 2 - (in- 1) および畳み込み符号化回路 5 0 1 -3〜 5 0 1 - mでィンターリ一ブおよび畳み込み 符号化が交互に行われ、 畳み込み符号化回路 5 0 1 -mより最終的な符号化データ D 5 0 21が出力される。
第 5図に示すターボ符号化装置 5 0 0によれば、 第 1図に示すターボ符号化装 置 1 0 0 と同様に、 各インターリーバ 5 0 2 - 1〜 5 0 2 -(m-l)では簡単な算術演 算で置換位置を求めて入力されたデータの並べ換えが行われる。 したがって、 各 インターリーバ 5 0 2 -1〜 5 0 2 - (m-1)には置換位置情報が記憶された置換デー タ R OM等が不要となり、 回路規模を小さくできる。
第 6図は、 第 5図に示す直列型のターボ符号化装置 5 0 0に対応したターボ復 号装置 6 0 0の構成を示している。 このターボ復号装置 6 00は、 ターボ符号化 装置 5 0 0を構成する畳み込み符号化回路 5 0 1 ι〜 5 0 1 -1に対応した m個の ソフ トアウ トプッ ト復号回路 6 0 1 ι〜 60 1 - 1が直列接続されて構成されてい る。 ソフ トアウ トプッ ト復号回路 60 1 - m〜 6 0 1 - 1は、 符号化側での入力デー タが 0または 1である確率を算出する機能を持つ、 いわゆるソフ トァゥ トプッ ト 復号方式を用いて構成されている。
このターボ復号装置 6 00においては、 受信データ D 6 0 2-mに対してソフ ト ァゥ トプッ ト復号回路 6 0 1 ι〜60 1 -1で順次復号動作が行われ、 最終段のソ フ トアウ トプッ ト復号回路 6 0 1 -1より最終的な復号データ D 60 1が出力され る。 この場合、 各ソフ トアウ トプッ ト復号回路 60 1 - m〜6 0 1 - 1では、 隣接す るソフ トァゥ トプッ ト復号回路で算出される符号化側での入力データおよび出力 データに対する推定確率値データを利用し、 数回または数 1 0回の反復復号動作 が行われる。 なお、 図示せずも、 ソフ トァゥ トプッ ト復号回路 60 1 - m〜6 0 1 -2の復号動作で得られる復号データは、 符号化装置におけるインタ一リ一ブとは 逆のディンタ一リ一ブが行われて次段のソフ トァゥ トプッ ト復号回路 6 0 1 -(m - 1)〜 60 1 -1に供給されている。
第 7図は、 実施の形態 3 と してのハイプリ ッ ド型のターボ符号化装置 7 0 0の 構成を示している。
このターボ符号化装置 70 0は、 入力データ D 7 0 1に対して畳み込み符号化 を行って符号化データ D 70 2 (1, 1)を得る畳み符号化回路 7 0 1 (1, 1)と、 この 符号化データ D 7 0 2 (1, 1)に対してインターリ一ブおよび畳み込み符号化を交互 に行って符号化データ D 7 0 2 (l,m2)を得る (m 2— 1 ) 個のインターリーバ 7 0 2 (1, 1)〜 7 0 2 (l,m2-l)および (m 2— 1 ) 個の畳み込み符号化回路 7 0 1 (1, 2)〜 7 0 1 (1, m2)とを有している。 ここで、 m 2は 2以上の整数である。 また、 ターボ符号化装置 7 00は、 入力データ D 7 0 1に対して順次インター リ一ブを行う (m 1 — 1 ) 個のインターリ一バ 70 2 (1, 0)〜 7 0 2 (ml - 1, 0)と、 これらインターリ一バ 7 0 2 (1, 0)〜 7 0 2 (ml- 1, 0)の出力データに対してそれぞ れ畳み込み符号化を行って符号化データ D 7 0 2 (2, 1)〜D 7 0 2 (ml, 1)を得る
(m 1 — 1 ) 個の畳み込み符号化回路 7 0 1 (2, 1)〜 7 0 1 (ml, 1)とを有している。 ここで、 m 1は 2以上の整数である。
畳み込み符号化回路 70 1 (1, 1)〜 7 0 1 (l,m2) , 7 0 1 (2, 1)〜 7 0 1 (ml, 1) は、 入力されたデータに対して畳み込み演算を行い、 演算結果をそれぞれ符号化 データと して出力するものである。 また、 インターリーバ 7 0 2 (1, 1)〜 7 0 2 (1, m2-l), 7 0 2 (1, 0)〜 7 0 2 (ml - 1, 0)は、 入力されたデータにおける各データ の順序を交錯して出力するものである。
畳み込み符号化回路 7 0 1 (1, 1)〜 7 0 1 (l,m2) , 7 0 1 (2, 1)〜 7 0 1 (ml, 1) は、 第 1 5図に示す従来のターボ符号化装置 3 0 0における畳み込み符号化回路 3 0 1 -1〜 3 0 1 - mと同様に構成される (第 1 6図参照) 。 また、 インタ一リ一 ノく 7 0 2 (1, 1)〜 7 0 2 (1, m2— 1), 7 0 2 (1, 0)〜 7 0 2 (m卜 1, 0)は、 第 1図に示 すターボ符号化装置 1 0 0におけるィンタ一リ一バ 1 0 2 - 1〜 1 0 2- (m-1)と同 様に、 入力データ保持メモリ、 データ算術回路および出力データ保持メモリを有 して構成される (第 2図参照) 。 ただし、 ターボ符号化装置 1 0 0におけるイン ターリーバ 1 0 2 - 1〜 1 0 2- (m-1)のそれぞれに供給される入力データのビッ ト 数は同じであるが、 インタ一リーバ 7 0 2 (1, 1)〜 7 0 2 (l,m2 - 1) のそれぞれに 供給される入力データのビッ ト数は順次大きくなっていく。
第 7図に示すターボ符号化装置 7 0 0の動作を説明する。 入力データ D 7 0 1 は畳み込み符号化回路 7 0 1 (1, 1)に供給される。 そして、 この畳み込み符号化回 路 7 0 1 (1, 1)では入力データ D 7 0 1に対して畳み込み演算が行われ、 続いてタ —ミネーションが行われ、 ターミネ一ションを含む符号化処理による符号化デー タ D 7 0 2 (1, 1)が出力される。
この符号化データ D 7 0 2 (1, 1)はインターリーバ 7 0 2 (1, 1)でデータの順序 が交錯された後に畳み込み符号化回路 7 0 1 (1, 2)に供給される。 そして、 この畳 み込み符号化回路 7 0 1 (1, 2)では入力データに対して畳み込み演算が行われ、 続 いてターミネ一ションが行われ、 タ一ミネ一ションを含む符号化処理による符号 化データ D 7 0 2 (1,2)が出力される。 以下同様にして、 インターリーバ 7 0 2 (1,2)〜 7 0 2 (l,m2- 1)および畳み込み符号化回路 7 0 1 (1, 3)〜 7 0 1 (l,m2) で インタ一リーブおよび畳み込み符号化が交互に行われ、 畳み込み符号化回路 D 7
0 2 (1,πι2)より最終的な符号化デ一タ D 7 0 2 (1, m2)が出力される。
また、 入力データ D 7 0 1は、 インタ一リーバ 7 O 2 (l,0)〜 7 O 2 (ml - 1, 0)の 直列回路に供給され、 順次入力されたデータにおける各データの順序が交錯され て出力される。 これらインタ一リーバ 70 2 (1,0)〜 7 0 2 (ml- 1, 0)の出力データ はそれぞれ畳み込み符号化回路 7 0 1 (2, 1)〜 7 0 1 (ml, 1)に供給される。 そして、 これら畳み込み符号化回路 7 0 1 (2, 1)〜 7 0 1 (ml, 1)では、 それぞれィンターリ —バ 7 0 2 (1,0)〜 7 0 2 (ml- 1,0)の出力データに対して畳み込み演算が行われ、 続いてタ一ミネーションが行われ、 ターミネーションを含む符号化処理による符 号化データ D 7 0 2 (2, 1)〜D 7 0 2 (ml, 1)が出力される。
第 7図に示すターボ符号化装置 7 0 0によれば、 第 1図に示すターボ符号化装 置 1 0 0 と同様に、 各インタ一リ一バ 7 0 2 (1, 1)〜 7 0 2 (l,m2- 1), 7 0 2 (1, 0)〜 7 0 2 (ml - 1,0)では簡単な算術演算で置換位置を求めて入力されたデータの 並べ換えが行われる。 したがって、 各インターリーバ 7 0 2 (1, 1)〜 70 2 (1,πι2 -1), 7 0 2 (1,0)〜 7 0 2 (ml- 1,0)には置換位置情報が記憶された置換データ R OM等が不要となり、 回路規模を小さくできる。
なお、 ハイブリ ッ ド型のターボ符号化装置としては、 第 7図に示すターボ符号 化装置 7 0 0において、 さらに畳み込み符号化回路 70 1 (2, 1)〜 70 1 (ml, 1)の 一部および全部の後段に、 畳み込み符号化回路 70 1 (1, 1)の後段と同様に、 1組 または複数組のィンタ一リーバおよび畳み込み符号化回路の組を接続した構成の ものも考えられるが、 インターリーバの構成を、 第 7図に示すターボ符号化装置 700におけるインタ一リ一バの構成と同様に算術演算で置換位置を求める構成 とすることで、 置換位置情報が記憶された置換データ ROM等が不要となり、 回 路規模を小さくできる。
第 8図は、 第 7図に示すハイプリ ッ ド型のターボ符号化装置 7 00に対応した ターボ復号装置 8 0 0の構成を示している。
このターボ復号装置 8 0 0は、 ターボ符号化装置 7 0 0を構成する畳み込み符 号化回路 7 0 1 (l,m2)〜 7 0 1 (1, 1)に対応した m 2個の直列接続されたソフ トァ ゥ トプッ ト復号回路 80 1 (l,m2)〜 8 0 1 (1, 1)と、 ターボ符号化装置 7 0 0を構 成する畳み込み符号化回路 7 0 1 (2, 1)〜 7 0 1 (ml, 1)に対応した (m 1 — 1 ) 個
のソフ トアウ トプッ ト復号回路 8 0 1 (2, 1)〜 80 1 (ml, 1) とを有して構成され ている。 ソフ トアウ トプッ ト復号回路 8 0 1 (l,m2)〜 80 1 (1, 1), 8 0 1 (2, 1) 〜8 0 1 (ml, l) は、 符号化側での入力データが 0または 1である確率を算出する 機能を持つ、 いわゆるソフ トアウ トプッ ト復号方式を用いて構成されている。
このターボ復号装置 8 0 0においては、 ターボ符号化装置 7 00より出力され る符号化データ D 7 0 2 (l,m2)に対応した受信データ D 8 0 2 (l,m2)に対してソ フ トァゥ トプッ ト復号回路 8 0 1 (l,m2)〜 8 0 1 (1, 1)で順次復号動作が行われる。 この場合、 各ソフ トアウ トプッ ト復号回路 8 0 1 (l,m2:)〜 8 0 1 (1, 1)では、 隣接 するソフ トァゥ トプッ ト復号回路で算出される符号化側での入力データおよび出 力データに対する推定確率値データを利用し、 数回または数 1 0回の反復復号動 作が行われる。 図示せずも、 復号回路 8 0 1 (l,m2)〜 8 0 1 (1,2)の復号動作で得 られる復号データは、 符号化装置におけるインタ一リ一ブとは逆のディンターリ —ブが行われて次段の復号回路 80 1 (1,ιη2-1)〜 8 0 1 (1, 1)に供給されている。 また、 ターボ符号化装置 7 0 0より出力される符号化データ D 70 2 (2, 1)〜D
70 2 (ml, 1)に対応した受信データ D 8 0 2 (2, 1)〜 D 8 0 2 (ml, 1)に対してそれ ぞれソフ トァゥ トプッ ト復号回路 8 0 1 (2, 1)〜 80 1 (ml, 1)で復号動作が行われ る。 そして、 これら復号回路 8 0 1 (2, 1)〜 8 0 1 (ml, 1)および上述した復号回路
8 0 1 (1, 1)では、 それぞれ符号化側でのタ一ミネーシヨンビッ トを除いた入力デ —タに対する推定確率値データを互いに利用し、 数回または数 1 0回の反復復号 動作が行われる。 そして、 任意の復号回路 (第 8図では復号回路 8 0 1 (1, 1)) よ り最終的な復号データ D 8 0 1が出力される。
第 9図は、 実施の形態 4と してのターボ符号化装置 1 5 0の構成を示している。 このターボ符号化装置 1 5 0は、 入力データ D 1 5 1に対して畳み込み符号化を 行って符号化データ D 1 5 2-1を得る畳み込み符号化回路 1 5 1 -1と、 この畳み 込み符号化回路 1 5 1 -1でのターミネ一ションビッ トを含めた全ての入力データ D 1 5 3に対して順次ィンタ一リーブを行うインタ一リーバ 1 5 2- 1〜 1 5 2 - (m-1)と、 これらインタ一リ一バ 1 5 2- 1〜 1 5 2 - (m - 1)の出力データに対してそ れぞれ畳み込み符号化を行って符号化データ D 1 5 2 - 2〜D 1 5 2-mを得る畳み 込み符号化回路 1 5 1 - 2〜1 5 liとを有している。 ここで、 mは 2以上の整数
である。
畳み込み符号化回路 1 5 1 -1〜 1 5 1 -mは、 入力されたデータに対して畳み込 み演算を行い、 演算結果をそれぞれ符号化データと して出力するものである。 ま た、 インターリーバ 1 5 2 - 1〜 1 5 2 - (m - 1)は、 入力されたデータにおける各デ ータの順序を交錯して出力するものである。 畳み込み符号化回路 1 5 1 - 1は第 1 5図に示す従来のターボ符号化装置 3 0 0における畳み込み符号化回路 3 0 1 - 1 〜 3 0 1 -mと同様に構成されるが (第 1 6図参照) 、 畳み込み符号化回路 1 5 1 - 2〜 1 5 1 - mはそのターミネ一ション回路が削減された構成とされる。
第 1 0図は、 インタ一リーバ 1 5 2 -1〜 1 5 2 - (m-1 )の構成を示している。 第 1 0図に示すインタ一リーバ 1 7 0は、 入力データ保持メモリ 1 7 1 と、 データ 分配回路 1 7 2と、 複数のデータ置換回路 1 7 3 - 1〜 1 7 3 - pと、 データ統合回 路 1 7 4と、 出力データ保持メモリ 1 7 5とを有してなり、 入力データ D 1 7 1 における各データの順序を交錯して出力データ D 1 7 2を得るものである。
ここで、 入力データ D 1 7 1は、 入力データ保持メモリ 1 7 1に一旦格納され た後、 データ分配回路 1 7 2でその位置に応じて複数の部分に分割される。 そし て、 この複数の部分 (位置とデータの組み) はそれぞれデータ置換回路 1 7 3 - 1 〜 1 7 3 -Pに送られる。 データ置換回路 1 7 3 - 1〜 1 7 3 - pでは、 それぞれの部 分内でデータの順序のみが交錯され、 入力された位置と交錯されたデ一タの組み が出力される.:.
そして、 データ置換回路 1 7 3 - 1〜 1 7 3 - pより出力される複数の部分 (位置 とデータの組) はデータ統合回路 1 7 4に送られる。 データ統合回路 1 7 4は、 データ置換回路 1 7 3 - 1〜 1 7 3 - pより出力される複数の部分の位置とデータに 従って、 出力データ保持メモリ 1 7 5にデータを書き込む。
なお、 データ統合回路 1 7 4は、 各データ置換回路 1 7 3 - 1〜 1 7 3 - pから出 力される複数の部分のデータ数が等しいとき、 さらに各データ置換回路 1 7 3 - 1 〜 1 7 3 -Pから出力される複数の部分間でデータと組みになっている位置を交換 し、 その後に交換された位置とデータに従って出力データ保持メモリ 1 7 5にデ —タを書き込む。 その後、 出力データ保持メモリ 1 7 5の内容が出力データ D 1 7 2として出力される。
第 1 0図に示すインタ一リーバ 1 7 0のデータ置換回路 1 7 3 -1〜: L 7 3 - と しては、 第 1 1図に示す従来のターボ符号化装置 3 0 0で使用されているインタ —リーバ (第 1 7図参照) 、 第 1図に示すターボ符号化装置 1 0 0で使用されて いるインタ一リーバ (第 2図参照) 等、 全てのインタ一リーバが適用可能である。 第 1 1図は、 ィンタ一リーバ 1 7 0のサイズが 6で、 入力データ D 1 7 1がデ ータ分配回路 1 7 2で 2個ずつの位置とデータの組みでなる 3個の部分に分配さ れ、 それぞれの部分が 3個のデータ置換回路 1 7 3 - 1〜 1 7 3 -3に送られる場合 におけるインタ一リーバ 1 7 0の動作例を示している。 この場合、 入力データ D
1 7 1力; " 1 1 0 1 0 1 " であるとき、 出力データ D 1 7 2と して " 1 1 0 0 1
1 " が得られる。
第 9図に示すターボ符号化装置 1 5 0の動作を説明する。 入力データ D 1 5 1 は畳み込み符号化回路 1 5 1 1に供給される。 そして、 この畳み込み符号化回路
1 5 1 -1では入力データ D 1 5 1に対して畳み込み演算が行われ、 続いてタ一ミ ネーションが行われ、 ターミネーションを含む符号化処理による符号化データ D
1 5 2 - 1が出力される。
また、 畳み込み符号化回路 1 5 1 -1でのタ一ミネ一ションビッ トを含めた全て の入力データ D 1 5 3は、 ィンタ一リーバ 1 5 2- 1〜 1 5 2 - (m- 1)の直列回路に 供給され、 順次入力されたデータの順序が交錯されて出力される。 これら、 イン ターリ—バ 1 5 2一 i〜 1 5 2-(m-l)の出力データはそれぞれ畳み込み符号化回路
1 5 1 -2〜 1 5 11に供給される。 そして、 これら畳み込み符号化回路 1 5 1 2 〜 1 5 1 - mでは、 それぞれィンターリーバ 1 5 2 1〜 1 5 2 - (m- 1)の出力データ に対して畳み込み演算が行われ、 符号化デ一タ D 1 5 2 - 2〜D 1 5 2 - mが出力さ れる。
ここで、 畳み込み符号化回路 1 5 1 - 1〜 1 5 11ゃィンタ一リーバ 1 5 2 - 1〜 1 5 2- (m-1)が以下の条件を満たすように構成されている。
i ) m個の畳み込み符号化回路 1 5 1 -1〜 1 5 11における畳み込み符号の生 成多項式を同一のものとする。 このとき、 共通の生成多項式 H (D) /Q (D) の Q (D) 力 多項式 1 +Deを割り切る。
ii) ィンタ一リ一バ 1 5 2 - 1〜 1 5 2- (m- 1)のサイズ Nが eの倍数である.、
iii) ィンターリ一バ 1 5 2- 1〜 1 5 2 - (in- 1)のデータ分配回路はデータ位置を eで割ったときの余りが等しい位置のデータについて、 その位置とデータの組み を同一のデータ置換回路に出力する。
iv) 入力データが直接与えられる畳み込み符号化回路 1 5 1 -1のタ一ミネーシ ヨン回路からの出力データを、 ターミネ一ション処理時に出される出力も含めて インターリーブを行う。
V) インタ一リーバ 1 5 2 - 1〜 1 5 2 - (m— 1)への入力データ d。, d i , · . · , d N 1をN— 1次の多項式の係数とした多項式 dN—! xN— i + dN-2xN— 2+ · · . + d > x + d。が 1 + x Ίこよって割り切られるときに、 データ統合回路からの出力を 係数とする多項式もまた、 1 + x eでによって割り切られるように、 データ統合回 路における位置の交換を行う。
これにより、 畳み込み符号化回路 1 5 1 - 2〜 1 5 1 - mでそれぞれインターリ― バ 1 5 2- 1〜 1 5 2- (m-1)の出力データに対して畳み込み演算をするとき、 畳み 込み符号化回路 1 5 1 - 2〜 1 5 1 -mは自動的にタ一ミネーシヨ ンをする。 つまり、 ターミネ一ション処理によって畳み込み符号化回路 1 5 1 -1がターミネートする と同時に、 畳み込み符号化回路 1 5 1 - 2〜1 5 1 - mもターミネ一トする。 したが つて、 第 9図に示すターボ符号化装置 1 5 0によれば、 上述したように、 畳み込 み符号化回路 1 5 1 - 2〜 1 5 1 -mをターミネ一ショ ン回路を削減した構成とする 二とができ、 回路規模を小さくできる。
第 1 2図は、 ターボ符号化装置 1 5 0の入力データ D 1 5 1 と、 畳み込み符号 化回路 1 5 1 -1のターミネーシヨン回路の出力データ、 つまりの畳み込み符号化 回路 1 5 1 - 1でのターミネ一シヨンビッ トを含めた全ての入力データ D 1 5 3と、 符号化データ D 1 5 2- 1〜D 1 5 2- mのビッ ト数の関係を示している。
入力された kビッ トのデータに対して畳み込み符号化回路 1 5 1 -1によってタ 一ミネ一シヨ ンを含む符号化処理が行われ、 (n i+ t j ビッ トの符号化データ D 1 5 2 -1が得られる。 次に、 この畳み込み符号化回路内 1 5 1 -1のターミネ一 ション回路の (k + t ) ビッ トの出力デ一タがィンタ一リ一バ 1 5 2- 1〜 1 5 2 -(m-1)に供給され、 これらインターリーバ 1 5 2-1〜1 5 2 -(m - 1 )の出力データ に対して符号化回路 1 5 1 - 1〜 1 5 11によって符号化処理が行われ、 (n 2+ t
二) 〜 (n t m) ビッ トの符号化データ D 1 5 2 - 1〜D 1 5 2 _mが得られる。 なお、 第 1 0図のィンタ一リ一バ 1 Ί 0では、 データ置換回路 1 7 3 - 1〜 1 7 3 -ρとデータ統合回路 1 7 4の双方でデータの並べ換えを行う ものを示したが、 どちらか一方のみによるデータの並べ換えだけでもよい。 ただし、 双方でデータ の並べ換えを行った方がよりデータの撹拌が行われるため符号性能が向上するこ ととなる。
第 1 3図は、 実施の形態 5 としてのターボ復号装置 2 0 0の構成を示している。 このターボ復号装置 2 0 0は、 第 9図に示すターボ符号化装置 1 5 0より出力さ れる符号化データより復号データを得るものである。 このターボ復号装置 2 0 0 は、 ターボ符号化装置 1 5 0より出力される符号化データ (受信データ) の個数 に対応した複数のソフ トァゥ トプッ ト復号回路 2 0 1 - 1〜 2 0 1 1を有してなる ものである。 ソフ トアウ トプッ ト復号回路 2 0 1 - 1〜 2 0 1 - mは、 第 2 1図に示 す従来のターボ復号装置 4 0 0のソフ トアウ トプッ ト復号回路 4 0 1 - 1〜4 0 1 - toと同様に、 M A Pデコーダおよび S〇V Aデコーダ等の符号化側での入力デー タが 0または 1である確率を算出する機能を持つ、 いわゆるソフ トアウ トプッ ト 復号方式を用いて構成される。
第 1 3図に示すターボ復号装置 2 0 0の動作を説明する。 受信データ (符号化 データ) D 2 0 1 - 1〜D 2 0 1 1は、 それぞれソフ トァゥ トプッ ト復号回路 2 0 1 - 1〜 2 0 1 -mに供給される:. そして、 各復号回路 2 0 1 - 1〜 2 0 1 ιでは、 そ れぞれ符号化側での入力データに対する推定確率値データを互いに利用し、 数回 または数 1 0回の反復復号動作が行われる。 そして、 任意の復号回路 (第 1 3図 では復号回路 2 0 1 -1 ) より最終的な復号データ D 2 0 2が出力される。 ここで、 第 9図に示すターボ符号化装置 1 5 0より出力される複数の符号化データは、 上 述したように、 ターミネ一ション時のデータも含めて全て同じデータから生成さ れたものであり、 各復号回路 2 0 1 - 1〜 2 0 1 -mの間でターミネーショ ンビッ ト を含めた全ての入力データに対する推定確率値データのやり取りを行って符号化 データの復号を行うことができる。 これにより、 第 1 3図に示すタ一ボ復号装置 2 0 0は、 第 2 1図に示す従来のターボ復号装置 2 0 0に比べて復号性能を高め ることができる。
第 1 4図は、 ターボ復号装置 2 0 0の受信データ D 2 0 1 - 1〜D 2 0 1 - ID、 推 定確率値データおよび復号データ D 2 0 2のビッ ト数の関係を表したものであり、 第 1 2図のターボ符号化装置 1 5 0における各ビッ ト数の関係と対応している。 ソフ トアウ トプッ ト復号回路 2 0 1 - 1〜 2 0 1 - mは、 それぞれ (η + ΐ 〜 ( n m + t m) ビッ トの受信データ D 2 0 1 - 1〜D 2 0 1 -m り、 入力データとタ 一ミネーシヨ ン時入力データに対する (k + t ) ビッ トの推定確率値デ一タを算 出する。 そして、 その (k + t ) ビッ トの推定確率値データを各復号回路間でや り取り し、 最終的に kビッ トの復号データ D 2 0 2を出力する。
以上説明したように、 この発明によれば、 ターボ符号化装置でのインタ一リ一 ブ処理において入力される各データの置換位置を演算で求めるものであり、 置換 位置を保持するためのメモリを不要とでき、 ターボ符号化装置の回路規模を小さ くできる。
また、 この発明によれば、 ターボ符号化装置のインタ一リーブ回路の置換位置 に制限を加え、 さらに最初の畳み込み符号化回路でのタ一ミネ一ションビッ トを 含めた全ての入力デ一タをィンタ一リ一ブ回路に入力するものであり、 タ一ボ符 号化装置の 2番目以降の畳み込み符号化回路ではターミネーシヨ ン回路なしに自 動的にタ一ミネ一ションが行われることとなり、 ターボ符号化装置の回路規模を 小さくできる。
また、 この発明によれば、 複数の符号化データがターミネ一シヨン時のデータ も含めて全て同じデータから生成されたものであるとき、 ターボ復号装置の各復 号回路の間でターミネ一ションビッ トを含めた全ての入力データに対する推定確 率値データのやり取りを行って符号化データの復号が行われるものであり、 復号 装置の復号性能を高めることができる。 産業上の利用可能性
以上のように、 この発明に係るターボ符号化装置、 ターボ復号装置等は、 衛星 通信や移動体通信等における符号化装置、 復号装置に適用して好適である。
Claims
1 . 2個以上の畳み込み符号化回路と、 1個以上のインターリーブ回路とを有し て構成されるターボ符号化装置であって、
上記ィンターリ一ブ回路は、 入力されるデータにおける各データの置換位置を 演算する演算部を備えることを特徴とするターボ符号化装置。
2 . 入力データに対して畳み込み符号化を行う第 1 の畳み込み符号化回路と、 上記入力データに対して順次インタ一リーブを行う第 1〜第 (m— 1 ) ( mは
2以上の整数) のインタ一リーブ回路と、
上記第 1〜第 (m— 1 ) のインタ一リーブ回路の出力データに対してそれぞれ 畳み込み符号化を行う第 2〜第 mの畳み込み符号化回路とを有することを特徴と する請求の範囲第 1項に記載のターボ符号化装置。
3 . 上記第 1〜第 mの畳み込み符号化回路の出力データの少なく ともいずれかに 対してィンタ一リ一ブおよび畳み込み符号化を 1回または複数回行う、 1組以上 のインターリ一ブ回路および畳み込み符号化回路の直列回路をさらに備えること を特徴とする請求の範囲第 2項に記載のターボ符号化装置。
4 . 入力データに対して畳み込み符号化を行う第 1 の畳み込み符号化回路と、 上記第 1の畳み込み符号化回路の出力データに対してインターリーブおよび畳 み込み符号化の処理を交互に行う第 1〜第 (m— 1 ) ( mは 2以上の整数) のィ ンタ一リーブ回路および第 2〜第 mの畳み込み符号化回路の直列回路とを有する ことを特徴とする請求の範囲第 1項に記載のターボ符号化装置。
5 . 上記演算部は、 上記入力されるデータにおける各データの位置 i に応じた上 記置換位置 π ,を、 上記インタ一リーブ回路のサイズを Ν、 この Νと互いに素な整 数を a、 任意の整数を bとして、 π = ( a · i + b ) modNの式で求めることを 特徴とする請求の範囲第 1項に記載のターボ符号化装置。
6. 上記演算部は、 上記入力されるデータにおける各データの位置 i に応じた上 記置換位置 π ,を、 上記インターリーブ回路のサイズを Ν、 予め定められた整数を a , b と して、 7i , = ( a ' 7i , -, + b ) modN (ただし、 cを任意の整数と して、 π o = c modNである) の式で求めることを特徴とする請求の範囲第 1項に記載の ターボ符号化装置。
7. 上記 bが 0である場合、 上記 aは、 a p≠ l ( 2≤ p ≤N- 2 ) となるような 整数であることを特徴とする請求の範囲第 6項に記載のターボ符号化装置。
8. 上記 bが 0でない場合、 Nを上記 Nより 1だけ小さい数と し、 上記 a と上記 bのそれぞれは、 bと Nとは互いに素、 a — 1は Nを割り切る全ての素数の倍数、 および Nが 4の倍数であれば a — 1 も 4の倍数である、 という条件を満たすこと を特徴とする請求の範囲第 6項に記載のターボ符号化装置。
9. 上記演算部は、 上記入力されるデータにおける各データの位置 i に応じた置 換位置 π ,を M系列発生回路で求めることを特徴とする請求の範囲第 6項に記載の ターボ符号化装置。
1 0. 入力データに対して畳み込み符号化を行う第 1の畳み込み符号化回路と、 上記第 1の畳み込み符号化回路でのターミネーションビッ トを含めた全ての入 力データに対して順次インタ一リーブを行う第 1〜第 (m— 1 ) (mは 2以上の 整数) のインタ一リーブ回路と、
上記第 1〜第 (m— 1 ) のインターリーブ回路の出力データに対してそれぞれ 畳み込み符号化を行う第 2〜第 mの畳み込み符号化回路とを有し、
上記インタ一リーブ回路は、 入力されるデータにおける各データに対し、 その 位置に応じて分割した複数の部分を基準にして、 上記第 1の畳み込み符号化回路 がターミネ—トするとき同時に上記第 2〜第 mの畳み込み符号化回路もタ一ミネ 一卜するようにインタ一リーブを行う ことを特徴とするターボ符号化装置。
1 1 . 上記インタ一リーブ回路は、 上記複数の部分の各々の内部でインターリー ブを行うことを特徴とする請求の範囲第 1 0項に記載のターボ符号化装置。
1 2 . 上記インタ一リーブ回路は、 上記複数の部分の各々を単位としてインタ一 リ一ブを行う ことを特徴とする請求の範囲第 1 0項に記載のターボ符号化装置。
1 3 . 上記インタ一リーブ回路は、 上記複数の部分の各々の内部でインタ一リ一 ブを行う と共に、 上記複数の部分の各々を単位としてインタ一リーブを行うこと を特徴とする請求の範囲第 1 0項に記載のターボ符号化装置。
1 4 . 入力データに対して畳み込み符号化を行う第 1 の畳み込み符号化回路と、 上記第 1の畳み込み符号化回路でのターミネーションビッ トを含めた全ての入力 データに対して順次インタ一リーブを行う第 1〜第 (m— 1 ) ( mは 2以上の整 数) のインタ一リーブ回路と、 上記第 1〜第 (m— 1 ) のインタ一リーブ回路の 出力データに対してそれぞれ畳み込み符号化を行う第 2〜第 mの畳み込み符号化 回路とを有し、 上記インタ一リーブ回路は、 入力されるデータにおける各データ に対し、 その位置に応じて分割した複数の部分を基準にして、 上記第 1の畳み込 み符号化回路がターミネー卜するとき同時に上記第 2〜第 mの畳み込み符号化回 路もターミネートするようにインターリ一ブを行うターボ符号化装置で得られる 符号化データを復号するターボ復号装置であって、
上記符号化データを復号する複数のソフ トァゥ トプッ ト復号回路を有し、 上記複数のソフ トァゥ トプッ ト復号回路は、 各々の間でターミネーションビッ トを含めた全ての入力データに対する推定確率値データのやり取りを行って上記 符号化データの復号を行う ことを特徴とするターボ復号装置。
1 5 . 畳み込み符号化を行う符号化工程と、 インターリーブを行うインターリー ブ工程とを有するターボ符号化方法であって、
上記ィンタ一リーブ工程では、 インタ一リーブすべきデータにおける各データ の置換位置を演算によって求めることを特徴とするターボ符号化方法。
1 6. 入力データに対して畳み込み符号化を行う第 1の符号化工程と、 上記入力データに対して順次インターリーブを行うインターリ一ブ工程と、 上記ィンターリーブ工程で順次ィンターリーブされたデータに対してそれぞれ 畳み込み符号化を行う第 2の符号化工程とを有することを特徴とする請求の範囲 第 1 5項に記載のターボ符号化方法。
1 7. 上記第 1および第 2の符号化工程で得られる複数の符号化データの少なく ともいずれかに対してインターリ一ブおよび畳み込み符号化を 1回または複数回 行うインタ—リーブ/符号化工程をさらに有し、 上記ィンターリーブ 符号化工程におけるィンターリ一ブでは、 インターリー ブすべきデータにおける各データの置換位置を演算によって求めることを特徴と する請求の範囲第 1 6項に記載のターボ符号化方法。
1 8. 入力データに対して畳み込み符号化を行う第 1の符号化工程と、
上記第 1の符号化工程で得られる符号化データに対してインターリーブおよび 畳み込み符号化を 1回または複数回行うインタ一リーブノ符号化工程とを有する ことを特徴とする請求の範囲第 1 5項に記載のターボ符号化方法。
1 9. 上記インタ一リーブ工程では、 上記インタ一リーブすべきデータの各デ一 タの位置 i に応じた上記置換位置 π iを、 上記インタ一リーブのサイズを N、 この Nと互いに素な整数を a、 任意の整数を b として、 π ι = ( 3 · ί + ΐ3 ) ΐΒ0(1Νの 式で求めることを特徴とする請求の範囲第 1 5項に記載のターボ符号化方法。
2 0. 上記インタ一リーブ工程では、 上記インターリーブすべきデータの各デ一 タの位置 i に応じた上記置換位置 π iを、 上記インタ一リーブのサイズを N、 予め 定められた整数を a , b として、 π = ( a · Ti i t + b ) modN (ただし、 cを任 意の整数として、 7r。= c modNである) の式で求めることを特徴とする請求の範 囲第 1 5項に記載のターボ符号化方法。
2 1 . 上記 bが 0である場合、 上記 aは、 a p≠ l ( 2≤ p≤N - 2 ) となるよう な整数であることを特徴とする請求の範囲第 2 0項に記載のターボ符号化方法。
2 2 . 上記 bが 0でない場合、 Nを上記 Nより 1だけ小さい数とし、 上記 a と上 記 bのそれぞれは、 b と Nとは互いに素、 a— 1は Nを割り切る全ての素数の倍 数、 および Nが 4の倍数であれば a — 1 も 4の倍数である、 という条件を満たす ことを特徴とする請求の範囲第 2 0項に記載のターボ符号化方法。
2 3 . 上記インタ一リーブ工程では、 上記インターリーブすべきデータの各デー タの位置 i に応じた置換位置 π:を、 Μ系列発生で求めることを特徴とする請求の 範囲第 1 5項に記載のターボ符号化方法。
2 4 . 入力データに対して畳み込み符号化を行う第 1の符号化工程と、
上記第 1の符号化工程でのタ一ミネ一ションビッ トを含めた全ての入力データ に対して順次インタ一リーブを行うインタ一リーブ工程と、
上記ィンタ一リ一ブ工程で順次ィンタ一リ一ブされたデータに対してそれぞれ 畳み込み符号化を行う第 2の符号化工程とを有し、
上記ィンタ一リーブ工程では、 インターリーブすべきデータにおける各デ一タ に対し、 その位置に応じて分割した複数の部分を基準にして、 上記第 1の符号化 工程で符号化回路がターミネ一トするとき同時に上記第 2の符号化工程でも符号 化回路がターミネートするようにインタ一リーブすることを特徴とするターボ符 号化方法。
2 5 . 上記インタ一リーブ工程では、 上記複数の部分の各々の内部でインターリ 一ブを行うことを特徴とする請求の範囲第 2 4項に記載のターボ符号化方法。
2 6 . 上記インタ一リーブ工程では、 上記複数の部分の各々を単位としてインタ ―リーブを行うことを特徴とする請求の範囲第 2 4項に記載のターボ符号化方法 Λ
2 7 . 上記インタ一リーブ工程では、 上記複数の部分の各々の内部でインタ一リ —ブを行う と共に、 上記複数の部分の各々を単位と してインタ一リーブを行う こ とを特徴とする請求の範囲第 2 4項に記載のターボ符号化方法。
2 8 . 入力データに対して畳み込み符号化を行う第 1の符号化工程と、 上記第 1 の符号化工程でのターミネ一シヨ ンビッ トを含めた全ての入力データに対して順 次インタ一リ一ブを行うインターリーブ工程と、 上記ィンターリ一ブ工程で順次 インターリーブされたデータに対してそれぞれ畳み込み符号化を行う第 2の符号 化工程とを有し、 上記インタ一リーブ工程では、 インタ一リーブすべきデータに おける各データに対し、 その位置に応じて分割した複数の部分を基準にして、 上 記第 1の符号化工程で符号化回路がターミネ一トするとき同時に上記第 2の符号 化工程でも符号化回路がターミネートするようにインターリ一ブするターボ符号 化方法で得られる符号化データを復号するターボ復号方法であって、
上記符号化データを複数のソフ トアウ トプッ ト復号回路を使用して復号する復 号工程を有し、
上記復号工程では、 上記複数のソフ トァゥ トプッ ト復号回路の間でターミネ一 ションビッ トを含めた全ての入力データに対する推定確率値データのやり取りを 行って上記符号化データの復号を行う ことを特徴とするターボ復号方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP51660899A JP4033245B2 (ja) | 1997-09-02 | 1998-09-02 | ターボ符号化装置およびターボ符号化方法 |
US09/310,161 US6233711B1 (en) | 1997-09-02 | 1999-04-30 | Turbo coding, decoding devices and turbo coding, decoding methods |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23742497 | 1997-09-02 | ||
JP9/237424 | 1997-09-02 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/310,161 Continuation US6233711B1 (en) | 1997-09-02 | 1999-04-30 | Turbo coding, decoding devices and turbo coding, decoding methods |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1999012265A1 true WO1999012265A1 (fr) | 1999-03-11 |
Family
ID=17015159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP1998/003933 WO1999012265A1 (fr) | 1997-09-02 | 1998-09-02 | Codeur/decodeur turbo et procede de codage/decodage turbo |
Country Status (3)
Country | Link |
---|---|
US (1) | US6233711B1 (ja) |
JP (1) | JP4033245B2 (ja) |
WO (1) | WO1999012265A1 (ja) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000156646A (ja) * | 1998-11-09 | 2000-06-06 | Canon Inc | 符号化装置及び方法、復号装置及び方法、信号処理装置、デ―タ伝送装置、無線通信装置、ネットワ―クステ―ション、並びに情報処理装置及び方法 |
JP2001257600A (ja) * | 1999-12-20 | 2001-09-21 | Canon Inc | 符号化方法及び装置、及び、復号化方法及び装置、並びにそれらを用いたシステム |
WO2001076078A1 (fr) * | 2000-03-31 | 2001-10-11 | Mitsubishi Denki Kabushiki Kaisha | Appareil et procede de communication |
WO2001082490A1 (fr) * | 2000-04-25 | 2001-11-01 | Mitsubishi Denki Kabushiki Kaisha | Procede et appareil de decodage d'une sequence de codes produits par codage turbo |
WO2001091307A1 (fr) * | 2000-05-22 | 2001-11-29 | Mitsubishi Denki Kabushiki Kaisha | Appareil et procede de communication |
JP2002319868A (ja) * | 2001-04-19 | 2002-10-31 | Nec Corp | インターリーブ方法及びインターリーブ装置 |
WO2003044965A1 (fr) * | 2001-11-19 | 2003-05-30 | Nec Corporation | Generateur d'ordre d'entrelacement, entrelaceur, turbo codeur et turbo decodeur |
US6625775B1 (en) | 1998-12-10 | 2003-09-23 | Samsung Electronics Co., Ltd. | Encoder/decoder with serial concatenated structure in communication system |
US6885710B1 (en) | 1998-04-18 | 2005-04-26 | Samsung Electronics Co., Ltd. | Apparatus and method for channel encoding/decoding in a communication system |
JP2007318772A (ja) * | 1999-07-21 | 2007-12-06 | Fr Telecom | 少なくとも2つの並列編集方法及び改良された置換方法を備えたコーディング方法及び装置、並びに対応するディコーディング方法及び装置 |
JP2010093611A (ja) * | 2008-10-09 | 2010-04-22 | Fujitsu Ltd | 通信システム |
USRE43212E1 (en) | 1999-05-19 | 2012-02-21 | Samsung Electronics Co., Ltd | Turbo interleaving apparatus and method |
CN112926726A (zh) * | 2017-04-27 | 2021-06-08 | 苹果公司 | 用于交织通道数据的可配置卷积引擎 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69936683T2 (de) * | 1998-06-01 | 2008-04-30 | Her Majesty The Queen In Right Of Canada As Represented By The Minister Of Industry, Ottawa | Verschachtelung unter Verwendung von Inkrementen basierend auf dem Goldenen Schnitt |
JP2000151427A (ja) * | 1998-09-08 | 2000-05-30 | Sony Corp | 符号化装置および方法、復号装置および方法、提供媒体、並びにデ―タ置換位置情報を生成するための方法 |
JP4081875B2 (ja) * | 1998-09-08 | 2008-04-30 | ソニー株式会社 | 符号化装置および方法、復号装置および方法、並びに提供媒体 |
JP3246471B2 (ja) * | 1999-03-31 | 2002-01-15 | 日本電気株式会社 | マルチレート送信装置 |
US6516136B1 (en) * | 1999-07-06 | 2003-02-04 | Agere Systems Inc. | Iterative decoding of concatenated codes for recording systems |
JP2002076925A (ja) * | 2000-08-31 | 2002-03-15 | Sony Corp | 軟出力復号装置及び軟出力復号方法、並びに、復号装置及び復号方法 |
US7349691B2 (en) * | 2001-07-03 | 2008-03-25 | Microsoft Corporation | System and apparatus for performing broadcast and localcast communications |
KR20070095993A (ko) * | 2001-08-24 | 2007-10-01 | 인터디지탈 테크날러지 코포레이션 | 물리 계층의 자동 재전송 요구를 구현하는 기지국 |
US20030039226A1 (en) * | 2001-08-24 | 2003-02-27 | Kwak Joseph A. | Physical layer automatic repeat request (ARQ) |
KR20050059208A (ko) * | 2002-09-27 | 2005-06-17 | 아이비큐티 디지털 코포레이션 | 디지털 신호의 비트를 인터리빙하는 장치 및 방법, 디지털정보를 방송하는 장치 및 방법, 디지털 신호의 비트를디인터리빙하는 장치 및 방법, 및 디지털 정보를 수신하는장치 및 방법 |
JP3987553B2 (ja) * | 2002-10-29 | 2007-10-10 | サムスン エレクトロニクス カンパニー リミテッド | 通信システムでインタリービングされたデータストリームのデインタリービング方法及び装置 |
US20050224596A1 (en) * | 2003-07-08 | 2005-10-13 | Panopoulos Peter J | Machine that is an automatic pesticide, insecticide, repellant, poison, air freshener, disinfectant or other type of spray delivery system |
CN100388631C (zh) * | 2003-12-22 | 2008-05-14 | 普天信息技术研究院 | 一种移动通信中信道编码的快速计算方法 |
KR100989314B1 (ko) * | 2004-04-09 | 2010-10-25 | 삼성전자주식회사 | 디스플레이장치 |
US20060156171A1 (en) * | 2004-12-15 | 2006-07-13 | Seagate Technology Llc | Combining spectral shaping with turbo coding in a channel coding system |
US8719670B1 (en) * | 2008-05-07 | 2014-05-06 | Sk Hynix Memory Solutions Inc. | Coding architecture for multi-level NAND flash memory with stuck cells |
US9048875B2 (en) * | 2012-03-28 | 2015-06-02 | Intel Corporation | Conserving computing resources during error correction |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5651141A (en) * | 1979-10-04 | 1981-05-08 | Mitsubishi Electric Corp | Error control system |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3292323B2 (ja) * | 1993-03-02 | 2002-06-17 | ソニー株式会社 | 情報再生装置 |
JP3170123B2 (ja) * | 1993-11-29 | 2001-05-28 | 日本放送協会 | 誤り訂正回路 |
US5537420A (en) * | 1994-05-04 | 1996-07-16 | General Instrument Corporation Of Delaware | Convolutional interleaver with reduced memory requirements and address generator therefor |
DE4429585C1 (de) * | 1994-08-19 | 1995-11-23 | Bosch Gmbh Robert | Verfahren zur arithmetischen Decodierung |
US5999570A (en) * | 1995-11-21 | 1999-12-07 | Sony Corporation | Transmission apparatus, sending apparatus, and receiving apparatus, and transmission method |
US5721745A (en) * | 1996-04-19 | 1998-02-24 | General Electric Company | Parallel concatenated tail-biting convolutional code and decoder therefor |
US6023783A (en) * | 1996-05-15 | 2000-02-08 | California Institute Of Technology | Hybrid concatenated codes and iterative decoding |
US5949796A (en) * | 1996-06-19 | 1999-09-07 | Kumar; Derek D. | In-band on-channel digital broadcasting method and system |
US5734962A (en) * | 1996-07-17 | 1998-03-31 | General Electric Company | Satellite communications system utilizing parallel concatenated coding |
US5996104A (en) * | 1996-09-13 | 1999-11-30 | Herzberg; Hanan | System for coding system |
US6005894A (en) * | 1997-04-04 | 1999-12-21 | Kumar; Derek D. | AM-compatible digital broadcasting method and system |
US5983384A (en) * | 1997-04-21 | 1999-11-09 | General Electric Company | Turbo-coding with staged data transmission and processing |
US5970098A (en) * | 1997-05-02 | 1999-10-19 | Globespan Technologies, Inc. | Multilevel encoder |
-
1998
- 1998-09-02 JP JP51660899A patent/JP4033245B2/ja not_active Expired - Lifetime
- 1998-09-02 WO PCT/JP1998/003933 patent/WO1999012265A1/ja active Application Filing
-
1999
- 1999-04-30 US US09/310,161 patent/US6233711B1/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5651141A (en) * | 1979-10-04 | 1981-05-08 | Mitsubishi Electric Corp | Error control system |
Non-Patent Citations (5)
Title |
---|
D. DIVSALAR and F. POLLARA, "Hybrid Concatenated Codes and Iterative Decoding", THE TELECOMMUNICATIONS AND DATA ACQUISITION REPORT 42-130, JET PROPULSION LABORATORY, 15 August 1997, Pasadena, California. * |
P. JUNG and M. NASSHAN, "Dependence of the Error Performance of Turbo-Codes on the Interleaver Structure in Short Frame Transmission Systems", ELECTRONICS LETTERS, Vol. 30, No. 4, 17 Feb. 1994. * |
S. BENEDETTO, D. DIVSALAR, G. MONTORSI and F. POLLARA, "Serial Concatenation of Interleaved Codes: Performance Analysis, Design and Iterative Decoding", THE TELECOMMUNICATIONS AND DATA ACQUISITION REPORT 42-126, JET PROPULSION LABORATORY, 15 August 1996, Pasadena, California. * |
S. DOLINAR and D. DIVSALAR, "Weight Distributions for Turbo Codes Using Random and Nonramdom Permutations", THE TELECOMMUNICATIONS AND DATA ACQUISITION REPORT 42-122, JET PROPULSION LABORATORY, 15 August 1995, Pasadena, California, pp. 56-65. * |
W.J. BLACKERT, E.K. HALL and S.G. WILSON, "Turbo Code Termination and Interleaver Conditions", ELECTRONICS LETTERS, Vol. 31, No. 24, 23 Nov. 1995, pp. 2082-2084. * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7372921B2 (en) | 1998-04-18 | 2008-05-13 | Samsung Electronics Co., Ltd | Apparatus and method for channel encoding/decoding in a communication system |
US6885710B1 (en) | 1998-04-18 | 2005-04-26 | Samsung Electronics Co., Ltd. | Apparatus and method for channel encoding/decoding in a communication system |
JP4553330B2 (ja) * | 1998-11-09 | 2010-09-29 | キヤノン株式会社 | 符号化装置及び方法、復号装置及び方法、情報処理装置及び方法、並びに記憶媒体 |
JP2000156646A (ja) * | 1998-11-09 | 2000-06-06 | Canon Inc | 符号化装置及び方法、復号装置及び方法、信号処理装置、デ―タ伝送装置、無線通信装置、ネットワ―クステ―ション、並びに情報処理装置及び方法 |
US6625775B1 (en) | 1998-12-10 | 2003-09-23 | Samsung Electronics Co., Ltd. | Encoder/decoder with serial concatenated structure in communication system |
USRE43212E1 (en) | 1999-05-19 | 2012-02-21 | Samsung Electronics Co., Ltd | Turbo interleaving apparatus and method |
JP2007318772A (ja) * | 1999-07-21 | 2007-12-06 | Fr Telecom | 少なくとも2つの並列編集方法及び改良された置換方法を備えたコーディング方法及び装置、並びに対応するディコーディング方法及び装置 |
JP4594963B2 (ja) * | 1999-07-21 | 2010-12-08 | フランス・テレコム | 少なくとも2つの並列編集方法及び改良された置換方法を備えたコーディング方法及び装置、並びに対応するディコーディング方法及び装置 |
JP4508407B2 (ja) * | 1999-12-20 | 2010-07-21 | キヤノン株式会社 | 符号化方法及び装置、及び、復号化方法及び装置、並びにそれらを用いたシステム |
JP2001257600A (ja) * | 1999-12-20 | 2001-09-21 | Canon Inc | 符号化方法及び装置、及び、復号化方法及び装置、並びにそれらを用いたシステム |
WO2001076078A1 (fr) * | 2000-03-31 | 2001-10-11 | Mitsubishi Denki Kabushiki Kaisha | Appareil et procede de communication |
WO2001082490A1 (fr) * | 2000-04-25 | 2001-11-01 | Mitsubishi Denki Kabushiki Kaisha | Procede et appareil de decodage d'une sequence de codes produits par codage turbo |
JP4629295B2 (ja) * | 2000-04-25 | 2011-02-09 | ミツビシ・エレクトリック・リサーチ・ラボラトリーズ・インコーポレイテッド | ターボ符号化された符号シーケンスの復号方法及び復号装置 |
WO2001091307A1 (fr) * | 2000-05-22 | 2001-11-29 | Mitsubishi Denki Kabushiki Kaisha | Appareil et procede de communication |
JP4507443B2 (ja) * | 2001-04-19 | 2010-07-21 | 日本電気株式会社 | インターリーブ方法及びインターリーブ装置 |
JP2002319868A (ja) * | 2001-04-19 | 2002-10-31 | Nec Corp | インターリーブ方法及びインターリーブ装置 |
US7210076B2 (en) | 2001-11-19 | 2007-04-24 | Nec Corporation | Interleaving order generator, interleaver, turbo encoder, and turbo decoder |
WO2003044965A1 (fr) * | 2001-11-19 | 2003-05-30 | Nec Corporation | Generateur d'ordre d'entrelacement, entrelaceur, turbo codeur et turbo decodeur |
JP2010093611A (ja) * | 2008-10-09 | 2010-04-22 | Fujitsu Ltd | 通信システム |
US8331470B2 (en) | 2008-10-09 | 2012-12-11 | Fujitsu Limited | Communication system |
CN112926726A (zh) * | 2017-04-27 | 2021-06-08 | 苹果公司 | 用于交织通道数据的可配置卷积引擎 |
Also Published As
Publication number | Publication date |
---|---|
US6233711B1 (en) | 2001-05-15 |
JP4033245B2 (ja) | 2008-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO1999012265A1 (fr) | Codeur/decodeur turbo et procede de codage/decodage turbo | |
TW390085B (en) | A method of and apparatus for selecting cyclic redundancy check genetators in a concatenated code | |
EP1030455B1 (en) | Interleaving method, interleaving apparatus, turbo encoding method, and turbo encoder | |
EP2467942B1 (en) | Methods employing fec codes with permanent inactivation of symbols for encoding and decoding processes | |
RU2235424C2 (ru) | Перемежитель турбокода, использующий линейные конгруэнтные последовательности | |
US8020064B2 (en) | Decoding apparatus and method | |
JP4292298B2 (ja) | 並列畳み込み符号器 | |
US20070011566A1 (en) | Clash-free irregular-repeat-accumulate code | |
US8443268B2 (en) | Method of performing interleaving and data transmission apparatus | |
WO2007029114A2 (en) | System, transmitter, receiver, method, and computer program product for structured interleaved zigzag coding | |
JPWO2004001701A1 (ja) | 符号演算装置 | |
JP4976397B2 (ja) | 並列剰余演算器及び並列剰余演算方法 | |
JP4602406B2 (ja) | データをエンコード及びデコードするための方法並びに装置 | |
JP2009524316A (ja) | 高速な符号化方法および復号方法ならびに関連する装置 | |
JP2003198386A (ja) | インターリーブ装置及びインターリーブ方法、符号化装置及び符号化方法、並びに復号装置及び復号方法 | |
US8448033B2 (en) | Interleaving/de-interleaving method, soft-in/soft-out decoding method and error correction code encoder and decoder utilizing the same | |
JP2002506599A (ja) | 高ビットレートデジタルデータ伝送のためのエラー訂正符号化方法および装置と、対応する復号化方法および装置 | |
KR100628201B1 (ko) | 터보 디코딩 방법 | |
TW200926618A (en) | Devices and methods for bit-level coding and decoding of turbo codes, and a set of interleaving instructions recognizable by a data processing device | |
US6684365B1 (en) | Encoding device and method, decoding device and method, providing medium, and method for generating data substitution position information | |
CN101297488B (zh) | 用于乘积码的高速率turbo编码器和解码器 | |
JP4458495B2 (ja) | ターボ符号化・復号装置およびターボ符号化・復号方法 | |
EP0986182A2 (en) | Encoding apparatus and method, decoding apparatus and method and providing medium | |
KR20060121312A (ko) | 컨볼루션 터보 부호 인터리버 | |
JP4507443B2 (ja) | インターリーブ方法及びインターリーブ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): JP US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 09310161 Country of ref document: US |