WO1999062183A1 - Decodeur d'image video pour code de convolution et procede de decodage d'image video - Google Patents

Decodeur d'image video pour code de convolution et procede de decodage d'image video Download PDF

Info

Publication number
WO1999062183A1
WO1999062183A1 PCT/JP1999/002553 JP9902553W WO9962183A1 WO 1999062183 A1 WO1999062183 A1 WO 1999062183A1 JP 9902553 W JP9902553 W JP 9902553W WO 9962183 A1 WO9962183 A1 WO 9962183A1
Authority
WO
WIPO (PCT)
Prior art keywords
probability
output
calculation
soft output
truncation length
Prior art date
Application number
PCT/JP1999/002553
Other languages
English (en)
French (fr)
Inventor
Toshiyuki Miyauchi
Masayuki Hattori
Original Assignee
Sony Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corporation filed Critical Sony Corporation
Priority to KR1020007000889A priority Critical patent/KR100544555B1/ko
Priority to EP99919618A priority patent/EP1017178A4/en
Priority to JP2000551487A priority patent/JP4178752B2/ja
Publication of WO1999062183A1 publication Critical patent/WO1999062183A1/ja

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3972Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using sliding window techniques or parallel windows
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
    • H03M13/3911Correction factor, e.g. approximations of the exp(1+x) function
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
    • H03M13/3922Add-Compare-Select [ACS] operation in forward or backward recursions
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
    • H03M13/3927Log-Likelihood Ratio [LLR] computation by combination of forward and backward metrics into LLRs
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6566Implementations concerning memory access contentions

Definitions

  • the present invention relates to a soft-output decoding device and a soft-output decoding method for a convolutional code suitable for application to, for example, a satellite broadcast receiving device.
  • high-speed operation is possible by storing probability information in the storage medium for the length of the cutoff or more and updating the probability information within the cutoff length and calculating the soft output outside the cutoff length in parallel.
  • the present invention relates to a soft output decoding device and the like.
  • the BCJR algorithm is known as a decoding method that minimizes the symbol error rate after decoding convolutional codes (Bahl, Cocke, Jelinek and Raviv, Opt imal decoding of l inear codes ror minimiz in g symbo l error rate, IEEE Trans. Inf. Theory, vol. IT—20, pp. 284-287, Mar. 1974).
  • the BCJR algorithm instead of outputting each symbol as a decoding result, the likelihood of each symbol is output. Such output is called soft-output.
  • the BCJR algorithm outputs the likelihood of each symbol instead of outputting each symbol as a decoding result, and convolutionally encodes digital information using a convolutional encoder, and converts this convolutionally encoded data sequence into noise. This is an algorithm when observing through a certain memoryless communication channel.
  • the M states (transition states) representing the contents of the shift register of the convolutional encoder are represented by m (0, 1, ⁇ , MI1,), the time state is St, and the time state is t.
  • the input at is it and the output at time t is Xt, and the output sequence is X ' , Xt.,, ⁇ ' ⁇ , ⁇ .
  • the transition probability p t (m I m,) between each state is expressed by the following equation (1).
  • B ⁇ is A under the condition where B occurs. Is the conditional probability, and P r ⁇ A; B ⁇ represents the probability that A and B occur together.
  • a no-memory storage channel with noise takes output X as input and outputs output Y.
  • output sequence ⁇ ' Y t, Yt + ., ⁇ ⁇ ⁇ , Shall be the have Upsilon.
  • the transition probabilities of the no-memory channel with noise are all t (1 ⁇ t ⁇ r), it can be defined by a function R () that satisfies the following equation (2).
  • R () satisfies the following equation (2).
  • the BCJR algorithm defines probabilities a t ,, rt as shown in the following equations (4) to (6).
  • Figure 1 shows the relationship between the probabilities.
  • ⁇ t corresponds the received word and the input probability at time t in the receiving probability of the output of each branch transitions between states at time t calculated based.
  • the BCJR algorithm determines the soft output t by the following steps (a) to (c). (a) Each time Yt is received, t (m), yt (m,, m, ij) are calculated using equations (8) and (10).
  • the BJJR algorithm described above has a problem that the amount of calculation is large because it involves a product operation, and a problem that continuous data cannot be received because the code must be terminated.
  • SW—BCJR algorithm that performs sliding window processing has been proposed as a method for receiving continuous data (Benedett 0 and Montorsi, "Soft -output decoding algorithms in iterativ e decoding of turbo codes ", TDA progress Report 42-124, Feb,
  • Max—Log_B The CJR algorithm expresses the probabilities t , ⁇ t, ⁇ t, and At by the logarithm (natural logarithm) of base e, and calculates the product of probabilities as shown in equation (11). The logarithmic sum operation is replaced, and the probability sum operation is approximated by the logarithmic maximum value operation as shown in equation (12). Note that max (x, y) is a function that selects the larger value of x and y.
  • Max-Log-BCJR approximates these I t , I ⁇ t , and I ⁇ t as shown in the following equations (16) to (18).
  • max m 'of I t (m) and I? T (m) is obtained in the state m' where the transition to the state m exists at the input i.
  • I at (m) max max (I height i (m,) + I at (m ', m, i)
  • the Max-Log_BCJR algorithm determines the soft output person t by the following steps (a) to (c).
  • I t t (m) and I m t (m,, m, 1) are calculated using equations (16) and (18).
  • the Log-BCR algorithm replaces all the expressions (1 2) in the Max-Log-BCR algorithm with the formula (20) and calculates the exact probability.
  • the L 0 g-BCJR algorithm requires more computation than the Ma X -L o gB CJR algorithm, but does not include the product operation, and its output is the same as the BCJR algorithm except for the quantization error. It is nothing but the log value of the output itself.
  • the SW—BCJR algorithm assigns 1 / M to all states as the initial value of ⁇ , introduces a truncation length as in Viterbi decoding, and sets the time by the set truncation length D.
  • the soft output is calculated retroactively (see Fig. 2).
  • the paper by Benedetto et al. Mentioned above includes the SW-L0g-BCJR algorithm combining the SW-BCJR algorithm and the Log-BCJR algorithm, and the SW-BCJR algorithm and the Max-Log-BCJ algorithm.
  • the SW—Max—L 0 g—B CJR algorithm combining R algorithms (although the SWA L-B CJR algorithm in the paper) has also been proposed.
  • SW-Max-L0 gB CJR algorithm or the SW-Log-BCJR algorithm it is possible to receive continuous data and obtain a soft output.
  • these algorithms do not include the product operation because they need to obtain the number of states X 5 t for the truncation length when obtaining 1 decoded output.
  • implementation requires a very large amount of computation.
  • the SW—Max—L 0 g—BCJR algorithm or the SW—L 0 g—BCJR algorithm is convolutionally coded. Although it is possible to obtain the soft output by receiving the continuous data transmitted over the network, there is a problem that the amount of calculation for obtaining one code output is large and high-speed operation is difficult.
  • SW—Log—BCJR algorithm combining SW—BCJR algorithm and Log—BCJR algorithm, or SW—MaxL combining SW—BCJR algorithm and Max—Log—BOJR algorithm.
  • gB CJR algorithm also called the SWAL-MAP algorithm
  • an object of the present invention is to provide a soft-output decoding device and a soft-output decoding method for convolutional codes capable of high-speed operation.
  • Another object of the present invention is to provide a soft-output decoding device and a soft-output decoding method for a convolutional code capable of decoding a soft output with a simple configuration.
  • probability information at each transition state of a convolutional code is obtained, and when calculating and outputting a soft output using the above-mentioned probability information, the probability information is divided and stored in predetermined truncation length units. And the probability information within the truncation length And the calculation of the soft output outside the truncation length are executed in parallel.
  • the amount of calculation per clock and the amount of access to the memory can be reduced, and high-speed operation can be achieved. Becomes possible.
  • the present invention provides a probability calculation means for obtaining probability information in each transition state of a convolutional code, a probability storage means for storing the probability information obtained by the probability calculation means, and a probability storage means for storing the probability information.
  • a soft output decoding means for obtaining a soft output using the probability information.
  • a soft output decoding apparatus for a convolutional code wherein the probability storage means stores the probability information over a truncation length, and The updating of the probability information within the truncation length and the calculation of the soft output outside the truncation length by the soft output calculation means are performed in parallel.
  • the present invention provides a first step of obtaining probability information in each transition state of a convolutional code, and a second step of storing the probability information obtained in the first step in a storage medium for a length equal to or longer than a truncation length. And a third step of obtaining a soft output using the probability information stored in the storage medium in the second step.
  • a soft output decoding method for a convolutional code comprising: The update of the probability information within the length and the calculation of the soft output outside the truncation length in the third step are performed in parallel.
  • FIG. 1 is a diagram for explaining the contents of t, ⁇ t, and at in the BCJR algorithm.
  • FIG. 2 is a diagram for explaining the contents of the SW ⁇ BC J R algorithm.
  • FIG. 3 is a block diagram showing a communication model to which the present invention is applied.
  • FIG. 4 is a block diagram showing a configuration of a convolutional encoder in the above communication model.
  • FIG. 5 is a diagram showing a trellis of the convolutional encoder.
  • FIG. 6 is a process diagram showing the configuration of the decoder in the communication model.
  • FIG. 7 is a diagram for explaining the procedure of soft output calculation in the communication model.
  • FIG. 8 is a block diagram showing a configuration of an Iy calculation storage circuit in the decoder.
  • FIG. 9 is a time chart for explaining the operation of the RAM and the like constituting the above-mentioned Ia calculation storage circuit.
  • FIG. 10 is a block diagram showing a configuration of an I-line calculation storage circuit in the decoder.
  • FIG. 11 is a block diagram showing the configuration of the I-parameter calculation circuit in the I-parameter calculation storage circuit.
  • FIG. 12 is a block diagram showing the configuration of the addition / comparison / selection circuit in the above-mentioned I-line calculation circuit.
  • FIG. 13 is a time chart for explaining the operation of the register, RAM, and the like that constitute the above-mentioned I calculation storage circuit.
  • FIG. 14 is a block diagram showing a configuration of the I ⁇ calculation storage circuit.
  • ⁇ FIG. 15 is a block diagram showing a configuration of a 1/5 calculation circuit in the 1? Calculation storage circuit.
  • FIG. 16 is a block diagram showing the configuration of the addition / comparison / selection circuit in the I calculation circuit.
  • FIG. 17 is a time chart for explaining the operation of the register and the like constituting the above-mentioned 1-calculation storage circuit.
  • FIG. 18 is a block diagram showing a configuration of a soft output calculation circuit in the decoder.
  • FIG. 3 is a block diagram illustrating a configuration of a calculation circuit.
  • FIG. 3 is a block diagram illustrating a configuration of a calculation circuit.
  • FIG. 21 is a time chart for explaining the operation of the soft output calculation circuit.
  • FIG. 22A, FIG. 22B, FIG. 22C, and FIG. 22D are diagrams for explaining the contents of the memory management in the above-mentioned Ia calculation storage circuit.
  • FIG. 23 is a timing chart of the above memory management.
  • FIG. 24 is a block diagram showing a configuration of an addition / comparison / selection circuit corresponding to the SW-Log-B CJR algorithm.
  • FIG. 25 is a block diagram showing another example of the configuration of the Ia calculation storage circuit in the decoder.
  • FIG. 26 is a time chart for explaining the operation of the Ia calculation storage circuit.
  • FIG. 27 is a block diagram showing another configuration example of the I? Calculation storage circuit in the decoder.
  • FIG. 28 is a time chart for explaining the operation of the I5 calculation storage circuit.
  • the present invention is applied to, for example, a communication model 1 having a configuration as shown in FIG.
  • digital information D0 is convolutionally encoded by a convolutional encoder 2
  • this convolutionally encoded data sequence is supplied to a decoder 4 via a no-memory storage channel 3 with noise. From 4, the soft output of the convolutionally encoded data sequence is decoded.
  • the convolutional encoder 2 in this communication model 1 is a 1: 2 encoder that outputs 2 bits for 1-bit input. As shown in FIG. 4, the convolutional encoder 2 has an input terminal 21 to which a 1-bit input it is input, and output terminals 22a and 22b to which a 2-bit output Xt is output. It consists of three exclusive OR circuits (hereinafter referred to as " ⁇ 0 R circuit") 23 to 25 and two resist circuits 26 and 27.
  • ⁇ 0 R circuit exclusive OR circuits
  • the input terminal 21 is connected to the output terminal 22 a and to the input side of the OR circuit 23.
  • the output side of the EXOR circuit 23 is connected to the input side of the Connected to 24 inputs.
  • EX ⁇ The output side of the ⁇ R circuit 24 is connected to the output terminal 22b.
  • the output of the resistor 26 is connected to the input of the resistor 27 and also to the input of the EXOR circuit 25.
  • the output side of the register 27 is connected to the input side of the EX-OR circuit 24 and to the input side of the EX-OR circuit 25.
  • the output side of the EX OR circuit 25 is connected to the input side of the EX OR circuit 23.
  • the one-bit input it supplied to the input terminal 21 is output from the output terminal 22a as it is and is input to the EXOR circuit 23.
  • the EX / ⁇ R circuit 23 supplies an exclusive OR output of the input it and the output of the EX.OR circuit 24 to the EX / OR circuit 25 via the register 26 and the registers 26 and 27.
  • the exclusive OR output of the EX / OR circuit 24 is fed back.
  • the EX OR circuit 23 outputs the exclusive OR output of the input it and the exclusive OR output of the EX OR circuit 25 directly and via the registers 26 and 27 to the EX OR circuit 25.
  • the EXOR circuit 25 outputs the exclusive OR output of the exclusive OR output of the EXOR circuit 23 and the output of the register 27 as another one bit from the output terminal 22b. I do.
  • the convolutional encoder 2 is configured as described above, the input i t of 1 bit Bok an input pin 2 1 is input, an output terminal 22 a, 2 2 b than 2 bits Bok the output sequence and it outputs the X t.
  • FIG. 5 shows the trellis of the convolutional encoder 2 described above, and the number of states M is four.
  • the decoder 4 in the communication model 1 uses SW—Max—L o It is a decoder based on the gB CJR algorithm, and is a decoder corresponding to the convolutional encoder 2 with a constraint length of 3 shown in FIG.
  • the decoder 4 does not calculate 1/3 t of the number of states X the truncation length in order to perform decoding for one time. That is, the decoder 4, as shown in FIG. 7, after calculating (shown in? T ⁇ / 5 t) of the state number X truncation length fraction I?, I abort length outside followed by? (? T ⁇ While calculating the soft output outside the truncation length while calculating ( ⁇ t - 2D + 1 ), I / 5 is calculated sequentially for the next truncation length. As described above, the decoder 4 performs in parallel the calculation of the key within the truncation length and the calculation of I? That goes back beyond the truncation length, and the calculation of I per clock is performed by the number of states X It becomes 2.
  • the Ia calculation storage circuit 43 is supplied with the control signal SC from the controller 41 and receives the received value Y T from the input terminals 4 2 y, 42 p, and 42 p 2 , and the prior probability information ⁇ ⁇ , P r are supplied.
  • the Ia calculation storage circuit 43 stores the received value Y T , the prior probability information ⁇ ,, P r 2, and calculates and stores the I key in accordance with the equation (18) for each received value Yt, and then stores the I key in the I calculation storage circuit 44, the I? Calculation storage circuit 45, and the soft output calculation circuit 46. Supply the keys in the order appropriate for each process.
  • the Ia calculation storage circuit 43 functions as first calculation means for calculating a first probability ⁇ determined by the code pattern and the received value for each received value Yt.
  • the Ia supplied from the Ia calculation storage circuit 43 to the I calculation storage circuit 44 is referred to as Ia, and the Ia supplied from the Ia calculation storage circuit 43 to the I? Ia (3,), I ⁇ (/ 3 2 ), and Ia supplied from the Ia calculation storage circuit 43 to the soft output calculation circuit 46 is Ia (person).
  • the I signal calculation storage circuit 44 is supplied with a controller signal SC from the controller 41 and an I key (I) from the I key calculation storage circuit 43.
  • the I-parameter calculation storage circuit 44 calculates and stores the I-parameter according to the equation (16) using the I-parameter, and then outputs the I-parameter to the soft-output calculator 46 in an order suitable for the processing. Supply the light.
  • the I-arithmetic storage circuit 44 calculates a second probability I from the encoding start state to each state in chronological order for each received value Yt based on the first probability Ir. It functions as the calculation means of 2. It should be noted that the I-supply supplied from the I-supply calculation storage circuit 44 to the soft-output calculation circuit 46 is I (person).
  • the Ia supplied to the I calculation and storage circuit 44 is defined as Ia.
  • the controller signal SC? Is supplied from the controller 41 to the I3 calculation storage circuit 45, and Ia (5,) and Ia (? 2 ) are supplied from the Iy calculation storage circuit 43. You. Between Ia and Ia (? 2 ), there is a time shift of the truncation length X2.
  • I Calculation storage circuit 45 Using IT ⁇ ?,), Ia (? 2 ), two I's are calculated and stored in parallel according to equation (17), and one of them, I / 5, is a soft output calculation circuit. Supply 46 in the order appropriate for the process. Based on the first probability I key, the I?
  • Calculation storage circuit 45 generates, for each received value Y t, a third probability I 5 from the truncated state to each state in the reverse order of the time series. This constitutes a third calculating means for calculating.
  • 1? Supplied from the 1? Calculation storage circuit 45 to the soft output calculation circuit 46 is set to 15 (person).
  • C The soft output calculation circuit 46 has an Ia (person) from the Ia calculation storage circuit 43. Is supplied from the I / I calculation storage circuit 44, and I / 5 (E) is supplied from the 15 storage calculation circuit 45.
  • This soft output calculation circuit 46 calculates I person t according to equation (19) using Ia (e), Ihi (person), 1? (E), and arranges them in chronological order. Replace and output.
  • FIG. 8 shows the configuration of the Ia calculation storage circuit 43. ing.
  • the Ia calculation storage circuit 43 has a human input terminal 30 1 Y, 301 P,, 30 1 P 2 to which the received value Yt, the prior probability information ⁇ ,, Pr 2 , and the control signal SCr are respectively input. , 30 1 S, and the received value Y t supplied to the input terminal 30 1 Y as a read address signal, and the probability IR (Y t
  • I ⁇ calculation storage circuit 43 the probability IR (Y t I 0 0) output from the ROM 302 a, 302 b, with respect to IR (Yt I 0 1), is supplied input terminal 30 IP, in Prior probability information P r, Then, adders 303a and 303b for obtaining the probabilities Ia [00] and Ia [01] of each branch corresponding to the outputs [00] and [01] on the trellis, and ROM 302 c, 302 probability output from d IR (Yt
  • the total number of bits of [00] to Ia [11] is the number of bits X2n in a systematic convolutional code with a coding rate of k / n.
  • each of the probabilities Ia [00] to 1a [11] is set to 4 bits, and the probabilities Ia [00], 1a [01], Ia [01] 10], Ia [11] are output as a whole in 16 bits.
  • the Ia calculation storage circuit 43 sequentially stores the probabilities Iy [00] to 1a [1 1] output from the adders 303a to 303d in accordance with the control signal SCa, in a predetermined order.
  • RAM (random access memory) 304a to 304d output from the RAM 30a to 304d and Ia output from the RAMs 30a to 304d are selectively extracted according to the control signal SCa. (? '), 1a (? 2 ), Ia ( ⁇ ) selection circuit 308, and outputs these Ia (hi), 1a (?)), Ia (5, Ia (person) Output terminals 309a to 309d.
  • the probability IR (Yt I 00), IR (Yt I 0 1), IR (Yt I 0 1) of the received value Yt for each state m from the ROM 302 a to 302 d for each received value Yt (Yt I 10), IR (Y t 1 1 1) is output, and the adders 3 0 3 a to 3 0 3 d output each of the branches corresponding to the outputs [0 0], [0 1], [10], and [11] on the trellis.
  • the probabilities I a [0 0], I a [0 1], I y [10], and I a [11] are obtained.
  • FIG. 9 is a timing chart showing management of the RAMs 304a to 304d.
  • the four RAMs 304a to 304d are the following, the cutoff length D, the output data of the adder 303a to 303d Ia [00] to: [a [1 1] is operated by a bank configuration having a storage capacity of 16 bits ⁇ 4 words so that probabilities I a [0 0] to: [a [1 1] are sequentially and cyclically stored.
  • the probabilities Ia [00] to 1a [11] are read out with a delay of a period corresponding to twice the length 2D of the cutoff length D.
  • the probabilities I a [0 0] to I a [1 1] are extracted as the probabilities I a (h) to be supplied to the I calculation and storage circuit 44 (FIG. 9).
  • the probabilities Ia [0 0] to Ia [1 1] are written to the RAMs 304a and 304b, the probabilities Iy [0 0 ]; Reading [a [1 1] and writing the probability Ia [0 0] to 1a [1 1] with a length of 2D into RAM 304C, 304d Immediately after that, the probabilities Ia [0 0] to Ia [11] are read alternately in reverse to the writing order. From the selection circuit 308, The obtained probabilities Ia [00] to Ia [11] are extracted as probabilities Ia to be supplied to the I calculation storage circuit 45 (C in FIG. 9).
  • the probabilities Ia are opposite to the writing order. [00] to Ia [11] are read. From the selection circuit 308, these probabilities I 00 [00] to I y [11] are extracted as probabilities I to be supplied to the soft output calculation circuit 46 (E in FIG. 9).
  • FIG. 10 shows the configuration of the I calculation storage circuit 44.
  • the I-parameter calculation and storage circuit 44 includes input terminals 401 and 402 to which the control signal SCa is input and a probability Ia (hi) supplied to the input terminal 401, respectively.
  • the I-time calculation circuit 403 which calculates the I-time according to the equation (16) using the I-time immediately before the time set in the evening 405, and the I-time output from the I-time calculation circuit 403 And a selector 404 for selecting any one of the values I and 0 and setting it in the register 405.
  • Initial value only at the time of conversion. Is selected. At other times, the output data of the I-calculation circuit 403 is selected. The initialization is performed one time before the output of the probability Ia (h) from the Ia calculation storage circuit 43 is started.
  • FIG. 11 shows the configuration of the I-calculation circuit 403.
  • This I calculation circuit 403 includes four addition / comparison / selection circuits 411a to 411d.
  • the larger of the two addition results obtained by adding the I and I keys is selected, and the value of I in each state at the next time is obtained.
  • the addition / comparison / selection circuits 411a to 4111d are commonly configured.
  • the addition / comparison / selection circuit 4 1 1a will be described.
  • I ⁇ t [00] branches of the probability by broken lines leading to state 0) in t 0) (3 shed and I, the probability of reaching the scan Tate 0 of the immediately preceding time) in an adder 42
  • I Is added I ⁇ t
  • [1 1] (in FIG. 5, the solid lines probability of the branch by reaching the stearyl Ichiboku 0) t 2 ⁇ beauty I shed) (5, adds probability to the immediately preceding time of the state 2) of the adder 422 Is done. Then, the addition result of the adder 42 1, 422 are compared in comparator circuit 423, the larger of the sum of the selector 424 in the adder 42 1, 422 is taken as the probability I shed t (0). Although the description is omitted, the same applies to the addition / comparison / selection circuit 41 lb to 411 d.
  • the I-parameter calculation storage circuit 44 sequentially stores the probabilities I (0) to I (3) output from the register 405 in accordance with the control signal SC, RAMs 406 and 407 which output in a predetermined order; I circuits output from the RAMs 406 and 407; and a selection circuit 408 which selectively takes out I lines (persons) in accordance with a control signal SC, and And an output terminal 409 for outputting I ⁇ (e).
  • number of bits of the probability I shed t outputted from the I shed calculation circuit 403 (0) ⁇ I shed t (3) is a 8-bit to I Hino number bits And 32 bits. In the RAMs 406 and 407, recording is performed using the 32 bits as one word.
  • the initialization is performed immediately before the output of the probability 1 ⁇ (h) (see FIG. 9B and FIG. 13A) is started from the I-calculation storage circuit 43. Is performed. In the initialization, the initial value I is selected by the selector 404, and the initial value I is selected by the register 405. (I hi.
  • [00] ⁇ ; [11]) is set (B in Fig. 13). Then, from the following clock cycle, in the I calculation circuit 403, the probability Ia (h) supplied from the Ia calculation storage circuit 43 and the probability Ih t ⁇ i output from the register 405, is 1 ratio t is calculated sequentially the next time (B in FIG. 13), the I ratio t is stored again in register evening 405.
  • C and D in FIG. 10 indicate the management of the RAMs 406 and 407.
  • Each of the two RAMs 406 and 407 stores 32 bits X 4 words so as to store the cutoff length D and the output data of the register 405, that is, the probabilities I ⁇ (0) to ⁇ HI (3). It operates in a bank configuration with storage capacity, and stores probabilities I (0) to I (3) sequentially and cyclically (C in Fig. 13).
  • the probabilities I (0) to I (3) are read from the RAM 406 immediately after writing the probabilities I (0) to; Immediately after the probabilities I (0) to I (3) for the truncation length D have been written to the RAM 407, the probabilities I (0) to 1 (3) are read in reverse to the order of writing. Are alternately performed. Selection times From the path 408, the read probabilities I (0) to I (3) are extracted as the probabilities I (e) to be supplied to the soft output calculation circuit 46 (D in FIG. 13).
  • FIG. 14 shows the configuration of the I? Calculation storage circuit 45.
  • the I calculation and storage circuit 45 includes input terminals 501, 502, and 503 to which the probabilities I and I ((?, Control signal SC?) Are respectively input, and probabilities I and ( Using the? And the probability I3 set in the register 506, the I calculation circuit 504 that calculates I? According to the equation (17), and the I5 output from the I? And a selector 505 for selecting any one of the values I ⁇ a and setting the selected value in the register 506.
  • the initial value Ia is selected only at the time of initialization based on the control signal SC ?, and at other times, the output data of the I? Calculation circuit 504 is selected.
  • the initialization is performed by the Ia calculation storage circuit 43 immediately before the start of the output of the probability Ia (?), And thereafter is performed at intervals of 2D (D is the truncation length).
  • FIG. 15 shows the configuration of the I? Calculation circuit 504.
  • the 15 calculation circuit 504 is configured to include four addition / comparison / selection circuits 511a to 511d.
  • the larger of the two addition results obtained by adding I? And Ia is selected, and I? In each state at the previous time is obtained.
  • the ACS circuit 5 1 1 a I ⁇ t [00], with I ⁇ t [l 1] is supplied, l? T (0), I? T (1) is supplied, stearyl one G, 0 probability I? ⁇ 0) is calculated.
  • I ⁇ t [l 0] along with I ⁇ t [0 1] is supplied, I 5 t (2), I? T (3) is supplied, the state The probability I? T —, (1) of 1 is calculated.
  • the ACS circuit 5 1 1 c, I ⁇ t [l 1], with I ⁇ t [0 0] is supplied, I 5 t (0), I? T (1) is supplied, the stay The probability 1 ⁇ (2) of the unit 2 is calculated. Further, the ACS circuit 5 1 1 d, I ⁇ t [0 1], with I ⁇ t [1 0] is supplied, I? T (2), 1/3, (3) the supply Then, the probability I? T , (3) of the state 3 is calculated.
  • Each of the addition / comparison / selection circuits 5 11 a to 5 11 d is configured in common as shown in FIG.
  • the addition / comparison / selection circuit 511a will be described.
  • ly t [00] probability of a dashed line leading to state 0 in Fig. 3
  • I? t (0) probability of going back to state 0 in the time axis from the end of the truncation length in Fig. 5
  • Is added by the adder 5 2 1.
  • probability of the branch by pos- sibly solid line in state 0 I ⁇ t [ll] and I?
  • T (1) (5, stearyl Ichito 1 back in time axis from the end point of the terminating length Is added by the adder 522.
  • the addition results of the adders 52 1 and 52 2 are compared.
  • the comparison is performed by the circuit 523.
  • the selector 524 the larger one of the addition results of the adders 52 1 and 522 is taken out as the probability I? T -'(0).
  • ⁇ Description is omitted, but the addition and comparison selection circuit 5 1 1b The same applies to ⁇ 5 11 d.
  • the I? Calculation storage circuit 45 uses the probability I? (? 2 ) supplied to the input terminal 502 and the probability I set in the register 509 to obtain (17) An I? Calculation circuit 507 that calculates I3 in accordance with the formula, and a selector 508 that selects either I5 or the initial value I / 5b output from the I? Calculation circuit 507 and sets it in the register 509. have.
  • the selector 508 selects the initial value I? B only at the time of initialization based on the control signal SC ?, and selects the output data of the I? Calculation circuit 507 at other times.
  • the initialization is performed immediately before the output of the probability Ia (? 2 ) from the Ia calculation storage circuit 43 is started, and thereafter, the initialization is performed at intervals of 2D (D is the truncation length).
  • the initial value I? B, c are set similarly to the initial value I? A described above should be noted that detailed description is omitted, 1? Computation circuit 507, I 5 calculation circuit 504 (Fig described above 15 and FIG. 16) c.
  • the I calculation storage circuit 45 calculates the probabilities 1? (0) to 1?
  • the Ia calculation storage circuit 43 uses the Ia calculation storage circuit 43 at the time immediately before the output of the probability Ia (? T ) (see FIG. 9 and (FIG. 17A)) and thereafter.
  • the initialization of the register 506 is performed at every 2D cycle.In this initialization, the initial value I5a is selected by the selector 505, and the initial value I? A is set in the register 506. From the clock cycle, the 1/5 calculation circuit 504 sequentially calculates I? ⁇ at the previous time from the probability I supplied from the Ia calculation storage circuit 43 and the I? T output from the register 506.
  • the calculated values are stored in the register 506 again, and become the output at the time of the next step (C in FIG. 17) .
  • each time t l , 2, 3,... ',
  • the probabilities I / 5 (0) to I? (3) are denoted by 5,, 0, / 3,,.
  • the register register 509 is set. Is initialized. In this initialization, the initial value I (3b is selected by the selector 508, and the initial value Ib is set in the register 509. From the subsequent clock cycle, the I? From the probability Ia (/?) Supplied from the Ia calculation storage circuit 43 and the I? T output from the register 509, 1 t-i at the previous time is sequentially calculated, and the 1? The data is stored in the register 509 and becomes the output at the next clock time (D in Fig. 17), and the selection circuit 510 sets the output of the registers 506 and 509 as shown in Fig. 17E. The output is selectively extracted, and the probability I? (E) to be supplied to the soft output calculation circuit 46 is obtained.
  • FIG. 18 shows the configuration of the soft output calculation circuit 46.
  • This soft output The calculation circuit 46 includes input terminals 60 1, 602, and 603 to which the probabilities I (person), I / 3 ( ⁇ ), and Ia (person) are input, respectively, and these probabilities I (input): Using 1/3 ( ⁇ ), Ia (person), the first and second terms on the right side of equation (19) are calculated, respectively.
  • LIF 0 Last-in first-out
  • FIG. 19 shows the configuration of the person I> calculation circuit 604.
  • the I ⁇ , calculation circuit 604 includes four adders 604 a to 604 d and a maximum value selection circuit 604 e.
  • the signals are distributed to the adders 604a to 604d based on the state transition on the trellis as follows. That is, the adder 604a is supplied with Ihi t (0), I? T (1), and I7t [1 1], and the adder 604b receives Ihi,-. (1), I ?
  • I hii 2 I ⁇ t [1 0] is supplied, I hii 2) to the adder 604 c, I 5t (0) , I ⁇ t [1 1] is supplied, further adder 6 04 to d I hii, (3), I 5t ( 3), I ⁇ t [1 0] is supplied.
  • the I person 0 calculation circuit 605 includes four adders 605a to 605d and a maximum value selection circuit 605e. Based on the state transition on the trellis, the signals It is distributed as follows. That is, the adder 605 to a I shed t -? I (0), I t (0), is supplied I ⁇ t [00], I hii to the adder 60 5 b - (1), I?
  • the probabilities I (person), I 3 ( ⁇ ), and I a (person) are supplied to the input terminals 60 1, 602: 603, respectively (A in FIG. 21). , ⁇ , C). And for each clock cycle, I people!
  • the first term on the right side of the equation (19) is calculated to obtain I input and, and I person.
  • the second term on the right side of the equation (19) is calculated to obtain I person c, and the subtracter 606 outputs I t at each time t (D in FIG. 21).
  • I lambda t sequentially output Ri good subtractor 606 LIF 0 is supplied to the memory 607 sorting is performed, the LI FO soft-output sorted in chronological order from the memory 607 I human t is output You.
  • Figures 22 ⁇ , 22 22, 22C, and 22D show the storage contents and output of RAMs 304a to 304d, registers 405, RAMs 406 and 407, and registers 506 and 509 in chronological order.
  • memory management Is shown.
  • the mark “ ⁇ ” means writing to the designated address
  • the “individual” means reading from the designated address.
  • Fig. 22 ⁇ , Fig. 22 ⁇ , Fig. 22C, Fig. 22D for example, at t2 13, the following operations (1) to (6) are performed simultaneously.
  • the calculation of I 5 within the truncation length (calculation by the I calculation circuit 507 in FIG. 14) and the calculation of I going back more than the truncation length (I calculation circuit in FIG. 14) 504) in parallel, and the calculation of I per clock is the number of states x 2.
  • the amount of calculation can be significantly reduced as compared with the conventional SW—Max—Log—BJR algorithm.
  • only one access to each memory per clock is required. Therefore, according to the present embodiment, the decoding operation of the convolutional code can be performed at high speed.
  • SW-Log-BCJR it is also possible to implement the SW-Log-BCJR algorithm by incorporating the correction shown in equation (20) into the calculation circuits shown in Fig. 11, Fig. 15, Fig. 19, and Fig. 20. .
  • SW- LOG- as c example for explaining a case of obtaining a soft output IA t based on BCJR algorithm, explaining the case of incorporating the correction shown in (20) in the circuit of Figure 1 1.
  • each of the addition / comparison / selection circuits 4 11 a to 4 11 d is replaced with the configuration shown in FIG. 24 from the configuration shown in FIG. There is a need. 24, parts corresponding to those in FIG. 9 are denoted by the same reference numerals.
  • the addition / comparison / selection circuit 4 1 1a will be described. I ⁇ t [00] and I minus (0) is added by the adder 421. Also, I ⁇ t [l 1] ⁇ beauty I hii, (2) is added in the adder 422. Then, the subtraction unit 426 subtracts the addition results x and y of the adders 421 and 422 by the subtractor 426, and supplies the subtraction result (X ⁇ y) to the positive / negative determination circuit 427.
  • the positive / negative judgment circuit 427 outputs a signal of “1” when the subtraction result (X ⁇ y) is 0 or more, and outputs a signal of “0” when the subtraction result is smaller than 0.
  • the output signal of the positive / negative determination circuit 427 is supplied to the selector 424 as a selection signal SEL. Then, the selector 424 takes out the addition result X of the addition 42 1 when the selection signal SE is a signal of “1”, and the addition result y of the addition 422 when the selection signal SE is a signal of “0”. Is taken out. As a result, the selector 424 selectively takes out the larger one of the addition results x and y of the adders 421 and 422, and performs the operation corresponding to the first term on the right side of Expression (20). Will be done.
  • the subtraction result (X ⁇ y) of the subtractor 426 is supplied to the absolute value calculation circuit 428, and the absolute value IX ⁇ yI is calculated. Then, the absolute value IX—yI is supplied to the ROM 429 constituting the table as a read address signal. From the ROM 429, the equation (20) expresses the second term on the right side as log (1 + e ⁇
  • the constraint length and the cutoff length are not limited to these values, and may be any values.
  • the RAMs 304a to 304d can be replaced with two dual-port RAMs.
  • Various modifications can be made to the configuration of the RAM, such as replacing the RAMs 406 and 407 with one dual-port RAM.
  • the delay period of the probability information is not limited to the length 2 D twice as long as the truncation length D, and may be any length as long as the truncation length D or more.
  • the RAM 304e is added to the I calculation storage circuit 43 shown in FIG. It may be delayed by a period corresponding to the double length 3D.
  • I 7 [1 1] are sequentially stored in RAMs 304a to 304e.
  • the selection circuit 308 outputs the probabilities 1 [00] to I [1 1] that are output with a delay as described above as the probabilities I ⁇ ( ⁇ ) for the I ⁇ calculation storage circuit 13 (FIG. 26). B, C).
  • the RAMs 304 a to 304 e and the selection circuit 308 divide the probabilities I ⁇ [00] to I ⁇ [11] in units of the truncation length D, and the truncation length in the time axis direction from the end of each truncation length D The reference time is set when D has elapsed.
  • the probabilities I ⁇ [00:] to I 7 [11] corresponding to twice the truncation length D up to each reference time are accumulated, These probabilities I ⁇ [00] to ⁇ y [l 1] are output in the reverse order of the input order. This allows RAM 304a ⁇
  • the selection circuit 308 output the probabilities I ⁇ [00] to ⁇ ⁇ [1 1] as the first probability I ⁇ (] 3 for the I i3 calculation storage circuit 45.
  • the RAMs 304 a to 304 e and the selection circuit 308 have a probability I ⁇ (e) for the soft output calculation circuit 46,
  • the probabilities Ia [00] to 1a [11] held at timings delayed by a predetermined time in the order with respect to the storage circuit 44 are output.
  • the Ia calculation storage circuit 43 outputs the first probability Ia in an order corresponding to the processing of the I calculation calculation storage circuit 44, the 1-calculation storage circuit 45, and the soft output calculation circuit 46.
  • the 1? Calculation storage circuit 45 sets the probability 5 t —, (0) to ⁇ —! (3) calculated by the 1? Calculation circuits 504 and 507 to the selection circuit 5 10 as shown in FIG. Supplied via R AM5 13, 514.
  • the probabilities /? T (0) to? / ( T ) which are advanced by one clock cycle inputted from the I / 5 calculation circuits 504 and 507 and the registers 506 and 509, respectively? and t and (3) as a reference, the probability dates back to the stays Bok first probability I ⁇ ( ⁇ ) and the second reception value from the probability I ⁇ (5 2) Yt output from the I ⁇ calculation storage circuit 43 /? I> (0) ⁇ /? 3) is calculated.
  • the selectors 505, 508 are controlled by the control signal SC?, Respectively, by one? t (3) or the initial values Ia and I? b are selectively output to the registers 506 and 509.
  • the initial values I? A and I? B are usually given the same value for all states, for example, 0 or log 1 / M (lo 1/4 in this example), as described above.
  • log 0 (210) is given as the value in the other states.
  • the selectors 505 and 508, as shown in FIG. In response to the repetition of the first probability Ia and the second probability Ia (52), going back in time series in units of 2
  • the initial values I 3a and I? B are registered at the timing one clock cycle before the repetition of I lower (/ 3 and the second probability I key (/? 2 ) in units of this length 2D)
  • Selectively output to 506 and 509 At other timings, the probability of leading by one clock cycle output from 1/5 calculation circuits 504 and 507 /? t (0) to 5t (3) are selected and output.
  • RAM5 13, 5 14 only each truncation length minute probability / t (0) ⁇ ⁇ t -?.! Made form by the bank configuration having a capacity capable of storing 3), only truncation length minute in this way Probability of being displaced and obtained in units of twice the truncation length D 5 t —! (0) ⁇ ? From t -3) (B ⁇ D in Fig. 28), the probabilities obtained in the second half of the truncation length? ⁇ (0) ⁇ ? I and (3) are sequentially and cyclically input.
  • the RAMs 5 13 and 5 14 have two system probabilities calculated from the initial values I? A and I 5b. ⁇ 3) Selectively capture more reliable parts.
  • the I5 calculation storage circuit 45 processes the first probability I ⁇ at the same time and in parallel by a plurality of sequences within the range of the truncation length corresponding to at least the reference time set for the first probability I ⁇ .
  • the third probability I? Is calculated from the plurality of sequences, and the probability I5 of the truncation length is selected and output from the probabilities I of the plurality of sequences.
  • these reference points are set to the end points of the cutoff length following each cutoff length.
  • the selection circuit 510 calculates the probability that the data is output alternately from the RAM 5135 in a unit of the truncation length D in this order, i.e., (0) to 5t-! (3). Output to soft output calculation circuit 15.
  • the input it is convolution is processed convolutional encoding by ⁇ 3 contracture at the encoder 2, wherein the number of states m is converted into the output sequence X t 4, the output sequence Xt is memoryless channel Input to decoder 4 via 3.
  • this decoder 4 an input signal is received value Y t is detected by the analog-digital conversion, the received value Y t is input to the I ⁇ calculation storage circuit 43.
  • received value Y t is a table of R OM 30 2 a ⁇ 3 0 2 d corresponding to each state
  • the probability of the received value Yt is computed for each stearyl one Bok ((1 6) of the first term on the right side)
  • the adder 303 a ⁇ 3 03 d initial value log P r ⁇ i t 0 ⁇
  • the summed with log P r ⁇ i t 1 ⁇ , time thereby
  • the first probability Ia corresponding to each state m is calculated sequentially by the sequence (A in Fig. 26).
  • the first probabilities I calculated in this way are sequentially stored in the RAMs 304a to 304e of the bank configuration formed in units of the truncation length D, and correspond to three times the truncation length D. After a delay by a period, the data is output to the calculation and storage circuit 43 in chronological order (C in FIG. 26). As a result, the first probability Ia (h) is output to the Ih calculation / storage circuit 43 in an order and timing suitable for the processing in the hh calculation / storage circuit 43.
  • the first probability I is divided into units of the censoring length D, and each reference time is set when a time corresponding to the censoring length D has elapsed further than the respective censoring length D. 04 a ⁇ 30
  • they are output to the I-calculation storage circuit 45 in the order of tracing the time axis from each reference point (D to G in Fig. 26).
  • the first probability Ir is determined by the time the output from the censoring length of 1 to the corresponding reference point has not been completed.
  • the output from the following 1 censoring length to the corresponding reference time is started, so that the contents of the 1 censoring length and the two systems that have been shifted or shifted in the evening can be used to calculate I?
  • the signal is output to the circuit 45 (D to G in FIG. 26).
  • two systems of second probabilities I a and I 7 (5 2 ) are output to the I ⁇ calculation storage circuit 45 according to the order and timing suitable for the processing in the / ⁇ calculation storage circuit 45. .
  • the first probability I is delayed by a predetermined period, and in an order suitable for the processing in the soft-output calculation circuit 46 in chronological order. Output to the soft output calculation circuit 46 at the timing.
  • the I probability calculation storage circuit 44 calculates a second probability (in) from the first probability I a to each state in the direction along the time axis for each received value, and outputs the soft output calculation circuit.
  • the output is output to the soft output calculation circuit 46 in the order and timing suitable for the processing in 46.
  • the probabilities Ia and Ia (? 2 ) of the two systems input in the order of going back in the time axis are 15 calculation circuits 504 and 507, respectively.
  • the probabilities calculated sequentially in this way are the selectors 5 0 5 and 5
  • the initial values I 3 a and I? B are selectively fed back to the I calculation circuits 504 and 507 by means of 0 8, so that the probabilities in the direction going back in the time axis from the reference point described above can be simultaneously and in parallel. It is calculated (A, B, D, E in Figure 28).
  • the probabilities of the two systems calculated in this way are selectively stored and output as the probabilities of the truncation length with sufficient reliability far from the reference point.
  • these probabilities I? (Person) are rearranged in the order along the time axis opposite to the storage time, and the soft output Output to the calculation circuit 46.
  • the third probability I (e) is also output in the order corresponding to the processing of the soft output calculation circuit 46 along the time series.
  • the soft output calculation circuit 46 does not rearrange the input probabilities I (person), 1? (Person) and Ia (e), and also calculates the calculated soft output I Processing can be performed without rearranging persons, and a soft output can be obtained with a simple configuration.
  • the third probability I? Can be calculated by calculating the number of X states of the two systems.
  • the overall configuration is simplified.
  • the probabilities I (person), 13 (person), and Ia (e) input to the soft output calculation circuit 46 in this manner are added for each corresponding state, and the maximum values of these are calculated respectively.
  • the subtracter 6 06 soft output I at obtained by the subtraction by is output in chronological order corresponding to the received value Y t.
  • the first probability I is divided by the cutoff length D and the corresponding The quasi-time is set, and the probabilities of the truncation length from each reference time are set as a unit, and the data is output and processed by multiple systems in the order traversing the time axis.
  • the two system X state number is calculated.
  • the soft output of each symbol can be obtained.
  • the soft output calculation circuit can calculate the soft output I without rearranging the input probabilities Ia, I, I or the calculated soft output I.
  • a soft output can be decoded with a simple configuration.
  • the reference time is set in units of the truncation length.
  • the present invention is not limited to this, and the reference time may be set at various positions as necessary. Can be.
  • the reference time set in this way makes the length from the reference time of 1 to the corresponding truncation length longer than in the above-described embodiment, the first probability I a is increased by that much. It is necessary to output by the system and to process in the I calculation storage circuit by the system corresponding to the probability I output in this way.
  • SW—Max—Log—B 0 The case where the soft output is calculated by the JR algorithm has been described, but the present invention is not limited to this, and is widely applied to the case where the soft output is calculated by various soft output decoding algorithms such as the SW-Log-BCJR algorithm. Can be.
  • the probability information is stored in excess of the cutoff length D, and the update of the probability information in the cutoff length D and the calculation of the soft output outside the cutoff length are performed in parallel. Therefore, the amount of calculation per clock and the amount of access to each memory can be greatly reduced, and the decoding operation of the convolutional code can be performed at high speed.
  • the soft output is calculated by calculating the probability of reaching each state in the direction going back in the time axis in units of the range longer than the truncation length and processing it, and then calculating the soft output. By outputting in an order suitable for the subsequent calculation processing, it is possible to obtain a soft output decoding device and a soft output decoding method capable of decoding a soft output with a simple configuration.

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)

Description

畳み込み符号の軟出力復号装置及び軟出力復号方法
技 術 分 野 書
この発明は、 例えば、 例えば衛星放送受信装置等に適用して好適 な畳み込み符号の軟出力復号装置及び軟出力復号方法に関する。 詳 しくは、 記憶媒体に確率情報を打切り長以上記憶し、 打切り長内の 確率情報の更新と、 打切り長外の軟出力の計算とを並列的に実行す ることによって、 高速動作が可能となる軟出力復号装置等に係るも のである。
背 景 技 術
畳み込み符号の復号後のシンボル誤り率を最小にする復号法とし て、 B C J Rアルゴリズムが知られている (Bahl , Cocke, Je l inek and Raviv, Opt imal decoding of l inear codes ror minimiz in g symbo l error rate , IEEE Trans. Inf. Theory, vo l. IT— 20, pp. 284-287, Mar. 1974 ) 。 B C J Rアルゴリズムにおいては、 復 号結果として各シンボルを出力するのではなく、 各シンボルの尤度 を出力する。 このような出力を軟出力 (soft-output) と呼ぶ。 近年、 連接符号の内符号の復号出力や繰り返し復号法の各繰り返 しの出力を軟出力とすることで、 シンボル誤り確率を小さくする研 究がなされており、 それに適した復号法として B C J Rァルゴリズ ムが注目されるようになった。
以下、 B C J Rァルゴリズムの内容を詳細に説明する。
B C J Rァルゴリズムは、 復号結果として各シンボルを出力する 代わりに、 各シンボルの尤度を出力するものであり、 畳み込み符号 器によりデジタルの情報を畳み込み符号化し、 この畳み込み符号化 されたデータ列を雑音のある無記憶通信路を介して観測する場合の ァルゴリズムである。
ここで、 畳み込み符号器のシフ トレジス夕の内容を表す M個のス テ一ト (遷移状態) を m( 0, 1 , · ■ · , M I 1 )で表し、 時刻 のステートを St 、 時刻 tでの入力を it 、 時刻 tでの出力を Xt とし、 出力系列を X '
Figure imgf000004_0001
, Xt. , , · ' · , χ とする。 各 ステー卜間の遷移確率 pt(m I m,)を次の ( 1 ) 式により表す。 p t(m I m' )= P r{ S t =m I Sト,二 m,} · · · ( 1 ) なお、 P r{A | B}は、 Bが起こった条件のもとでの Aが起こる 条件付き確率であり、 P r{A ; B}は、 Aと Bが共に起こる確率を 表すものとする。 また、 畳み込み符号器による畳み込み符号は、 ス テート S。= 0 から始まり、 X を出力して
Figure imgf000004_0002
で終了するも のとする。
雑音のある無記憶通信路は、 出力 X を入力とし、 出力 Y を出 力する。 ここで出力系列 Υ ' = Yt , Yt+. , · · · , Υい とす る。 ここで雑音のある無記憶通信路の遷移確率は、 すべての t ( 1 ≤ t≤r) について、 次の (2) 式を満足する関数 R( )によ り定義することができる。
Figure imgf000005_0001
これにより確率人 t を次の (3 ) 式に示すように定義すれば、 こ の確率え t は、 Y ^を受信した際の時刻 tにおける入力情報の尤度 を表し、 この確率え t が求めるべき軟出力となる。
P r{ i t= 1 I Y iT}
λ ( 3 )
P r { i t = 0 I Y,r}
B C J Rアルゴリズムは、 次の (4) 式〜 ( 6) 式に示すような 確率 at , , rt を定義する。 ひ t(m)=P r{St=m; Yi1} • (4)
Figure imgf000005_0002
y t(m, ,m, i )=P r{S t = m ; Y = i I S = m, }
- ( 6) at , ?t , ァ t の内容を、 図 1を用いて簡単に説明する。 図 1 は、 各確率の関係を示した図である。 ひい , は、 符号化開始ステー 卜 S 0 = 0から受信語をもとに時系列順に算出した時刻 t— 1にお ける各ステー トの通過確率に対応する。 5t は、 符号化終了ステ一 卜 S r= 0から受信語をもとに時系列の逆順に算出した時刻 Tにお ける各ステートの通過確率に対応する。 ァ t は、 時刻 tにおける受 信語と入力確率をもとに算出した時刻 tにステート間を遷移する各 枝の出力の受信確率に対応する。 このひ t , 5t , 7t を用いると、 軟出力人 t は、 次の ( 7 ) 式 のように表すことができる。
∑ ∑ a t - ((in' )7 t(m5 ,m, 1 ) ?t(m,
ァ t =, ( 7)
∑ ∑ a i(m,)ァ" m, , m, 0 "m: ところで、 t = 1, 2, , てについて、 次の ( 8 ) 式が成 り立つ。 a ひ t- m' )ァ t(m' ,m, l ) (8)
Figure imgf000006_0001
ただし、 ひ。( 0 )= 1 , ひ。(m)= 0 (m≠ 0 ) 同様に、 t = 1 , 2、 、 て一 1について、 次の ( 9 ) 式が 成り立つ。 ,m, i ) · · · ( 9 )
Figure imgf000006_0002
ただし、 ?r( 0)= l , ?r(m)二 0 (m≠ 0 ) さらに、 ァ t に関して、 次の ( 1 0 ) 式が成り立つ。 7 t ( m' , m, i )
Pt(m I m' )R(Yt,X):入力 iで m, から mへ遷移する場合 = (Xはその出力)
0 :入力 iで m, かも mへ遷移しない場合
• · · ( 1 0 ) 以上の関係をもとに、 B C J Rアルゴリズムでは、 軟出力え t を、 次の (a) 〜 (c) の手順で求める。 (a) Yt を受信する毎に、 ( 8) 式、 ( 1 0) 式を使用して、 ひ t(m) 、 y t(m, ,m, i jを計算する。
(b) 系列 の全てを受信した後に、 (9) 式を使用して、 全ての時刻 tの各ステート mについて、 ?"m) を計算す る。
(c) (a) , (b) で計算したひ t , ? t , ァ t を ( 7) 式 に代入し、 各時刻 tの軟出力人 t を計算する。
ところで、 以上説明した B C J Rアルゴリズムでは、 積演算を含 むために演算量が大きいという問題と、 符号を終結する必要がある ために連続データを受信できないという問題があった。
この 2つの問題のうち、 演算量を削減する手法として Max— L 0 g— B C J Rアルゴリズム及び L 0 g— B C J Rアルゴリズム
(ただし、 下記論文中では、 それぞれ Max— L o g— MAPアル ゴリズム及び L o g— MAPアルゴリズム) が提案され (Robertso n, Villebrun and Hoeher, "A comparison of optimal and sub-op timal MAP decoding algorithms operating in the domain", IEEE
Int.Conf .on Communications, pp.1009-1013, June 1995) 、 連続 データを受信するための手法として、 スライディングウインドウ処 理を行う SW— B C J Rァルゴリズムが提案されている (Benedett 0 and Montorsi, "Soft-output decoding algorithms in iterativ e decoding of turbo codes", TDA progress Report 42-124, Feb,
1996) 。
以下これらのァルゴリズムの内容を説明する。
まず、 Max - L o g— B C J Rアルゴリズムと L o g - B C J Rァルゴリズムの内容を説明する。 Max— L o g_B C J Rアルゴリズムは、 確率ひ t , β t , γ t , A t を eを底とする対数 (自然対数) で表し、 ( 1 1 ) 式に示 すように確率の積演算を対数の和演算で置き換え、 ( 1 2 ) 式に示 すように確率の和演算を対数の最大値演算で近似する。 なお、 ma x(x, y)は、 x , yのうち値の大きなものを選択する関数である ( log( e x · e y ) = x + y ( 1 1 ) log( e x + e v ) = max( x , y ( 1 2 ) いま、 説明を簡略化するため、 次の ( 1 3 ) 式〜 ( 1 5 ) 式に示 すようにひ t , β t , 7 t , λ t の対数を I ひ t , I β t , I 7 t : I At とおく。 以下、 「 I」 は eを底とする対数を表すものとする <
I ひ t(m)= log( a t ( m ) ) ( 1 3 )
Figure imgf000008_0001
I ァ ;(m)二 log(ァ ! (m)) ( 1 5 )
Max— Log— B C J Rアルゴリズムは、 これら I t , I β t , I Ύ t を次の ( 1 6 ) 式〜 ( 1 8 ) 式に示すように近似する。 ここ で、 I ひ t(m) と I ? t(m) の max m'は、 入力 iのときにステー ト mへの遷移が存在するステート m' の中で求めるものとする。
I a t ( m ) = max max ( I ひ卜 i(m, )+ I ァ t(m',m, i )
i = 0 , 1 m'
• • • ( 1 6 )
I 5 ( I 5 t + 1 (m' )+ I r ( m, m' , i )
Figure imgf000008_0002
• • • ( 1 7 )
I ァ t(m, ,m, i )二 log(Pt(m | m, ) ) + log(R ( Y t , X ) )
• • • ( 1 8 ) ただし、 Xは m' から mへ遷移したときの符号器の出力である。 同様に、 I人 t に関しても、 次の ( 1 9 ) 式に示すように近似す る。 ここで、 右辺第 1項の max m,は、 入力 = 1のときにステート mへの遷移が存在するステート m, の中で求め、 第 2項の max m' は、 入力 = 0のときにステー卜 mへの遷移が存在するステー卜 m' の中で求めるものとする。
I え t =max max i ひ t-i(m' )+ I r t ( m' , m, 1 )+ I ? t(m)) i = 0 , 1 m'
— max max ( I ひ t i(m, ) + I r t ( m' , m, 0 ) + I 51 1 ( m ) ) m = 0 , ···, m = 1 m'
• • • ( 1 9 ) 以上の関係をもとに、 Max - L o g _ B C J Rァルゴリズムで は、 軟出力人 t を、 次の (a) 〜 (c) の手順で求める。
( a) Yt を受信する毎に、 ( 1 6 ) 式、 ( 1 8 ) 式を使用し て、 I ひ t(m) 、 Iァ t(m, ,m, 1 ) を計算する。
(b ) 系列 Y の全てを受信した後に、 ( 1 7 ) 式を使用して、 全ての時刻 tの各ステート mについて、 I 5t(m) を計算 する。
( c ) ( a ) , (b) で計算した I ひ t , I /3 t , I 7 t を
( 1 9 ) 式に代入し、 各時刻もの軟出力 I At を計算する c 上述したように、 M ax— L o g— B C J Rアルゴリズムには、 積演算が含まれていないため、 B C J Rアルゴリズムに比べて演算 量を大幅に減らすことができる。
ところで、 確率の和演算を次の ( 2 0) 式に示すように変形する ことにより、 右辺第 2項は、 変数 I X— y I に対する 1次元の関数 となるので、 これをテーブル化しておくことで和演算の正確な対数 値を求めることができる。 log ( e x + e y ) = max ( x , y ) + log ( 1 + e - i x_Y I )
• · · ( 20)
Max-L o g-B CJ Rァルゴリズム中の ( 1 2) 式を、 全て ( 20) 式で置き換えて、 正確な確率計算を行うのが L o g-B C J Rアルゴリズムである。 L 0 g - B C J Rアルゴリズムは、 Ma X -L o g-B C J Rアルゴリズムと比較すると演算量は増えるも のの積演算は含まれておらず、 その出力は、 量子化誤差を除けば、 B C J Rァルゴリズムの軟出力の対数値そのものに他ならない。
(20) 式における右辺第 2項は、 変数 I X— y Iによる一次関 数となることから、 例えばテーブル化等により簡易かつ精度の高い 演算結果を得ることかできる。 これにより L o g— B C JRァルゴ リズムは、 Max— L o g— B C J Rアルゴリズムに比して精度の 高い軟出力を得ることができるようになされている。
次に、 SW— B C J Rァルゴリズムの内容を説明する。
B C J Rアルゴリズムでは、 β、 の計算のために符号が終結され ている必要があり、 連続したデータを受信することができない。 S W— B C J Rアルゴリズムは、 β の初期値として全てのステート に対して 1/Mを与え、 ビ夕ビ(Viterbi) 復号の場合と同様に打切 り長を導入し、 設定した打切り長 Dだけ時刻を遡って軟出力を求め るものである (図 2参照) 。
S W - B C J Rァルゴリズムでは、 通常の B C J Rァルゴリズム と同様にひ。 の初期化を行った後、 以下の (a) 〜 (e) の操作を 毎時刻行うことで、 各時刻の軟出力を求める。
(a) 時刻 tでの受信値と遷移確率をもとにァ t を求める。
(b) 全てのステート mに対して
Figure imgf000011_0001
1/Mと初期化する ( ( c ) ァ tD+ 1 , · · · , ァ t をもとに/?い · · ·, 3 t - D を計算する。
(d) 求まった/?い。と ひい D-i から時刻 t— Dの軟出力 y t D を次の (21) 式で計算する。
∑ ひ卜 - i(m, ) +ア ト (m, ,m, 1 卜 D(m) ァ t D =
ひ卜 i(m ) +ァ ぃ m,,m, 0 ) + 丄 5卜 "m)
• ■ • (21)
( e ) ひ t - ァい よりひい。を計算する。
なお、 前掲の Benedetto らの論文には、 この SW— B CJRアル ゴリズムと L o g— B C J Rァルゴリズムを組み合わせた SW— L 0 g— B C J Rアルゴリズム、 及び、 S W - B C J Rアルゴリズム と Max— L o g— B CJ Rアルゴリズムを組み合わせた S W— M ax— L 0 g— B CJRアルゴリズム (ただし、 論文中では SWA L一 B CJRアルゴリズム) も提案されている。
SW-Max-L 0 g-B C J Rアルゴリズム又は S W— L o g - B C J Rアルゴリズムを用いることで、 連続デ一夕を受信して軟 出力を求めることができる。 しかし、 これらのアルゴリズムでは、 終結した符号を復号する場合と異なり、 1復号出力を求める際にス テート数 X打切り長分の 5t を求める必要があるために、 積演算を 含まないとはいえ、 実装するには非常に大きな演算量が必要である。 上述したように、 SW— Max— L 0 g— B C J Rアルゴリズム 又は SW— L 0 g— B C J Rアルゴリズムは、 畳み込み符号化され て送信された連続デ一夕を受信して軟出力を求めることが可能では あるが、 1符号出力を得る際の演算量が多く高速動作が困難である という問題点があった。
また、 SW— B C J Rァルゴリズムと L o g— B C J Rァルゴリ ズムとを組み合わせた SW—L o g— B C J Rアルゴリズム、 又は S W- B C J Rァルゴリズムと Max— L o g— BOJ Rァルゴリ ズムとを組み合わせた SW— M a x-L o g-B C J Rァルゴリズ ム (SWAL— MAPアルゴリズムとも呼ぶ) によれば、 演算量を 低減して連続したデータの軟出力を求めることができる。
ところが、 これらのアルゴリズムでは、 打切り長 Dだけ遡って軟 出力を得ることにより、 1復号出力を求める際にステート数 X打切 り長 D分の 5を求める必要がある。 これにより積演算を含まないと はいえ、 処理に膨大な演算量が必要な問題があった。
発 明 の 開 示 そこで、 本発明の目的は、 高速動作が可能な畳み込み符号の軟出 カ復号装置及び軟出力復号方法を提供することにある。
また、 本発明の目的は、 簡易な構成で、 軟出力を復号することが できる畳み込み符号の軟出力復号装置及び軟出力復号方法を提供す ることにある。
本発明では、 畳み込み符号の各遷移状態での確率情報を求め、 上 記確率情報を使用して軟出力を計算して出力する際に、 上記確率情 報を所定の打切り長単位で区切って記憶し、 打切り長内の確率情報 の更新と打切り長外の軟出力の計算とを並列的に実行する。
この発明においては、 打切り長内の確率情報の更新と打切り長外 の軟出力の計算とが並列的に行うことにより、 1クロック当たりの 演算量やメモリへのアクセス量が少なくて済み、 高速動作が可能に なる。
すなわち、 本発明は、 畳み込み符号の各遷移状態での確率情報を 求める確率計算手段と、 上記確率計算手段で求められる上記確率情 報を記憶する確率記憶手段と、 上記確率記憶手段に記憶されている 上記確率情報を使用して軟出力を求める軟出力計算手段とを備える 畳み込み符号の軟出力復号装置であって、 上記確率記憶手段は上記 確率情報を打切り長以上記憶し、 上記確率記憶手段による打切り長 内の確率情報の更新と、 上記軟出力計算手段による打切り長外の軟 出力の計算とを並列的に実行することを特徴とする。
また、 本発明は、 畳み込み符号の各遷移状態での確率情報を求め る第 1のステップと、 この第 1のステップで求められる上記確率情 報を記憶媒体に打切り長以上記憶する第 2のステツプと、 この第 2 のステツプで記憶媒体に記憶された上記確率情報を使用して軟出力 を求める第 3のステツプとを備える畳み込み符号の軟出力復号方法 であって、 上記第 2のステップにおける打切り長内の確率情報の更 新と、 上記第 3のステップにおける打切り長外の軟出力の計算とを 並列的に実行することを特徴とする。
図面の簡単な説明 図 1は、 B C J Rアルゴリズム内のひ t , β t , ァ tの内容を 説明するための図である。
図 2は、 S W · B C J Rァルゴリズムの内容を説明するための 図である。
図 3は、 この発明を適用した通信モデルを示すプロック図であ る。
図 4は、 上記通信モデルにおける畳み込み符号器の構成を示すブ 口ック図である。
図 5は、 上記畳み込み符号器の卜レ リスを示す図である。
図 6は、 上記通信モデルにおける復号器の構成を示すプロ 'ソク図 である。
図 7は、 上記通信モデルにおける軟出力計算の手順を説明するた めの図である。
図 8は、 上記復号器における I y計算記憶回路の構成を示すプロ ック図である。
図 9は、 上記 I ァ計算記憶回路を構成する R A M等の動作を説明 するためのタイムチャートである。
図 1 0は、 上記復号器における I ひ計算記憶回路の構成を示すブ 口ヅク図である。
図 1 1は、 上記 I ひ計算記憶回路内の I ひ計算回路の構成を示す プロック図である。
図 1 2は、 上記 I ひ計算回路内の加算比較選択回路の構成を示す ブロック図である。
図 1 3は、 上記 I ひ計算記憶回路を構成するレジス夕、 R A M等 の動作を説明するためのタイムチヤ一卜である。 図 14は、 上記 I ^計算記憶回路の構成を示すブロック図である < 図 1 5は、 上記 1 ?計算記憶回路内の 1 /5計算回路の構成を示す ブロック図である。
図 1 6は、 I 計算回路内の加算比較選択回路の構成を示すプロ ック図である。
図 1 7は、 上記 1 ?計算記憶回路を構成するレジス夕等の動作を 説明するためのタイムチヤ一卜である。
図 1 8は、 上記復号器における軟出力計算回路の構成を示すプロ ック図である。
図 1 9は、 上記軟出力計算回路内の I人! 計算回路の構成を示す プロック図である。
図 20は、 上記軟出力計算回路内の I人。 計算回路の構成を示す ブロック図である。
図 2 1は、 上記軟出力計算回路の動作を説明するためのタイムチ ャ一トである。
図 22 A、 図 22 B、 図 22 C及び図 22 Dは、 上記 Iァ計算記 憶回路におけるメモリマネジメン卜の内容を説明するための図であ る。
図 23は、 上記メモリマネジメン 卜のタイミングチヤ一 トである。 図 24は、 SW - L o g - B CJRアルゴリズムに対応した加算 比較選択回路の構成を示すプロック図である。
図 2 5は、 上記復号器における Iァ計算記憶回路の他の構成例を 示すプロック図である。
図 26は、 上記 Iァ計算記憶回路の動作の説明するためのタイム チャートである。 図 27は、 上記復号器における I ?計算記憶回路の他の構成例を 示すブロック図である。
図 28は、 上記 I 5計算記憶回路の動作の説明するためのタイム チャートである。
発明を実施するための最良の形態 以下、 本発明の実施の形態について図面を参照しながら詳細に説 明する。
本発明は、 例えば図 3に示すような構成の通信モデル 1に適用さ れる。 この通信モデル 1では、 畳み込み符号器 2によりデジタルの 情報 D 0を畳み込み符号化し、 この畳み込み符号化されたデータ列 を雑音のある無記憶通信路 3を介して復号器 4に供給し、 復号器 4 より、 畳み込み符号化されたデータ列の軟出力を復号する。
この通信モデル 1における畳み込み符号器 2は、 1ビッ 卜の入力 に対して 2ビッ トを出力する 1 : 2の符号器である。 この畳み込み 符^器 2は、 図 4に示すように、 1ビッ トの入力 i t が入力される 入力端子 2 1と、 2ビッ トの出力 Xt が出力される出力端子 22 a, 22 bと、 3個のイクスクルーシブ 'オア回路 (以下、 「ΕΧ · 0 R回路」 という) 23〜2 5と、 2個のレジス夕 26, 27とから 構成されている。
入力端子 2 1は、 出力端子 22 aに接続されるとともに、 ΕΧ · OR回路 23の入力側に接続される。 EX · OR回路 23の出力側 は、 レジス夕 26の入力側に接続されるとともに、 EX ' OR回路 24の入力側に接続される。 EX · 〇R回路 24の出力側は出力端 子 22 bに接続される。 レジス夕 26の出力側は、 レジス夕 27の 入力側に接続されるとともに、 EX · OR回路 25の入力側に接続 される。 レジスタ 27の出力側は、 EX · OR回路 24の入力側に 接続されるとともに、 EX · OR回路 25の入力側に接続される。 そして、 EX · OR回路 25の出力側は EX · OR回路 23の入力 側に接続される。
この畳み込み符号器 2において、 入力端子 2 1に供給された 1ビ ッ 卜の入力 i t は、 そのまま出力端子 22 aから出力されるととも に EX · OR回路 23に入力される。 EX · 〇R回路 23は、 上記 入力 i t と EX . OR回路 24の出力との排他的論理和出力をレジ ス夕 2 6及びレジスタ 26 , 27を介して EX · OR回路 25に供 給し、 上記 EX · OR回路 24の排他的論理和出力が帰還される。 また、 この EX · OR回路 23は、 上記入力 i t と上記 EX ' OR 回路 2 5の排他的論理和出力との排他的論理和出力を直接及び上記 レジスタ 26 , 27を介して EX ' OR回路 25に供給する。 そして、 上記 EX · OR回路 25は、 上記 EX · OR回路 23の排 他的論理和出力と上記レジスタ 2 7の出力との排他的論理和出力を 他の 1ビッ トとして出力端子 22 bより出力する。
この畳み込み符号器 2は、 以上のように構成されており、 入力端 子 2 1に 1ビッ 卜の入力 i t が入力されると、 出力端子 22 a, 2 2 bより 2ビッ 卜の出力系列 Xt を出力する。 図 5は、 上記畳み込 み符号器 2のトレリスを示しており、 ステート数 Mは 4となってい る。
また、 この通信モデル 1における復号器 4は、 SW— Max— L o g-B C J Rアルゴリズムに基づく復号器であり、 図 4に示した 拘束長 3の畳み込み符号器 2に対応した復号器である。
この復号器 4は、 無記憶通信路 3を通して入力される符号器 2の 受信値 Yt を打切り長 D = 4により処理して、 軟出力え t を出力す るものである。 こ復号器 4は、 図 6に示すように、 全体の動作を制 御するためのコントローラ 4 1 と、 受信値 Yt 、 事前確率情報 P r = log P r{ i t = 0 }, P r 2 = log P r{ i t = 1 }が入力され る人力端子 4 2 y, 4 2 p 1 , 4 2 ρ 2と、 Iァ計算記憶回路 4 3 と、 Iひ計算記億回路 4 4と、 I 計算記憶回路 4 5と、 軟出力計 算回路 4 6と、 軟出力 I At を出力する出力端子 4 7とを有してい る。
この復号器 4は、 本来の SW - Max— L o g— B C J Rァルゴ リズムと異なり、 1時刻分の復号を行うために、 ステート数 X打切 り長分の 1 /3 t を計算するものではない。 すなわち、 復号器 4は、 図 7に示すように、 ステート数 X打切り長分の I ? ( ? t〜/5t で図示) を計算した後、 それに続く打切り長外の I ? ( ? t 〜β t-2D+ 1で図示) を計算しながらその打切り長外の軟出力の計算を順 次行っていくとともに、 次の打切り長分の I /5を順次計算していく ものである。 このように、 復号器 4は、 打切り長内のェ ?の計算と、 打切り長以上遡った I ?の計算とを並列的に行うものであり、 1ク ロックあたりの I の計算はステート数 X 2となる。
Iァ計算記憶回路 4 3には、 コントローラ 4 1よりコントロール 信号 S Cァが供給されるとともに、 入力端子 4 2 y, 4 2 p , , 4 2 p2 より受信値 YT 、 事前確率情報 Ρ Γ , P r が供給される。 Iァ計算記憶回路 4 3は、 受信値 YT 、 事前確率情報 Ρ Γ , P r 2 を使用し、 受信値 Yt 毎に ( 1 8 ) 式に従って Iァを計算して記 憶し、 その後に I ひ計算記憶回路 44、 I ?計算記憶回路 4 5及び 軟出力計算回路 4 6にそれぞれの処理に適した順序で Iァを供給す る。
この Iァ計算記憶回路 43は、 受信値 Yt 毎に、 符号パターンと 受信値により決まる第 1の確率ァを計算する第 1の計算手段として 機能する。 なお、 Iァ計算記憶回路 43より Iひ計算記憶回路 44 に供給される Iァを Iァ( ひ)とし、 Iァ計算記憶回路 4 3より I ? 計算記憶回路 45に供給される Iァを Iァ( 3 ,) , I Ύ (/32) とし、 Iァ計算記憶回路 43より軟出力計算回路 4 6に供給される I ァを Iァ(人)とする。
Iひ計算記憶回路 44には、 コン トローラ 4 1よりコン トローラ 信号 S Cひが供給されるとともに、 Iァ計算記憶回路 4 3より Iァ (ひ)が供給される。 この I ひ計算記憶回路 44は、 Iァ(ひ)を使用 し、 ( 1 6 ) 式に従って Iひを計算して記憶し、 その後に軟出力計 算回路 46にその処理に適した順序で Iひを供給する。 この I ひ計 算記憶回路 44は、 第 1の確率 Iァに基づいて、 各受信値 Yt 毎に、 符号化開始ステー卜から時系列順に各ステートに至る第 2の確率 I ひを計算する第 2の計算手段として機能する。 なお、 I ひ計算記憶 回路 44より軟出力計算回路 4 6に供給される Iひを I ひ(人)とす る。 I ひ計算記憶回路 44に供給される Iァを Iァ(ひ)とする。
I 3計算記憶回路 4 5には、 コン トローラ 4 1よりコン トローラ 信号 S C ?が供給されるとともに、 I y計算記憶回路 4 3より Iァ ( 5 ,) , Iァ( ?2) が供給される。 Iァ , Iァ( ?2) の間に は、 打切り長 X 2のタイムシフ 卜がある。 I 計算記憶回路 4 5は、 I T^ ? ,) , Iァ( ?2) を使用し、 ( 1 7 ) 式に従って 2系統の I を並列的に計算して記憶し、 その内の 1系統の I /5を軟出力計算 回路 46にその処理に適した順序で供給する。 この I ?計算記憶回 路 45は、 第 1の確率 Iァに基づいて、 各受信値 Y t毎に、 打切り ステー卜から時系列順とは逆順に各ステー卜に至る第 3の確率 I 5 を計算する第 3の計算手段を構成している。 なお、 1 ?計算記憶回 路 45より軟出力計算回路 46に供給される 1 ?を 1 5 (人)とする c 軟出力計算回路 46には、 Iァ計算記憶回路 43より Iァ(人)が 供給され、 Iひ計算記憶回路 44より Iひ(え)が供給され、 1 5記 憶計算回路 4 5より I /5(え)が供給される。 この軟出力計算回路 4 6は、 Iァ(え)、 Iひ(人)、 1 ? (え)を使用し、 ( 1 9) 式に従つ て I人 tを計算し、 時系列順に並べ替えて出力する。
次に、 Iァ計算記憶回路 43、 Iひ計算記憶回路 44、 1 ?計算 記憶回路 45及び軟出力計算回路 46の具体構成について説明する c 図 8は、 Iァ計算記憶回路 43の構成を示している。 この Iァ計 算記憶回路 43は、 受信値 Yt 、 事前確率情報 Ρ Γ , P r2 、 コ ントロール信号 S Cァがそれぞれ入力される人力端子 30 1 Y, 3 0 1 P , , 30 1 P 2 , 30 1 Sと、 入力端子 30 1 Yに供給され る受信値 Yt を読み出しアドレス信号とし、 それぞれ各ステート m に対する受信値 Yt の確率 I R(Yt | 00 ) , I R( Yt I 0 1 ) , I R( Yt 1 1 0 ) , I R( Yt 1 1 1 ) を出力するテーブルを構成す る R OM (read only memory) 302 a〜302 dとを有している。 また、 Iァ計算記憶回路 43は、 ROM 302 a, 302 bより 出力される確率 I R( Yt I 0 0 ) , I R( Yt I 0 1 ) に対して、 入 力端子 30 I P , に供給される事前確率情報 P r , をそれぞれ加算 して、 トレリス上の出力 [00 ], [ 0 1 ]に対応する各枝の確率 Iァ [00], Iァ [0 1 ]を得るための加算器 303 a, 303 bと、 R OM 302 c , 302 dより出力される確率 I R(Yt | 1 0 ) , I R(Yt I 1 1 ) に対して、 入力端子 30 1 P2 に供給される事前確 率情報 P r2 をそれぞれ加算して、 トレリス上の出力 [ 1 0] , [ 1 1 ] に対応する各枝の確率 Iァ [ 10 ], ]を得るための加 算器 303 c , 303 dとを有している。
ここで、 加算器 303 a〜303 dより出力される各確率 I γ
[ 00 ]〜 Iァ [ 1 1 ]の総ビッ ト数は、 符号化率を k/nとする組織 的な畳み込み符号ではビッ ト数 X 2 nである。 これにより Iァ計算 記憶回路 43では、 各確率 Iァ [00 ]〜1ァ [ 1 1 ]を 4ビッ トに設 定し、 確率 Iァ [00], 1ァ[0 1 ], Iァ [ 10], Iァ [ 1 1 ]を全 体として 16ビッ 卜で出力する。
また、 Iァ計算記憶回路 43は、 加算器 303 a~303 dより 出力される各確率 I y[00]〜1ァ [ 1 1 ]を、 コントロール信号 S Cァに従って、 順次格納し、 所定の順序で出力する RAM (random access memory) 304 a~304 dと、 これら RAM30 a〜3 04 dより出力される Iァを、 コントロール信号 S Cァに従って、 選択的に取り出して Iァ(ひ ), Iァ( ? ') , 1ァ( ?2) , Iァ(λ ) とする選択回路 308と、 これら Iァ(ひ), 1ァ( ? )) , Iァ( 5 , Iァ(人) を出力する出力端子 309 a〜309 dとを有して いる。
図 8に示す Iァ計算記憶回路 43では、 受信値 Yt 毎に、 ROM 302 a〜302 dより各ステート mに対する受信値 Yt の確率 I R(Yt I 00 ) , I R(Yt I 0 1 ) , I R(Yt I 10 ) , I R(Yt 1 1 1 ) が出力され、 加算器 3 0 3 a〜 3 0 3 dより 卜レリス上の 出力 [ 0 0 ], [0 1 ], [ 1 0 ], [ 1 1 ] に対応する各枝の確率 I ァ [ 0 0 ], Iァ [0 1 ], I y [ 1 0 ], Iァ [ 1 1 ]が得られる。 そして、 これら確率 Iァ [ 0 0 ] 〜: [ァ [ 1 1 ] が RAM 3 0 4 a〜3 0 4 d に順次格納され、 所定の順序で読み出され、 選択回路 3 0 8より I γ ( ), I r ( 5! ) , I r (j32) , Iァ(入)として取り出される。 図 9は、 RAM 3 0 4 a〜3 0 4 dのマネ一ジメントを示すタイ ミングチャートである。 4個の R AM 3 0 4 a〜 3 0 4 dは、 それ それ、 打切り長 D分、 加算器 3 0 3 a〜3 0 3 dの出力データ Iァ [ 0 0 ]〜: [ァ [ 1 1 ]を格納できるように、 1 6 ビヅ ト X 4ワード分 の記憶容量を有するバンク構成により動作し、 順次循環的に確率 I ァ [0 0 ]〜: [ァ [ 1 1 ] を格納する (図 9の A) 。 なお、 この図 9 においては、 各時刻 t = l , 2 , 3 , · · ' の確率 Iァ [ 0 0 ]〜1 7 [ 1 1 ]をァ ' , ァ 2 , ァ 3 , · - 'で示している。
RAM 3 0 4 a〜 3 0 4 dからは、 打切り長 Dの 2倍の長さ 2 D に相当する期間だけ遅延して確率 Iァ [ 0 0 ]〜 1ァ [ 1 1 ]が読み出 され、 選択回路 3 0 8からは、 この確率 Iァ [ 0 0 ]~ Iァ [ 1 1 ]が I ひ計算記憶回路 4 4に供給すべき確率 I ァ(ひ)として取り出され る (図 9の B) 。
また、 RAM 3 0 4 a, 3 0 4 bに 2 D分の確率 Iァ [ 0 0 ]〜 I ァ [ 1 1 ]が書き込まれた直後から書き込み順とは逆にその確率 I y [0 0 ]〜; [ァ [ 1 1 ]を読み出すことと、 RAM 3 0 4 C , 3 0 4 d に 2 D分の長さの確率 Iァ [ 0 0 ]〜1ァ[ 1 1 ]が書き込まれた直後 から書き込み順とは逆にその確率 Iァ [0 0 ]〜 Iァ [ 1 1 ]を読み出 すこととが交互に行われる。 選択回路 3 0 8からは、 その読み出さ れた確率 Iァ [00]〜 Iァ [ 1 1 ]が I 計算記憶回路 4 5に供給す べき確率 Iァ として取り出される (図 9の C) 。
また、 RAM304 b, 304 cに 2 D分の長さの確率 Iァ [0 0 ]〜 Iァ [ 1 1 ] が書き込まれた直後から書き込み順とは逆にその 確率 Iァ [00 ]〜: [ァ [ 1 1 ]を読み出すことと、 RAM 304 d, 304 aに 2 D分の確率 Iァ [00]〜: [ァ [ 1 1 ]が書き込まれた直 後から書き込み順とは逆にその確率 Iァ [00]〜1ァ [ 1 1 ]を読み 出すこととが交互に行われる。 選択回路 308からは、 その読み出 された確率 I y [00 ]〜 Iァ [ 1 1 ]が I /5計算記憶回路 45に供給 すべき確率 Iァ( ? 2 ) として取り出される (図 9の D) 。
さらに、 RAM 304 a〜 304 dのそれぞれに打切り長 D分の 確率 Iァ [00 ]〜 Iァ [ 1 1 ]が書き込まれて 2 Dが経過した後に、 書き込み順とは逆にその確率 Iァ [00 ]〜 Iァ [ 1 1 ]が読み出ささ れる。 選択回路 308からは、 この確率 Iァ [ 00 ]〜 I y [ 1 1 ]が 軟出力計算回路 46に供給すべき確率 Iァ(え)として取り出される (図 9の E) 。
図 1 0は、 Iひ計算記憶回路 44の構成を示している。 この I ひ計算記憶回路 44は、 確率 Iァ(ひ)、 コン トロール信号 S C aが それぞれ入力される入力端子 40 1, 402と、 入力端子 40 1に 供給される確率 Iァ(ひ)とレジス夕 405にセヅ トされた 1時刻前 の Iひ とを使用し、 ( 16) 式に従って Iひを計算する Iひ計算回 路 403と、 Iひ計算回路 403より出力される Iひ又は初期値 I ひ 0 のいずれかを選択してレジス夕 405にセッ トするセレクタ 4 04とを有している。
セレクタ 404では、 コントロール信号 S Cひに基づいて、 初期 化の時点のみ初期値 Iひ。 が選択され、 その他の時点では Iひ計算 回路 403の出力デ一夕が選択される。 初期化は、 Iァ計算記憶回 路 43より確率 Iァ(ひ)の出力が開始される 1時刻前の時点で行わ れる。 ここで、 初期値 Iひ。 として、 符号化の開始点が受信機側 でわかっている場合には、 ステート 0での値として log 1 (= 0 ) が、 その他のステートの値としては log 0 ( =—∞) が与えられ る。 一方、 符号化の開始点が受信機側で分からない場合には、 定義 通りであればすべてのステートに対して log 1/M (この例では l o g 1/4) が与えられるが、 実際には全てのステートに対して 同じ値であればよく、 例えば全てのステー卜に対して 0を与えても よい。
図 1 1は、 Iひ計算回路 403の構成を示している。 この Iひ 計算回路 403は、 4個の加算比較選択回路 4 1 1 a~4 1 1 dを 有して構成されている。 Iア ^ 00]〜1ァ t[ 1 1 ]及び 1時刻前の Iひい 【( 0 )〜 ; [ ひい t( 3 )は、 トレリス上の遷移に基づいて、 加算 比較選択回路 4 1 1 a〜4 1 1 dに振り分けられている。 各加算比 較選択回路 4 1 1 a〜4 1 1 dでは、 Iひと Iァを加算した 2つの 加算結果のうち大きい方が選択され、 次時刻の各ステートにおける Iひが求められる。
加算比較選択回路 4 1 1 aには、 Iァ t[00], Iァ t[ l l ]が供 給されるとともに、 Iひい 0 ), Iひい 2 )が供給され、 ステー ト 0の確率 Iひ t(0 ) が計算される。 加算比較選択回路 4 1 1 bに は、 Iァ t[ l l ], Iァ 00]が供給されるとともに、 Iひい, ( 2 )が供給され、 ステート 1の確率 Iひ t( 1 )が計算される。
加算比較選択回路 4 1 1 cには、 Iァ t[ 10], Iァ t[0 1 ]が供 給されるとともに、 Iひ t- 1 ), Iひい 3 )が供給され、 ステー ト 2の確率 Iひ" 2 ) が計算される。 さらに、 加算比較選択回路 4 l i dには、 Iァ t[0 1 ], Iァ t[I 0]が供給されるとともに、 I at ,( 1 ), I a, ,( 3 ) が供給され、 ステート 3の確率 I a t ( 3 ) が計算される。
各加算比較選択回路 4 1 1 a〜41 1 dは、 図 1 2に示すように、 共通に構成されている。 以下、 加算比較選択回路 4 1 1 aに関して 説明する。 Iァ t[00] , (図 3において、 ステート 0に至る破線 による枝の確率) 及び Iひ t 0 ) (図 3において、 1時刻前のス テート 0に至る確率) が加算器 42 Iで加算される。 また、 I γ t
[ 1 1 ] (図 5において、 ステ一卜 0に至る実線による枝の確率) 及 び Iひ t 2 ) (図 5において、 1時刻前のステート 2までの確 率) が加算器 422で加算される。 そして、 加算器 42 1, 422 の加算結果が比較回路 423で比較され、 セレクタ 424では加算 器 42 1 , 422の加算結果のうち大きい方が確率 Iひ t( 0 ) とし て取り出される。 説明は省略するが、 加算比較選択回路 4 1 l b〜 4 1 1 dに関しても同様である。
また、 図 1 0に戻って、 Iひ計算記憶回路 44は、 レジス夕 40 5より出力される確率 Iひ( 0 )〜 Iひ( 3 )を、 コン トロール信号 S Cひに従って、 順次格納し、 所定の順序で出力する R AM406 , 407と、 これら RAM406 , 407より出力される Iひを、 コ ントロール信号 S Cひに従って、 選択的に取り出して Iァ(人)とす る選択回路 408と、 この I α (え)を出力する出力端子 409とを 有している。 ここで、 Iひ計算回路 403より出力される確率 Iひ t(0 )~Iひ t(3 )のビッ ト数は、 Iひのビッ ト数を 8ビッ トとする と、 32ビッ トとなる。 RAM406 , 407には、 この 32ビッ トを 1ワードとして記録が行われる。
図 1 0に示す Iひ計算記憶回路 44では、 Iァ計算記憶回路 43 より確率 1ァ (ひ) (図 9の B、 図 1 3の A参照) の出力が開始さ れる直前時点で初期化が行われる。 初期化では、 セレクタ 404で 初期値 Iひ 0 が選択され、 レジス夕 405に初期値 Iひ。 ( Iひ。
[ 00 ]〜 ; [ ひ。 [ 1 1 ] ) がセッ トされる (図 1 3の B) 。 そして、 続くクロック周期からは、 Iひ計算回路 403で、 Iァ計算記憶回 路 43より供給される確率 Iァ( ひ)と、 レジス夕 405より出力さ れる確率 Iひ t - i とから、 次時刻の 1ひ tが順次計算され (図 13 の B ) , その Iひ t が改めてレジス夕 405に格納される。 なお、 図 1 3においては、 各時刻 t = l , 2, 3 , · · ' に対応する確率 Iひ( 0 )〜 : [ ひ( 3 )を、 それぞれひ, , ひ 2 , «3 , · · 'で示し ている。
図 1 0の C, Dは、 RAM40 6 , 407のマネージメン トを示 している。 2個の RAM406 , 407は、 それぞれ、 打切り長 D 分、 レジス夕 405の出力デ一夕すなわち確率 I α( 0 )〜Ιひ(3 ) を格納できるように、 32ビッ ト X 4ヮード分の記憶容量を有する バンク構成により動作し、 順次循環的に確率 Iひ( 0 )〜 I ( 3 )が 格納される (図 1 3の C) 。
また、 RAM406に打切り長 D分の確率 Iひ( 0 )〜 ; [ ひ( 3 )が 書き込まれた直後から書き込み順とは逆にその確率 Iひ( 0 )〜 Iひ ( 3 )を読み出すことと、 RAM 407に打切り長 D分の確率 Iひ ( 0 )〜 Iひ( 3 )が書き込まれた直後から書き込み順とは逆にその確 率 Iひ( 0 )〜 1ひ(3 )を読み出すこととが交互に行われる。 選択回 路 408からは、 その読み出された確率 Iひ( 0 )〜 Iひ( 3 )が軟出 力計算回路 46に供給すべき確率 Iひ(え)として取り出される (図 1 3の D) 。
図 1 4は、 I ?計算記憶回路 45の構成を示している。 この I 計算記憶回路 45は、 確率 Iァ , Iァ( ? 、 コントロー ル信号 S C ?がそれぞれ入力される入力端子 50 1, 502 , 50 3と、 入力端子 50 1に供給される確率 Iァ( ? とレジス夕 50 6にセッ 卜されている確率 I 3とを使用し、 ( 1 7) 式に従って I ?を計算する I 計算回路 504と、 I ?計算回路 504より出力 される I 5又は初期値 I β aのいずれかを選択してレジスタ 506 にセッ 卜するセレクタ 505とを有している。
セレクタ 505では、 コントロール信号 S C ?に基づいて、 初期 化の時点のみ初期値 I ? aが選択され、 その他の時点では I ?計算 回路 504の出力デ一夕が選択される。 初期化は、 Iァ計算記憶回 路 43より確率 Iァ( ? の出力が開始される直前時点に行われる とともに、 その後は 2 D (Dは打切り長) の周期毎に行われる。 こ こで、 初期値 1 /5 aとして、 通常はすべてのステートに対して同じ 値、 例えば 0や log 1/M (この例では log 1/4 ) が与えられ るが、 終結された符^を復号する際には、 終結するステ一卜での値 として log 1 (= 0 ) が、 その他のステートでの値として log 0 ( = -∞) が与えられる。
図 1 5は、 I ?計算回路 504の構成を示している。 この 1 5計 算回路 504は、 4個の加算比較選択回路 5 1 1 a〜5 1 1 dを有 して構成されている。 Iァ t[00 ]〜: [ァ t[ 1 1 ] 及び I ?t(0 )〜 I 5 «t( 3 ) は、 トレリス上の遷移に基づいて、 加算比較選択回路 5 1 1 a〜5 1 1 dに振り分けられている。 各加算比較選択回路 5 1 1 a〜 5 1 1 dでは、 I ?と Iァを加算した 2つの加算結果のう ち大きい方が選択され、 前時刻の各ステートにおける I ?が求めら れる。
加算比較選択回路 5 1 1 aには、 I ァ t[00] , Iァ t[ l 1 ] が 供給されるとともに、 l ?t(0 ) , I ? t ( 1 ) が供給され、 ステ一 ト, 0の確率 I ?ぃ 0 ) が計算される。 加算比較選択回路 5 1 1 b には、 Iァ t[ l 0 ] , Iァ t[0 1 ] が供給されるとともに、 I 5t ( 2 ) , I ?t( 3 ) が供給され、 ステート 1の確率 I ?t— ,( 1 )が計 算される。
加算比較選択回路 5 1 1 cには、 Iァ t[ l 1 ] , Iァ t[0 0 ] が 供給されるとともに、 I 5t(0 ) , I ?t( 1 ) が供給され、 ステー 卜 2の確率 1 ^^( 2 ) が計算される。 さらに、 加算比較選択回路 5 1 1 dには、 Iァ t[0 1 ] , Iァ t[ 1 0] が供給されるとともに、 I ?t( 2 ) , 1 /3 , ( 3 ) が供給され、 ステート 3の確率 I ? t , ( 3 )が計算される。
各加算比較選択回路 5 1 1 a~ 5 1 1 dは、 図 1 6に示すように、 共通に構成されている。 以下、 加算比較選択回路 5 1 1 aに関して 説明する。 l yt[00] , (図 3において、 ステート 0に至る破線 による枝の確率) 及び I ?t( 0 ) (図 5において、 打ち切り長の終 点から時間軸を遡ってステート 0に至る確率) が加算器 5 2 1で加 算される。 また、 Iァ t[ l l ] (図 5において、 ステート 0に至 る実線による枝の確率) 及び I ?t( 1 ) (図 5において、 打ち切り 長の終点から時間軸を遡ってステ一ト 1に至る確率) が加算器 52 2で加算される。 そして、 加算器 52 1 , 52 2の加算結果が比較 回路 523で比較され、 セレクタ 524では加算器 52 1 , 522 の加算結果のうち大きい方が確率 I ?t -'(0 ) として取り出される < 説明は省略するが、 加算比較選択回路 5 1 1 b〜5 1 1 dに関して も同様である。
また、 図 14に戻って、 I ?計算記憶回路 45は、 入力端子 50 2に供給される確率 Iァ( ?2) とレジスタ 509にセッ トされてい る確率 I とを使用し、 ( 17) 式に従って I 3を計算する I ?計 算回路 507と、 I ?計算回路 507より出力される I 5又は初期 値 I /5 bのいずれかを選択してレジスタ 509にセッ 卜するセレク 夕 508とを有している。
セレクタ 508では、 コントロール信号 S C ?に基づいて、 初期 化の時点のみ初期値 I ?bが選択され、 その他の時点では I ?計算 回路 507の出力デ一夕が選択される。 初期化は、 Iァ計算記憶回 路 43より確率 Iァ( ?2) の出力が開始される直前時点で行われる とともに、 その後は 2 D (Dは打切り長) の周期毎に行われる。 こ こで、 初期値 I ?bも、 上述した初期値 I ?aと同様に設定される c なお、 詳細説明は省略するが、 1 ?計算回路507は、 上述した I 5計算回路 504 (図 1 5、 図 1 6参照) と同様に構成されている c また.、 I 計算記憶回路 45は、 レジス夕 506, 509より出 力される確率 1 ?(0)〜1 ?( 3 )を、 コントロール信号 S C ?に従 つて、 選択的に取り出して I ? (人)とする選択回路 5 1 0と、 この I ? (人)を出力する出力端子 5 1 2とを有している。 ここで、 I 計算回路 504, 507のそれぞれより出力される確率 I
( 0 )〜: [ /5 t - , ( 3 ) のビッ ト数は、 I 5のビッ ト数を 8ビッ トとす ると、 32ビッ トとなる。 図 14に示す I 5計算記憶回路 45では、 Iァ計算記憶回路 43 より確率 Iァ( ? t) (図 9の( 、 図 1 7の A参照) の出力が開始さ れる直前時点及びその後の 2 Dの周期毎にレジスタ 506の初期化 が行われる。 この初期化では、 セレクタ 505で初期値 I 5 aが 選択され、 レジス夕 506に初期値 I ? aがセッ 卜される。 そして、 続くクロック周期からは、 1 /5計算回路 504で、 Iァ計算記憶回 路 43より供給される確率 I と、 レジス夕 506より出力 される I ?t とから、 前時刻の I ?ぃ, が順次計算され、 その 1 5 , , が改めてレジスタ 506に格納されて、 次のク口ヅク時点にお ける出力となる (図 1 7の C) 。 なお、 図 1 7においては、 各時刻 t = l, 2, 3 , · · 'に対応する確率 I /5( 0 )〜 I ?( 3 )を、 そ れぞれ 5 , , 0 , /3, , · · 'で示している。
また、 Iァ計算記憶回路 43より確率 I y( ?2) (図 9の D、 図 1 7の B参照) の出力が開始される直前時点及びその後の 2 Dの周 期毎にレジス夕 509の初期化が行われる。 この初期化では、 セレ クタ 508で初期値 I (3 bが選択され、 レジス夕 509に初期値 I ひ bがセヅ 卜される。 そして、 続くクロック周期からは、 I ?計算 回路 507で、 Iァ計算記憶回路 43より供給される確率 Iァ(/? と、 レジス夕 509より出力される I ?t とから、 前時刻の 1 t - i が順次計算され、 その 1 ?い, が改めてレジスタ 509に格納 されて、 次のクロック時点における出力となる (図 1 7の D) 。 そ して、 選択回路 5 1 0では、 図 1 7の Eに示すようにレジス夕 50 6, 509の出力が選択的に取り出され、 軟出力計算回路 46に供 給すべき確率 I ? (え)が得られる。
図 1 8は、 軟出力計算回路 46の構成を示している。 この軟出力 計算回路 46は、 確率 Iひ(人), I /3( λ ), Iァ(人)がそれぞれ入 力される入力端子 60 1 , 60 2, 6 03と、 これら確率 I ひ(入): 1 /3( λ ), Iァ(人)を使用して、 ( 1 9 ) 式の右辺第 1項、 第 2項 をそれぞれ計算する I人 1計算回路 6 04、 I え。 計算回路 6 05 と、 これら計算回路 604の出力 Iえ t より計算回路 6 05の出力 I λ 0を減算して ( 1 9) 式の I 人 t を得る減算器 60 6と、 この 減算器 6 06より出力される I At を時系列順に並べ替えて出力す る L I F 0 (Last- in first-out) メモリ 60 7と、 この軟出力 I At を出力する出力端子 6 08とを有している。
図 1 9は、 I人 > 計算回路 6 04の構成を示している。 この I λ , 計算回路 604は、 4個の加算器 6 04 a〜6 04 dと、 最大 値選択回路 6 04 eとを備えて構成される。 加算器 604 a〜 60 4 dには、 トレリス上の状態遷移に基づいて、 信号が以下のように 振り分けられている。 すなわち、 加算器 6 04 aには I ひ t ( 0 ) , I ? t ( 1 ) , I 7 t[ 1 1 ] が供給され、 加算器 604 bには I ひ,— .( 1 ) , I ?t( 2 ) , Iァ t[ 1 0 ] が供給され、 加算器 604 cに は Iひい 2 ) , I 5t(0 ) , Iァ t[ 1 1 ] が供給され、 さらに加 算器 6 04 dには Iひい,( 3 ) , I 5t( 3 ) , Iァ t[ 1 0] が供給 される。
そして、 各加算器 604 a〜 6 04 dの加算結果の最大値が最大 値選択回路 6 04 eで選択され、 それが Iえ 1として出力される。 同様に、 図 20は、 I入。 計算回路 60 5の構成を示している。 この I 人 0計算回路 60 5は、 4個の加算器 60 5 a〜6 0 5 d と、 最大値選択回路 605 eとを備えて構成される。 加算器 6 04 a〜 6 04 dには、 トレリス上の状態遷移に基づいて、 信号が以下 のように振り分けられている。 すなわち、 加算器 605 aには Iひ t - i ( 0 ) , I ? t ( 0 ) , Iァ t[00] が供給され、 加算器 60 5 b には Iひい— ( 1 ) , I ?t ( 3 ) , Iァ t [ 0 1 ] が供給され、 加算 器 605 cには Iひ t - , (2 ) , I ?t( 1 ) , 1ァ([00] が供給さ れ、 さらに加算器 605 dには Iひい 3 ) , I /3 2 ) , I y t
[0 1 ]が供給される。 そして、 各加算器 605 a~ 60 5 dの加算 結果の最大値が最大値選択回路 605 eで選択され、 それが Iえ。 として出力される。
図 1 8に示す軟出力計算回路 46では、 入力端子 60 1 , 602 : 603にそれぞれ確率 Iひ(人), I 3( λ ), Iァ(人)が供給される (図 2 1の A, Β , C) 。 そして、 各クロック周期毎に、 I人! 計 算回路 604では ( 1 9) 式の右辺第 1項の計算が行われて I入, が得られるとともに、 I人。 計算回路 60 5では ( 19 ) 式の右辺 第 2項の計算が行われて I人 c が得られ、 減算器 606より各時刻 tの Iえ tが出力される (図 2 1の D) 。 そして、 減算器 606よ り順次出力される I λ t が L I F 0メモリ 607に供給されて並べ 替えが行われ、 この L I FOメモリ 607より時系列順に並べ替え られた軟出力 I人 t が出力される。 なお、 図 2 1においては、 各時 刻 t = l , 2, 3 , · · ' に対応する軟出力 I人 t を、 それぞれ, I 1 , λ2 , λ3 , · · ·で示している。
次に、 上述した復号器 4において、 コントローラ 4 1によるメモ リマネジメントを、 図面を用いてさらに詳細に説明する。 図 22 Α, 図 22 Β, 図 22 C, 図 22Dは、 RAM 304 a~304 d、 レ ジス夕 405、 RAM 406 , 407、 レジス夕 506 , 509の 記憶内容と出力を時系列順に図示することで、 メモリマネジメント の内容を示している。 R AM 304 a〜 304 d、 RAM 406 407において、 「 φ」 印は指示するァドレスへの書き込みを意味 し、 「个」 印は指示するァドレスからの読み出しを意味している。 図 2 2Α, 図 22 Β, 図 22 C, 図 22 Dの中で、 例えば t二 1 3においては、 以下の ( 1 ) 〜 ( 6) の操作が同時に行われている <
( 1 ) Iァ 13を R AM 304 dに格納する。
(2 ) レジスタ 405より出力される Iひ 4 と RAM304 b から出力される Iァ 5 をもとに Iひ 5 を求めて、 改めてレ ジス夕 405に格納する。
(3 ) レジスタ 405から出力される前時刻に求めた I を RAM 407に格納する。
(4) レジス夕 506より出力される 1 54 と、 RAM 304 aから出力される Iァ 4 をもとに 1 53 を求めて、 改めて レジス夕 506に格納する。
( 5) レジス夕 509から出力される I 12と R AM 304 c から出力される l 7 をもとに I を求めて、 改めてレ ジス夕 509に格納する。
( 6 ) レジス夕 506から出力される I ?4 と、 RAM 304 aから出力される Iァ 4 と、 RAM406から出力される
I « 3 をもとに、 Iえ 4 を求める。
他の時刻についても同様な操作が行われている。 これを繰り返す ことで、 1時刻に 1つずつ λ(. を求めることができる。 ただし、 こ の方法ではえ t が本来の時系列に対して逆順に求まるので、 上述し たように L I FOメモリ 607を利用して、 軟出力; を本来の時 系列順に並べ替えてから出力する。 図 23は、 以上の操作に基づく メモリマネジメントの t = 13〜t = 20のタイミングチャートを 示している。
以上説明したように、 本実施の形態においては、 打切り長内の I 5の計算 (図 14の I 計算回路 50 7による計算) と、 打切り長 以上遡った I の計算 (図 14の I 計算回路 504による計算) とを並列的に行うものであり、 1クロックあたりの I の計算はス テート数 x 2となる。 そのため、 従来の SW— Max— L o g— B C J Rアルゴリズムに比べて計算量を大幅に削減できる。 また、 1 クロックあたりの各メモリに対するアクセスが 1回で済む。 したが つて、 本実施に形態によれば、 畳み込み符号の復号動作を高速に行 うことが可能となる。
なお、 上述実施の形態におけるメモリマネジメントは、 1 «, I ?, I yの計算方法にはよらないので、 例えば Iァの計算法として R 0 Mテーブル参照以外の方法を用いることもできる。
また、 図 1 1、 図 1 5、 図 1 9、 図 20に示した計算回路に、 ( 20) 式に示した補正を組み込むことで SW— Log— B C J Rァ ルゴリズムを実装することも可能である。 以下、 SW— Log— B C J Rアルゴリズムに基づいた軟出力 I At を求める場合を説明する c 例として、 図 1 1の回路に ( 20) 式に示した補正を組み込む場 合を説明する。
(20) 式に示した補正を組み込むためには、 各加算比較選択回 路 4 1 1 a〜4 1 1 dを、 図 1 2に示すような構成から、 図 24に 示すような構成に置き換える必要がある。 この図 24において、 図 9と対応する部分には同一符号を付して示し ている。
加算比較選択回路 4 1 1 aに関して説明する。 Iァ t[00] 及び Iひい,(0) が加算器 42 1で加算される。 また、 Iァ t[ l 1 ] 及 び Iひい,( 2 ) が加算器 422で加算される。 そして、 減算器 42 6により加算器 42 1 , 422の加算結果 x, yの減算が減算器 4 26で行われ、 その減算結果 (X— y ) が正負判定回路 427に供 給される。 正負判定回路 427からは、 減算結果 (X— y) が 0以 上であるときは " 1" の信号が出力され、 0より小さいときは "0 " の信号が出力される。
正負判定回路 427の出力信号がセレクタ 424に選択信号 S E Lとして供給される。 そして、 セレクタ 424では、 選択信号 SE が " 1" の信号であるときは加算 42 1の加算結果 Xが取り出さ れ、 一方選択信号 S E が "0" の信号であるときは加算 422の 加算結果 yが取り出される。 これにより、 セレクタ 424では、 加 算器 42 1, 422の加算結果 x, yのうち大きい方が選択的に取 り出されることとなり、 ( 20) 式の右辺第 1項に相当する演算が 行われることとなる。
また、 減算器 426の減算結果 (X— y) が絶対値算出回路 42 8に供給されて絶対値 I X— y Iが算出される。 そして、 この絶対 値 I X— y Iがテーブルを構成する ROM 429に読み出しァドレ ス信号として供給され、 ROM429からは、 (20) 式に右辺第 2項である log ( 1 + e-| x-y!) が得られる。 そして、 加算器 43 0によりセレクタ 424の出力信号 max (x— y) と ROM429 の出力信号 log ( 1 + e~,x-yl) とが加算され、 その加算結果が確 率 Iひ t(0) として出力される。 この確率 Iひ t(0 ) は SW— L o g— B C J Rアルゴリズムに基づいたものとなる。 なお、 説明は 省略するが、 加算比較選択回路 4 1 1 b〜4 1 1 dに関しても同様 である。
以上は図 1 1の回路に (20) 式に示した補正を組み込む場合を 説明したが、 図 1 5、 図 1 9、 図 20に示した回路に関しても (2 0) 式に示した補正を同様に行うことができ、 これによつて SW— Log— B C J Rアルゴリズムを実装することが可能になる。
なお、 上述の実施の形態では、 拘束長 = 3、 打切り長 =4の場合 を例としたが、 拘束長、 打切り長はこの値に限らず任意の値とする ことができる。 またメモリの読み書きの内容が同じでも、 シングル ポ一トの RAMではなくマルチポ一トの RAMを用いることによつ て、 例えば RAM 304 a〜3 04 dを 2つのデュアルボ一ト RA Mに置き換えたり、 RAM40 6, 40 7を 1つのデュアルポート R A Mに置き換えたりするなど、 R A Mの構成には種々の変形が可 能である。
また、 I αではなく I 3を RAMで記億するなど、 メモリマネジ メントには種々の変形が可能である: さらに以上の例は、 SW— M a X — L o g— B C J Rアルゴリズム及び S W- L o g -B C J R アルゴリズムを扱ったが、 これも他の軟出力復号アルゴリズムへの 応用など種々の変形が考えられる。
なお、 上述実施の形態では、 RAM 304 a〜 3 04 dから打切 り長 Dの 2倍の長さ 2 Dに相当する期間だけ遅延して確率 I Ί [0 0:]〜 I γ [1 1 ] を読み出して、 軟出力を復号するようにしたが、 確率情報の遅延期間は打切り長 Dの 2倍の長さ 2 Dに限られること なく、 打切り長 D以上であればよい- 例えば、 図 25に示すように、 上述の図 8に示した I 計算記憶 回路 4 3に RAM 304 eを増設して、 確率情報を打切り長 Dの 3 倍の長さ 3 Dに相当する期間だけ遅延するようにしてもよい。
この図 25に示す構成の I γ計算記憶回路 4 3では、 加算器 30 3 a〜3 03 dより得られる ドレリス上の出力 [00], [0 1 ], [1 0], [1 1 ]に対応する各枝の確率 I [00], I γ [0 1 ], I y
[1 0], I 7 [ 1 1 ]を RAM3 04 a〜3 04 eに順次格納し (図
26の入) 、 打切り長 Dの 3倍の長さ 3 Dに相当する期間だけ遅延 して保持したデータ I γ [00:]〜 I γ [1 1 ]を出力する。 そして、 選択回路 30 8は、 このようにして遅延して出力される確率 1 [00]〜 I [ 1 1 ]を I α計算記憶回路 1 3に対する確率 I γ (α) として出力する (図 26の B, C) 。
また、 RAM 3 04 a〜304 e及び選択回路 3 08は、 確率 I γ [00]〜 I γ [1 1]を打切り長 D単位で区切り、 各打切り長 Dの 終端より時間軸方向に打切り長 Dだけ経過した時点に基準時点を設 定する。 RAM 3 04 a〜 304 e及ぴ選択回路 3 08は、 これら 各基準時点までの打切り長 Dの 2倍に対応する確率 I γ [00:]〜 I 7 [1 1 ]が蓄積されると、 これらの確率 I γ [00]〜 Ι y [l 1 ]を 入力順とは逆の順序により出力する。 これにより RAM 304 a〜
3 04 e及び選択回路 30 8は、 確率 I γ [00]〜 Ι γ [1 1 ]を I i3計算記憶回路 4 5に対する第 1の確率 I γ (]3 として出力し
(図 26の D, E) 、 また、 この第 1の確率 I γ (/3 に対して打 切り長 Dの分だけ遅延した確率 I γにより構成される確率 I γ [0 0]〜 I γ [1 1 ] を、 同様の順序により I 3計算記憶回路 4 5に対 する第 2の確率 I γ ( 2) として出力する (図 26の F, G) 。
これに対して RAM 304 a〜304 e及び選択回路 30 8は、 軟出力計算回路 4 6に対する確率 I Ί (え)にあっては、 I α計算記 憶回路 44に対する順序により所定時間遅延したタイミングにより 保持した確率 Iァ [00]〜 1ァ [ 1 1 ]を出力する。 これらにより I ァ計算記憶回路 43は、 第 1の確率 Iァを Iひ計算記憶回路 44、 1 ?計算記憶回路 45、 軟出力計算回路 46の処理に対応した順序 により出力する。
また、 1 ?計算記憶回路 45は、 図 27に示すように、 1 ?計算 回路 504, 507により計算した確率 5t— ,( 0 )~ ^— !( 3 )を選 択回路 5 1 0に R AM 5 1 3, 5 14を介して供給する。
この図 27に示す I 5計算記憶回路 45において、 I /5計算回路 504 , 507、 それぞれレジス夕 506 , 509から入力される 1クロック周期だけ先行した確率/? t( 0 )〜 ? t( 3 )を基準にして、 Iァ計算記憶回路 43から出力される第 1の確率 I ^( ^) 及び第 2の確率 Iァ( 52)より受信値 Yt の各ステー卜まで遡る確率/?い > (0 )〜/?い 3 )を計算する。
すなわち、 この I 5計算記憶回路 45において、 セレクタ 505, 508は、 コントロール信号 S C ?により、 それぞれ 1 ?計算回路 504 , 507から出力される 1クロック周期だけ先行した確率/? 0 )〜? t( 3 )又は初期値 I a, I ?bをレジス夕 506 , 50 9に選択出力する。
ここで、 初期値 I ? a, I ?bは、 上述の如く、 通常はすべての ステートに対して同じ値、 例えば 0や log 1/M (この例では lo 1/4) が与えられるが、 終結された符号を復号する際には、 終 結するステートでの値として log 1 (= 0) が、 その他のステ一 卜での値として log 0 (二一∞) が与えられる。
そして、 セレクタ 505, 508は、 図 28に示すように、 上述 した打切り長 Dの 2倍の長さ 2 Dを単位にした時系列を遡った第 1 の確率 Iァ 及び第 2の確率 Iァ( 52)の繰り返しに対応して、 それぞれ第 1の確率 I下(/3 及び第 2の確率 Iァ(/?2) の繰り返 しがこの長さ 2Dを単位にして切り換わる 1クロック周期前のタイ ミングで初期値 I 3a, I ?bをレジスタ 506 , 509に選択出 力する (図 28の A、 B、 D、 E) 。 また、 これ以外のタイミング においては、 1 /5計算回路 504 , 507から出力される 1クロヅ ク周期だけ先行した確率/? t(0 )〜 5t(3 )を選択出力する。
また、 RAM5 13 , 5 14は、 それぞれ打切り長分だけ確率/? t .!( 0 )〜^t— 3 )を格納できる容量を有するバンク構成により形 成され、 このようにして打切り長分だけ変位して、 かつ打切り長 D の 2倍の周期を単位にして得られる確率 5 t— !( 0 )〜 ? t- 3 )から (図 28の B~D) 、 それぞれ後半の打切り長分の部分で得られる 確率 ? ^ (0 )〜 ? I ,( 3 )を順次循環的に入力する。 これにより R AM 5 1 3 , 5 14は、 初期値 I ?a, I 5 bを基準にして計算し た 2系統の確率 5い 0 〜 ?ぃ 3 )より充分に信頼性に足る部分 を選択的に取り込む。 さらに、 RAM5 1 3, 5 1 4は、 このよう にして格納した確率 5 0 )〜 ? t- 3 )を時系列順に出力する。 この I 5計算記憶回路 45は、 少なくとも第 1の確率 Iァについ て設定した各基準時点より対応する打切り長の範囲で、 複数系列に より同時並列的に第 1の確率 Iァを処理して複数系列により第 3の 確率 I ?を計算し、 これら複数系列の確率 I より打ち切り長の確 率 I 5を選択出力することになる。 なお、 この実施の形態では、 こ れら基準時点が各打切り長に続く続く打切り長の終了時点に設定さ れていることになる。 そして、 選択回路 5 1 0は、 このような順序により RAM 5 1 3 5 1 4から打切り長 Dを単位にして交互に出力される確率/?い, ( 0 )〜 5t— !( 3 )を軟出力計算回路 1 5に出力する。
以上の構成において、 入力 i t は、 畳み込み符号器 2において拘 隶長 3により畳み込み符号化処理され、 ここでステート数 mが 4の 出力系列 Xt に変換され、 この出力系列 Xt が無記憶通信路 3を介 して復号器 4に入力される。 この復号器 4において、 入力信号は、 アナログディジタル変換処理により受信値 Yt が検出され、 この受 信値 Yt が Iァ計算記憶回路 43に入力される。
この Iァ計算記憶回路 4 3において、 受信値 Yt は、 各ステート に対応する R OM 30 2 a〜 3 0 2 dのテーブルにより、 各ステ一 卜に対応する受信値 Yt の確率が計算され ( ( 1 6 ) 式の右辺第 1 項) 、 加算器 303 a〜3 03 dにより初期値 log P r { i t = 0 }、 log P r{ i t= 1 }と加算され、 これにより時系列により各ステー ト mに対応する第 1の確率 Iァが順次計算される (図 2 6の A) 。 このようにして計算された第 1の確率 Iァは、 打切り長 Dを単位 にして形成されたバンク構成の RAM 304 a〜3 04 eに順次格 納され、 打切り長 Dの 3倍に対応する期間だけ遅延して、 時系列順 に、 Iひ計算記憶回路 43に出力される (図 2 6の C) 。 これによ り Iひ計算記憶回路 43に対して、 このひ計算記憶回路 43におけ る処理に適した順序、 タイミングにより第 1の確率 Iァ(ひ)が出力 される。
また第 1の確率 Iァは、 打切り長 D単位で区切られ、 各打切り長 Dよりさらに打切り長分だけ時間経過した時点に各基準時点が設定 され、 各打切り長から対応する基準時点まで RAM 3 04 a~30 4 eに蓄積されると、 各基準点から時間軸を遡る順序により I ?計 算記憶回路 4 5に出力される (図 2 6の D ~ G ) 。 このときこの基 準時点が、 続く打切り長の終了時点に設定されていることにより、 第 1の確率 Iァは、 1の打切り長から対応する基準時点までの分の 出力が完了しないうちに、 続く 1の打切り長から対応する基準時点 までの分の出力が開始され、 これにより 1の打切り長だけ内容及び 夕イ ミングかシフ トした 2系統により、 時間軸を遡る順序で I ?計 算記憶回路 4 5に出力される (図 2 6の D〜G ) 。 これにより I β 計算記憶回路 4 5に対して、 この/?計算記憶回路 4 5における処理 に適した順序、 タイミングにより 2系統の第 2の確率 Iァ , I 7 ( 5 2 ) が出力される。
また、 第 1の確率 Iァは、 I ひ計算記憶回路 4 4への出力と同様 に、 所定期間だけ遅延して、 時系列順に、 軟出力計算回路 4 6にお ける処理に適した順序及びタイ ミングで軟出力計算回路 4 6に出力 される。
そして、 I ひ計算記憶回路 4 4において、 第 1の確率 I ァから各 受信値毎に時間軸に沿った方向に各ステートに至る第 2の確率ひ (入)が算出されて軟出力計算回路 4 6における処理に適した順序及 びタイ ミングで軟出力計算回路 4 6に出力される。
これに対して I 計算記憶回路 4 5において、 時間軸を遡る順序 により入力される 2系統の確率 Iァ , Iァ( ? 2 ) は、 それぞ れ 1 5計算回路 5 0 4 , 5 0 7において、 1クロック後の対応する ステートの確率/? t と加算された後、 値の大きなものが選択され、 これにより各ステ一卜毎に時間軸を遡る方向の確率が計算される。 さらに、 このようにして順次計算される確率がセレクタ 5 0 5 , 5 0 8により初期値 I 3 a, I ?bと選択的に I 計算回路 5 04, 5 0 7に帰還されることにより、 上述した基準時点より時間軸を遡 る方向の確率が同時並列的に計算される (図 2 8の A、 B、 D、 E) 。
このようにして計算された 2系統の確率は、 基準点より遠ざかつ て十分な信頼性による打切り長の確率が選択的に格納されて出力さ れる。 このとき、 RAM 5 1 3 , 5 14を介した確率の選択出力の 際に、 これら確率 I ? (人)は、 格納時とは逆の時間軸に沿った順序 に並び替えられて、 軟出力計算回路 4 6に出力される。 これにより、 第 3の確率 I (え)も、 時系列に沿った軟出力計算回路 46の処理 に対応した順序により出力される。
軟出力計算回路 46においては、 図 7に示すように、 入力される 確率 Iひ(人)、 1 ? (人)、 Iァ(え)を並べ直すことなく、 また、 計 算した軟出力 I人を並べ直すことなく、 処理することがてき、 これ らにより簡易な構成で軟出力を得ることができる。
また、 1のシンボルを復号する際に、 拘束長 Xステート数の計算 に代えて、 2系統 Xステート数の計算により第 3の確率 I ?を計算 できることにより、 その分演算処理量が低減され、 全体構成が簡略 化される。
すなわち、 このようにして軟出力計算回路 4 6に入力された確率 Iひ(人)、 1 3(人)、 Iァ(え)は、 対応するステート毎に加算され、 これらの最大値がそれぞれ値 「 1」 及び値 「0」 の入力毎に検出さ れた後、 減算器 6 06により減算されことにより得られる軟出力 I At が受信値 Yt に対応する時系列順に出力される。
このように、 第 1の確率 Iァを打切り長 Dで区切って対応する基 準時刻を設定し、 各基準時刻より打ち切り長の確率 Iァを単位にし て、 時間軸を遡る順序で複数系統により出力して処理するように構 成し、 このときそれぞれ続く処理に適した順序により第 1、 第 2及 び第 3の確率 Iァ、 I ひ、 I ?を出力することにより、 拘束長 Xス テ一ト数の計算に代えて、 2系統 Xステ一ト数の計算により各シン ボルの軟出力を得ることができる。 このとき軟出力計算回路におい て、 入力された確率 I ァ、 I ひ、 I 又は計算した軟出力 I 人を並 ベ直すことなく、 軟出力 I えを計算することができる。 これにより 簡易な構成で、 軟出力を復号することができる。
なお、 上述の実施の形態においては、 打切り長を単位にして基準 時刻を設定する場合について述べたが、 本発明はこれに限らず、 必 要に応じて種々の位置に基準時刻を設定することができる。 また、 このようにして設定する基準時刻により、 1の基準時刻から対応す る打切り長までの長さが上述の実施の形態より長くなつた場合、 そ の分第 1の確率 I ァを多くの系統により出力し、 また I 計算記憶 回路において、 このようにして出力される確率 Iァに対応する系統 により処理することが必要になる。
また上述の実施の形態においては、 打切り長 = 4により軟出力を 計算する場合について述べたが、 本発明はこれに限らず、 必要に応 じて打切り長を種々の長さに設定することができる。
さらに上述の実施の形態においては、 拘束長 = 3により畳み込み 符号化処理する場合について述べたが、 本発明はこれに限らず、 種 々の拘束長による畳み込み符号を処理する場合に広く適用すること かできる。
また、 上述の実施の形態においては、 S W— M a x— L o g— B 0 J Rァルゴリズムにより軟出力を計算する場合について述べたが、 本発明はこれに限らず、 S W— L o g— B C J Rアルゴリズム等、 種々の軟出力復号アルゴリズムにより軟出力を計算する場合に広く 適用することができる。
以上のように、 本発明によれば、 確率倩報を打切り長 D以上記憶 し、 打切り長 D内の確率情報の更新と、 打切り長外の軟出力の計算 とを並列的に実行することにより、 1クロックあたりの計算量及び 各メモリに対するアクセス量を大幅に削減でき、 畳み込み符号の復 号動作を高速に行うことができる。 また、 打切り長以上の範囲を単 位にして時間軸を遡る方向に各ステートに至る確率を複数系列で計 算して処理することにより軟出力を計算するようにし、 このとき計 算した確率を続く計算処理に適した順序により出力することにより、 簡易な構成で、 軟出力を復号することができる軟出力復号装置及び 軟出力の復^方法を得ることができる。

Claims

請 求 の 範 囲
1 . 畳み込み符号の各遷移状態での確率情報を求める確率計算手 段と、
上記確率計算手段で求められる上記確率情報を記憶媒体に記憶す る確率記憶手段と、
上記記憶媒体に記憶されている上記確率情報を使用して軟出力を 求める軟出力計算手段とを備える畳み込み符号の軟出力復号装置で あって、
七記確率記憶手段は上記記憶媒体に上記確率情報を打切り長以上
'記憶し、
上記確率記憶手段による打切り長内の確率情報の更新と、 上記軟 出力計算手段による打切り長外の軟出力の計算とを並列的に実行す る
ことを特徴とする畳み込み符号の軟出力復号装置。
2 . 上記確率計算手段及び軟出力計算手段は、
ヒ記確率の積演算を対数による和演算により計算し、 上記確率の 和演算を対数による最大値演算により計算する
ことを特徴とする請求の範囲第 1項に記載の畳み込み符号の軟出 カ復号装置。
3 . 上記確率計算手段及び軟出力計算手段は、
上記確率の積演算を対数による和演算により計算し、 上記確率の 和演算を対数による最大値演算と一次元の関数演算とにより計算す る ことを特徴とする請求の範囲第 1項に記載の畳み込み符号の軟出 カ復号装置。
4 . 上記確率計算手段は、
受信値毎に、 符号の出力パターンと上記受信値によって決まる第 1の確率を計算する第 1の計算手段と、
上記第 1の確率に基づいて、 上記各受信値毎に、 符号化開始ステ 一卜から時系列順に各ステートに至る第 2の確率を計算する第 2の 計算手段と、 ' 上記第 1の確率に基づいて、 上記各受信値毎に、 打切りステート から上記時系列順とは逆順に各ステートに至る第 3の確率を計算す る第 3の計算手段とを有してなり、
上記確率記憶手段の打切り長内で更新される確率情報は、 上記第 3の確率の情報である
ことを特徴とする請求の範囲第 1項に記載の畳み込み符号の軟出 カ復号装置。
5 . 上記第 1の確率計算手段は、 上記第 1の確率を上記確率記 憶手段に一時保持し、 上記第 2及び第 3の確率計算手段、 上記軟出 力計算手段の各処理に対応した順序により順次読み出して出力し、 上記第 3の確率計算手段は、 上記第 1の確率を所定の打切り長単 位で区切って、 上記打切り長よりも時間軸方向に上記基準時点を設 定し、 少なくとも上記各基準時点より対応する上記打切り長の範囲 を単位にして、 複数系列により同時並列的に上記第 1の確率を処理 して複数系列により上記第 3の確率を計算し、 該計算した複数系列 の上記第 3の確率より上記打切り長に対応する第 3の確率を選択し て、 上記受信値に対応する上記第 3の確率を上記確率記憶手段に一 時保持し、 上記軟出力計算手段の処理に対応した順序により順次読 み出して出力する
ことを特徴とする請求の範囲第 4項に記載の畳み込み符号の軟出 カ復号装置。
6 . 上記第 1の確率計算手段は、
上記確率記憶手段に一時保持した第 1の確率を、 時間軸に沿った 順序で所定時間遅延して上記第 2の確率計算手段に出力し、 上記確率記憶手段に一時保持した第 1の確率を、 少なく とも上記 各基準時点より対応する上記打切り長の上記第 1の確率を含む範囲 を単位にして、 複数系列により時間軸を遡る順序で同時並列的に上 記第 3の確率計算手段に出力し、
上記確率記憶手段に一時保持した上記第 1の確率を、 時間軸に沿 つた順序で所定時間遅延して上記軟出力計算手段に出力する ことを特徴とする請求の範囲第 5項に記載の畳み込み符号の軟出 カ復号装置。
7 . 上記基準時点を、 続く上記打切り長の終了時点に設定したこ とを特徴とする請求の範囲第 5項に記載の畳み込み符号の軟出力復
8 . 畳み込み符号の各遷移状態での確率情報を求める第 1のステ ップと、
この第 1のステップで求められる上記確率情報を記憶媒体に打切 り長以上記憶する第 2のステップと、
この第 2のステップで記憶媒体に記憶された上記確率情報を使用 して軟出力を求める第 3のステップとを備える畳み込み符号の軟出 カ復号方法であって、 上記第 2のステップにおける打切り長内の確率情報の更新と、 上 記第 3のステツプにおける打切り長外の軟出力の計算とを並列的に 実行する
ことを特徴とする畳み込み符号の軟出力復号方法。
9 . 上記第 1のステップは、
受信値毎に、 符号の出力パターンと上記受信値によって決まる第 1の確率を順次計算する第 1の確率計算のステップと、
上記第 1の確率に基づいて、 上記各受信値毎に、 時間軸に沿った 方向に各ステートに至る第 2の確率を計算する第 2の確率計算のス テツプと、
上記第 1の確率に基づいて、 上記各受信値毎に、 所定の基準時点 より時間軸を遡った方向に各ステートに至る第 3の確率を計算する 第 3の確率計算のステツプと、
上記第 1、 第 2及び第 3の確率に基づいて軟出力を計算する軟出 力計算のステツプとを有し、
上記第 3の確率計算のステツプにおいて、 上記第 1の確率を所定 の打切り長単位で区切って、 上記打切り長よりも時間軸方向に上記 基準時点を設定し、 少なく とも上記各基準時点より対応する上記打 切り長の範囲を単位にして、 複数系列により同時並列的に上記第 1 の確率を処理して複数系列により上記第 3の確率を計算し、 該計算 しだ複数系列の上記第 3の確率より、 上記打切り長に対応する第 3 の確率を選択して上記受信値に対応する上記第 3の確率を出力し、 上記第 1の確率計算のステップにおいて、 上記第 1の確率を確率 記憶手段に一時保持し、 上記第 2及び第 3の確率計算のステツプ、 上記軟出力計算のステップの各処理に対応した順序により順次読み 出して出力し、 上記第 3の確率計算のステップにおいて、 上記第 3 の確率を確率記憶手段に一時保持し、 上記軟出力計算のステップに おける処理に対応した順序により順次読み出して出力する
ことを特徴とする請求の範囲第 8項に記載の畳み込み符号の軟出 カ復号方法。
1 0 . 上記第 1の確率計算のステップにおいて、
上記確率記憶手段に一時保持した第 1の確率を、 時間軸に沿った 順序で所定時間遅延して上記第 2の確率計算のステップに出力し、 上記確率記憶手段に一時保持した第 1の確率を、 少なく とも上記各 基準時点より対応する上記打切り長の上記第 1の確率を含む範囲を 単位にして、 複数系列により時間軸を遡る順序て同時並列的に上記 第 3の確率計算のステップに出力し、 上記確率記憶手段に一時保持 した第 1の確率を、 時間軸に沿った順序で所定時間遅延して上記軟 出力計算のステップに出力することを特徴とする請求の範囲第 9項 に記載の畳み込み符号の軟出力復号方法。
1 1 . 上記基準時点を、 続く上記打切り長の終了時点に設定した ことを特徴とする請求の範囲第 9項に記載の軟出力の復号方法。
1 2 . 上記第 1、 第 2及び第 3の確率計算のステップ、 上記軟出 力計算のステップにおいて、 上記確率の積演算を対数による和演算 により計算し、 上記確率の和演算を対数による最大値演算により計 算することを特徴とする請求の範囲第 9項に記載の畳み込み符号の 軟出力復号方法。
1 3 . 上記第 1、 第 2及び第 3の確率計算のステップ、 上記軟出 力計算のステップにおいて、 上記確率の積演算を対数による和演算 により計算し、 上記確率の和演算を対数による最大値演算と一次元 の関数演算との和により計算することを特徴とする請求の範囲第 9 項に記載の畳み込み符号の軟出力復号方法。
PCT/JP1999/002553 1998-05-28 1999-05-17 Decodeur d'image video pour code de convolution et procede de decodage d'image video WO1999062183A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020007000889A KR100544555B1 (ko) 1998-05-28 1999-05-17 길쌈 부호의 연출력 복호 장치 및 연출력 복호 방법
EP99919618A EP1017178A4 (en) 1998-05-28 1999-05-17 VIDEO IMAGE DECODER FOR CONVOLUTION CODE AND VIDEO IMAGE DECODING METHOD
JP2000551487A JP4178752B2 (ja) 1998-05-28 1999-05-17 畳み込み符号の軟出力復号装置及び軟出力復号方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP14676298 1998-05-28
JP10/146762 1998-05-28
JP10/238987 1998-08-25
JP23898798 1998-08-25

Publications (1)

Publication Number Publication Date
WO1999062183A1 true WO1999062183A1 (fr) 1999-12-02

Family

ID=26477498

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1999/002553 WO1999062183A1 (fr) 1998-05-28 1999-05-17 Decodeur d'image video pour code de convolution et procede de decodage d'image video

Country Status (6)

Country Link
US (1) US6192084B1 (ja)
EP (2) EP1017178A4 (ja)
JP (1) JP4178752B2 (ja)
KR (1) KR100544555B1 (ja)
CN (1) CN1144378C (ja)
WO (1) WO1999062183A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002176366A (ja) * 2000-09-18 2002-06-21 Lucent Technol Inc 通信の復号化の際に用いられるバタフライプロセッサ装置
JP2003523691A (ja) * 2000-02-14 2003-08-05 モトローラ・インコーポレイテッド 帰納畳込記号を解読するための方法および装置
JP2005539451A (ja) * 2002-09-18 2005-12-22 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データウィンドウを使用してデータを復号化するための方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6563877B1 (en) * 1998-04-01 2003-05-13 L-3 Communications Corporation Simplified block sliding window implementation of a map decoder
US6516437B1 (en) * 2000-03-07 2003-02-04 General Electric Company Turbo decoder control for use with a programmable interleaver, variable block length, and multiple code rates
US6757859B1 (en) * 2000-05-01 2004-06-29 Zarlink Semiconductor Inc. Parallel turbo trellis-coded modulation
JP3613134B2 (ja) * 2000-05-12 2005-01-26 日本電気株式会社 高速ターボデコーダ
JP3514217B2 (ja) 2000-06-29 2004-03-31 日本電気株式会社 ターボ復号方法及び受信機
US7234096B2 (en) * 2001-04-18 2007-06-19 Sharp Kabushiki Kaisha Decoding method and recording-medium reproducing apparatus
EP1207625B1 (en) * 2001-07-05 2005-05-11 Nec Corporation Method of decoding turbo-encoded data and receiver for decoding turbo-encoded data
US7661059B2 (en) * 2001-08-06 2010-02-09 Analog Devices, Inc. High performance turbo and Viterbi channel decoding in digital signal processors
US7260770B2 (en) * 2001-10-22 2007-08-21 Motorola, Inc. Block puncturing for turbo code based incremental redundancy
WO2003036797A1 (en) * 2001-10-25 2003-05-01 Koninklijke Philips Electronics N.V. Non linear scaling of reliability values in a turbo decoder system
KR100703307B1 (ko) * 2002-08-06 2007-04-03 삼성전자주식회사 터보 복호화 장치 및 방법
US7107509B2 (en) * 2002-08-30 2006-09-12 Lucent Technologies Inc. Higher radix Log MAP processor
US7346833B2 (en) * 2002-11-05 2008-03-18 Analog Devices, Inc. Reduced complexity turbo decoding scheme
US9071279B2 (en) * 2004-05-18 2015-06-30 Nxp, B.V. Turbo decoder input reordering
GB2416967B (en) * 2004-07-29 2007-01-31 Toshiba Res Europ Ltd Turbo equalization in a MIMO digital wireless wideband system
JP4840651B2 (ja) * 2006-07-27 2011-12-21 ソニー株式会社 復号装置および復号方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4038251A1 (de) * 1990-11-30 1992-06-04 Philips Patentverwaltung Entzerrer fuer ein digitales uebertragungssystem
IT1279114B1 (it) * 1995-02-17 1997-12-04 Cselt Centro Studi Lab Telecom Procedimento per la ricezione di segnali affetti da interferenza intersimbolica e relativo dispositivo.
JP3674111B2 (ja) * 1995-10-25 2005-07-20 三菱電機株式会社 データ伝送装置
US5721746A (en) * 1996-04-19 1998-02-24 General Electric Company Optimal soft-output decoder for tail-biting trellis codes
US5933462A (en) * 1996-11-06 1999-08-03 Qualcomm Incorporated Soft decision output decoder for decoding convolutionally encoded codewords

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YAMAMOTO H., ET AL.: "RECURSIVE MAP ALGORITHM.", IEICE TECHNICAL REPORT, DENSHI JOUHOU TSUUSHIN GAKKAI, JP, vol. 96., no. 394., 1 December 1996 (1996-12-01), JP, pages 01 - 06., XP002921828, ISSN: 0913-5685 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003523691A (ja) * 2000-02-14 2003-08-05 モトローラ・インコーポレイテッド 帰納畳込記号を解読するための方法および装置
JP4844949B2 (ja) * 2000-02-14 2011-12-28 モトローラ モビリティ インコーポレイテッド 帰納畳込記号を解読するための方法および装置
JP2002176366A (ja) * 2000-09-18 2002-06-21 Lucent Technol Inc 通信の復号化の際に用いられるバタフライプロセッサ装置
JP2005539451A (ja) * 2002-09-18 2005-12-22 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データウィンドウを使用してデータを復号化するための方法

Also Published As

Publication number Publication date
EP1311069A1 (en) 2003-05-14
JP4178752B2 (ja) 2008-11-12
US6192084B1 (en) 2001-02-20
KR20010022310A (ko) 2001-03-15
EP1017178A4 (en) 2001-02-21
KR100544555B1 (ko) 2006-01-24
CN1144378C (zh) 2004-03-31
CN1272253A (zh) 2000-11-01
EP1017178A1 (en) 2000-07-05

Similar Documents

Publication Publication Date Title
WO1999062183A1 (fr) Decodeur d&#39;image video pour code de convolution et procede de decodage d&#39;image video
KR20010072498A (ko) 맵 디코더용 분할 디인터리버 메모리
EP1564893A1 (en) Turbo decoder, turbo decoding method, and operating program of same
US6434203B1 (en) Memory architecture for map decoder
GB1594548A (en) Decoders
JP3246484B2 (ja) ターボデコーダ
JP2004080508A (ja) 誤り訂正符号の復号方法、そのプログラム及びその装置
KR20080098391A (ko) 양방향 슬라이딩 윈도우 아키텍처를 갖는 map 디코더
GB2365290A (en) Soft output decoder for convolutional codes using a sliding window technique which involves a learning period, stored forward recursion and backward recursion
Johansson et al. A simple one-sweep algorithm for optimal APP symbol decoding of linear block codes
JP2003318746A (ja) 軟出力復号器
WO2002021701A1 (en) Soft output decoder for convolutional codes
US6944727B2 (en) Interleaving apparatus and interleaving method, encoding apparatus and encoding method, and decoding apparatus and decoding method
US20130007568A1 (en) Error correcting code decoding device, error correcting code decoding method and error correcting code decoding program
EP1471677A1 (en) Method of blindly detecting a transport format of an incident convolutional encoded signal, and corresponding convolutional code decoder
KR101051933B1 (ko) 트렐리스의 버터플라이 구조를 이용한 맵 디코딩을 위한메트릭 계산
CN110730011A (zh) 一种基于部分叠加的递归分组马尔可夫叠加编码方法
US6877125B2 (en) Devices and methods for estimating a series of symbols
JP5116677B2 (ja) 軟出力復号器、反復復号装置、及び軟判定値算出方法
JP3888135B2 (ja) 誤り訂正符号復号装置
JP2002198935A (ja) 次世代移動通信システムにおけるターボディコーディングを行う方法
US6857101B1 (en) Apparatus and method of storing reference vector of state metric
KR100838907B1 (ko) 디코더 및 디코딩 방법
US6757859B1 (en) Parallel turbo trellis-coded modulation
KR100459414B1 (ko) 터보 복호기의 복호 방법

Legal Events

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

Ref document number: 99800819.2

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): CN JP KR

AL Designated countries for regional patents

Kind code of ref document: A1

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

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

Ref document number: 1020007000889

Country of ref document: KR

Ref document number: 1999919618

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1999919618

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020007000889

Country of ref document: KR

WWG Wipo information: grant in national office

Ref document number: 1020007000889

Country of ref document: KR