Patent Publication Number: US-6983412-B2

Title: Concatenation convolutional code decoder

Description:
This application is the US national phase of international application PCT/JP00/08677 filed 7 Dec. 2000, which designated the US. 

   TECHNICAL FIELD 
   The present invention relates to digital communications using an error correction technique. 
   BACKGROUND ART 
   Recently, rapid development has been found in the industries field relating to digital communications such as the Internet, digital cellular phones. Under such circumstances, basic studies for high-speed high-quality communications of information of importance have been intensively made. Of these studies, error correction techniques are part and parcel of establishment of high-quality communications using unstable communications paths such as digital mobile communications. 
   Turbo-coding is remarkable error correction codes that enable high-quality data communications to be made with a lesser amount of energy and have drawn wide attraction in recent years. In the field of digital mobile communications, this technique is highly expected to be adopted as a next-generation standard. 
   On the other hand, in the field of the CDMA (Code Division Multiple Access) technique, which is also expected to be a next-generation standard, the technique of interference cancellation for reducing interference has markedly drawn attraction because the capacity of the system is limited depending on the amount of interference. 
   Turbo coding is a new coding scheme published in 1993, and is constructed of a combination of two (or more than two) kinds of systematic convolutional coding (C. Berrou et al. “Near Shannon Limit error-correcting coding: Turbo codes”, Proceedings of ICF93 or “Near Optimum error-correcting coding: Turbo codes”, IEEE Transactions on Communications, Vol.44, no.10, 1996). The decoding process of turbo codes is featured by reducing errors by successively repeating decoding operations of these two kinds of systematic convolutional codes. Here, the configuration of the Turbo encoder and decoder and its decoding method will be described briefly. For detailed information, reference should be made to Isaka et al., ‘Fingerpost to Shannon limit: “parallel concatenated (Turbo) coding”, “Turbo (iterative) decoding” and its surroundings’, Technical Report IT98-51 of The Institute of Electronics, Information and Communication Engineers, J. Hagenauer “Iterative Decoding of Binary Block and Convolutional Codes”, IEEE Transactions on Information Theory, Vol.42, No.2 1996, and the like. 
   An encoder for turbo codes is shown in  FIG. 10 and a  block diagram of its decoder is shown in FIG.  11 . Two recursive systematic convolutional code (RSCC) encoders  1  and  2  are provided in parallel with an interleaver  3  interposed therebetween. An original information bit sequence X is rearranged into an interleaved stream, which is input to the second encoder  2 . Now, provided that the coding rate of the recursive systematic convolutional encoder is 1/2, parity bits Y 1  and Y 2 , which are obtained from respective encoders  1  and  2 , are added to the original information bit X, to produce a turbo code with a coding rate of 1/3. 
   With the decoder shown in  FIG. 11 , a decoder  4  first performs decoding of the first systematic convolutional codes, then the decoded result, after being processed through an interleaver  5 , is supplied to a decoder  6 , where decoding of the second systematic convolutional codes is performed. This result is further processed through deinterleaver  7  to be supplied to decoder  4  where decoding of the first systematic convolutional codes is performed again. This iterative decoding gradually improves the reliability of decoded symbols and reduces errors. 
   In decoding of systematic convolutional codes implemented in the process of the turbo coding, it is necessary to have the decoded result in addition with soft-decision information in order for it to be used for the subsequent decoding step. Decoder  4 , which corresponds to RSCC 1 , receives the signal (Lc y) that is obtained by having the received symbols weighted in proportion to the SNR (signal to noise ratio) and extrinsic information (likelihood information) and outputs the decoded result L(u) with the logarithm of likelihood ratio and extrinsic information L e (U) which is passed over to the subsequent decoder. 
   There are several decoding methods which can provide soft-decision result. Here, the MAP will be described. 
   MAP (Maximum A Posteriori Probability) decoding is one that determines, for each information symbol uk, the uk which will maximize the P(uk) under a condition where a received signal sequence y is given, as the decoded result. For this purpose, LLR (logarithm likelihood ratio: L(uk)) is determined in the following equation (1) 
               L   ⁡     (     u   k     )       =       log   ⁢           ⁢       P   ⁡     (       u   k     =       +   1     |   y       )         P   ⁡     (       u   k     =       -   1     |   y       )           =     log   ⁢           ⁢         ∑       (       s     k   -   1       ,     s   k       )     ,       u   k     =     +   1           ⁢     p   ⁡     (       s     k   -   1       ,     s   k     ,   y     )             ∑       (       s     k   -   1       ,     s   k       )     ,       u   k     =     -   1           ⁢     p   ⁡     (       s     k   -   1       ,     s   k     ,   y     )                       (     Eq   .           ⁢   1     )             
 
where 
               p   ⁡     (       s     k   -   1       ,     s   k     ,   y     )       =       ⁢       p   ⁡     (       s     k   -   1       ,     y     j   &lt;   k         )       ·     p   ⁡     (       s   k     ,       y   k     |     s     k   -   1           )       ·     p   ⁡     (       y     j   &gt;   k       |     s   k       )                     =       ⁢       p   ⁡     (       s     k   -   1       ,     y     j   &lt;   k         )       ·     p   ⁡     (       s   k     |     s     k   -   1         )       ·     p   ⁡     (       s   k     ,       y   k     |     s     k   -   1         ,     s   k       )       ·     p   ⁡     (       y     j   &gt;   k       |     s   k       )                     =       ⁢         α     k   -   1       ⁡     (     s     k   -   1       )       ·       γ   k     ⁡     (       s     k   -   1       ,     s   k       )       ·         β   k     ⁡     (     s   k     )       .                 
 
α k−1 (s k−1 )=P(s k−1 ,y j &lt; k ) is the possibility of the state being s k−1  at time k−1, determined recursively from the initial state. β k (s k )=P(y j &gt; k |s k ) is the possibility of the state being s k  at time k, similarly determined from the final state. γ k (s k−1 ,s k ) is the possibility of the transition from the state s k−1  at time k−1 to the state s k  at time k, and is given as the following equation (2):
 
γ k ( s   k−1   ,s   k )= P ( s   k   |s   k−1 )· p ( y   k   |s   k )  (Eq.2) 
 
   The above Eq. (2) can be calculated by Eq. (3 as follows: 
                 γ   k     ⁡     (       s     k   -   1       ,     s   k       )       =     exp   ⁡     [         1   2     ⁢       u   k     ⁡     (         L   e     ⁡     (     u   k     )       +       L   c     ⁢     y   k   s         )         +       1   2     ⁢     L   c     ⁢     y   k   p     ⁢     x   k   p         ]               (     Eq   .           ⁢   3     )             
 
α k (s k ) and β k (s k ) are obtained recursively by the following equations (4) and (5). 
                 α   k     ⁡     (     s   k     )       =       ∑     s     k   -   1         ⁢         γ   k     ⁡     (       s     k   -   1       ,     s   k       )       ·       α     k   -   1       ⁡     (     s     k   -   1       )                   (     Eq   .           ⁢   4     )                   β     k   -   1       ⁡     (     s     k   -   1       )       =       ∑     s   k       ⁢         γ   k     ⁡     (       s     k   -   1       ,     s   k       )       ·       β   k     ⁡     (     s   k     )                   (     Eq   .           ⁢   5     )             
 
   With these, the logarithm of likelihood ratio L(u k ) is determined by the following equation (6) 
               L   ⁡     (     u   k     )       =     log   (         ∑     S   +       ⁢         α     k   -   1       ⁡     (     s     k   -   1       )       ·       γ   k     ⁡     (       s     k   -   1       ,     s   k       )       ·       β   k     ⁡     (     s   k     )               ∑     S   -       ⁢         α     k   -   1       ⁡     (     s     k   -   1       )       ·       γ   k     ⁡     (       s     k   -   1       ,     s   k       )       ·       β   k     ⁡     (     s   k     )             )             (     Eq   .           ⁢   6     )             
 
where 
       ∑     S   +         
 
indicates the summation when u k −1 and 
       ∑     S   -         
 
indicates the summation when u k =−1.
 
   Further, the extrinsic likelihood information L e (u k ) to be sent to the subsequent systematic convolutional code encoder is obtained by subtracting the weighted, received signal L c y k   s  and the extrinsic likelihood information L c (u k ) that was input to this decoder, from the above logarithm of likelihood ratio L(u k ). 
   Here, in the above-described turbo encoder, two systematic convolutional encoders  1  and  2  are used in parallel with an interleaver  3  in between, but two systematic convolutional encoders  1  and  2  may be used serially as shown in  FIG. 12  to construct a serial concatenation of interleaved codes (SCCC), which also function as similar error correcting codes. In the configuration shown in  FIG. 12 , a puncture P is interposed between the parallel/serial converter P/S on the downstream side of systematic convolutional encoder  1  and interleaver  3  so as to thin out part of the bit sequence, to thereby improve the coding efficiency of the outer code encoder. 
   Also in the decoding process of serially concatenated convolutional codes, soft-input soft-output decoders are used to successively decode two kinds of systematic convolutional codes in a similar manner to the way the turbo codes are decoded as shown in  FIG. 13 , so as to able to reduce errors by performing iterative decoding using the likelihood information of the previously decoded result. Here, the systematic convolutional encoder  1  as the outer-code encoder ( FIG. 12 ) and the systematic convolutional encoder  2  as the inner-code encoder may be configured of other systematic convolutional encoders. For the detail of the SCCC, reference should be made to Sergio Benedetto et al. “Serial Concatenation of Interleaved Codes: Performance Analysis, Design, and Iterative Decoding”, IEEE Transactions on Information Theory, Vol.44, No.5 May 1998. 
   Next, interference cancelers for removing interference with other stations in the CDMA system will be described. Many study reports have been presented on the interference cancelers for removing interference with other stations in the CDMA system. For example, Y. C. Yoon et al. “A Spread-Spectrum Multiaccess System with Cochannel Interference Cancellation for Multipath Fading Channels”, IEEE Journal on Selected Areas in Communications, vol.11, No.7, September 1993. 
   When k users share the same frequency by code division multiple access, the received signal is formulated by the following equation (7). 
               r   ⁡     (   t   )       =       n   ⁡     (   t   )       +       ∑     k   =   1     K     ⁢       s   k     ⁡     (     t   -     τ   k       )                   (     Eq   .           ⁢   7     )             
 
   In this case, for a user who tries to receive s 1 (t), the other signals s k (t)(k≠1) are interference signals which degrade the communication quality. To deal with this, as shown in the following equation (8), the receiver of s 1 (t) demodulates signals s k (t)(k≠1) at the same time to produce replica signals rs k (t) and subtracts them from the received signal to thereby remove the interference components from the signal. 
                 r   ⁡     (   t   )       -       ∑     k   =   2     K     ⁢       rs   k     ⁡     (     t   -     τ   k       )           =         s   1     ⁡     (     t   -     τ   1       )       +     n   ⁡     (   t   )       +     E   ⁡     (   t   )                 (     Eq   .           ⁢   8     )             
 
   Here, since the replica signals are not always correct, some error (the term e(t)) may arise if this is so. This error will be generated by decision errors of the demodulated data and/or estimation errors of τ k . Since use of the data judged from the signal having undergone interference cancellation improves the accuracy of the replicas, it can be expected that multiple numbers of canceling will be able to reduce the error ratio of the wanted signal step by step. This scheme is called subtract type multi-stage canceller. 
   In the conventional schemes, the decoding process of error correcting codes and the interference cancellation are performed separately. Therefore, if interference cancellation is imperfect, this is regarded as noise which is impossible to be removed, causing deterioration of error correcting capability. 
   Further, since complex decoding is needed when error correcting codes such as convolutional codes are used, it is considered that it is difficult to combine multi-stage interference cancellation with the decoding process. 
   The present invention has been devised in order to solve the above problems, it is therefore an object of the present invention to provide a parallel or serial concatenated convolutional code decoder which is able to perform decoding of error correcting codes and interference cancellation simultaneously with a simple configuration. 
   DISCLOSURE OF INVENTION 
   In order to achieve the above object, the present invention has the following configurations. 
   The first aspect of the present invention resides in a concatenated convolutional code decoder in a receiving device which receives transmitted signals of encoded signals, which each have been produced by convolutionally encoding an information signal using a concatenated convolutional encoder having a first convolutional encoder and second convolutional encoder for implementing conventional encoding, connected in parallel or in series with an interleaver interposed therebetween for rearranging input data based on a predetermined rule, the concatenated convolutional code decoder comprising: a plurality of decoding and encoding portions, each having (i) a soft-decision decoding portion for implementing a soft-decision decoding process which decodes a received signal using a likelihood information for decoding produced by a previous soft-decision decoding process and outputs a decoded signal and a likelihood information for decoding of the decoded signal, (ii) a concatenated convolutional encoding portion for subjecting the decoded signal at the soft-decision decoding portion to the same convolutional encoding process as that of a concatenated convolutional encoder to produce a replica of a transmitted encoded signal, and (iii) a transmitted signal replicating portion for producing a replica of a transmitted signal from the replica of the encoded signal produced at the concatenated convolutional encoding portion; and an interference canceler for removing from the received signal an interference signal which is determined by the transmitted signal replicating portion, based on a replica of a transmitted signal from a transmitting station from which no reception is wanted, wherein a received signal output from the interference canceler is subjected to the soft-decision decoding process at the soft-decision decoding portion to extract an information signal. 
   The second aspect of the present invention, resides in a concatenated convolutional code decoder in a receiving device which receives transmitted signals of encoded signals with parity signals, which each have been produced by convolutionally encoding an information signal using a concatenated convolutional encoder having a first convolutional encoder and second convolutional encoder for implementing conventional encoding, connected in parallel or in series with an interleaver interposed therebetween for rearranging input data based on a predetermined rule, the concatenated convolutional code decoder comprising: a plurality of decoding and encoding portions, each having (i) a soft-decision decoding portion for implementing a soft-decision decoding process which decodes a received signal using a likelihood information for decoding produced by a previous soft-decision decoding process and outputs a decoded signal, a likelihood information for decoding of the decoded signal and a code sequence likelihood information of the decoded signal and parity signals, (ii) a concatenated convolutional encoding portion for subjecting the information signal determined at the soft-decision decoding portion to the same convolutional encoding process as that of the concatenated convolutional encoder to produce a replica of a transmitted encoded signal, (iii) a transmitted signal replicating portion for producing a replica of a transmitted signal from the replica of the transmitted encoded signal produced at the concatenated convolutional encoding portion, and (iv) a weighting portion for weighting the replica of the encoded signal or the replica of the transmitted signal using the code sequence likelihood information; and an interference canceler for removing from the received signal an interference signal which is determined by the weighting portion, based on a replica of a transmitted signal from a transmitting station from which no reception is wanted, wherein a received signal output from the interference canceler is subjected to the soft-decision decoding process at the soft-decision decoding portion to extract an information signal. 
   The third aspect of the present invention resides in the concatenated convolutional code decoder, defined by the first or second aspect, wherein the processing sequence from the interference canceler to the decoding and encoding portion can be repeated by a predetermined number of times. 
   The fourth aspect of the present invention resides in the concatenated convolutional code decoder, defined by any one of the first through third aspects, the soft-decision decoding portion determines the information signal after the soft-decision decoding process has been repeated by a predetermined number of times. 
   The fifth aspect of the present invention resides in the concatenated convolutional code decoder, defined by the first aspect, wherein the received signal is a spread signal including transmitted signals from a plurality of transmitting stations, a despreading portion for despreading the received signal using a spreading code of each of the transmitting stations are provided, the soft-decision decoding portion receives as an input signal a signal that has been despread by the despreading portion, and the transmitted signal replicating portion has a spreading portion for spreading the replica of the transmitted signal. 
   The sixth aspect of the present invention resides in the concatenated convolutional code decoder, defined by the second aspect, wherein the received signal is a spread signal including transmitted signals from a plurality of transmitting stations, a dispreading portion for despreading the received signal using a spreading code of each of the transmitting stations are provided, the soft-decision decoding portion receives as an input a signal that has been despread by the despreading portion, and the transmitted signal replicating portion has a spreading portion for spreading the replica of the transmitted signal weighted by the weighting portion. 
   The seventh aspect of the present invention resides in the concatenated convolutional code decoder, defined by the first or second aspect, wherein the received signal is a despread signal based on a spreading code, the interference canceler is adapted to weight the interference signal of the replica, being among the replicas of the transmitted signals produced at the transmitted signal replicating portions, of the transmitted signal which is not wanted to be received, in accordance with a cross-correlation between the spread codes and implements an interference cancellation in units of the symbols after despreading. 
   The eighth aspect of the present invention resides in the concatenated convolutional code decoder, defined by the first aspect, wherein the soft-decision decoding portion comprises: a first soft-decision decoder for implementing soft-decision decoding corresponding to a first convolutional encoder based on the received signal and outputting a first likelihood information; an interleaver portion for rearranging the received signal and the first likelihood information in correspondence with the interleaver and outputting a rearranged received signal and a rearranged first likelihood information; a second soft-decision decoder for implementing soft-decision decoding corresponding to a second convolutional encoder based on the received signal, the rearranged first likelihood information and the rearranged received signal and outputting a second decoding information and a second likelihood information; a deinterleaver portion for rearranging the second decoding information and the second likelihood information in correspondence with the interleaver and outputting a rearranged second decoding information and the likelihood information for decoding; and a decoding judgment portion for judging the rearranged second decoding information and outputting the decoded information signal. 
   The ninth aspect of the present invention resides in the concatenated convolutional code decoder, defined by the second aspect, wherein the soft-decision decoding portion comprises: a first soft-decision decoder for implementing soft-decision decoding corresponding to a first convolutional encoder based on the received signal and outputting a first likelihood information and a first parity likelihood information as to a first parity signal; an interleaver portion for rearranging the received signal and the first likelihood information in correspondence with the interleaver and outputting a rearranged received signal and a rearranged first likelihood information; a second soft-decision decoder for implementing soft-decision decoding corresponding to a second convolutional encoder based on the received signal, the rearranged first likelihood information and the rearranged received signal and outputting a second decoding information, a second likelihood information and a second parity likelihood information as to a second parity signal; a deinterleaver portion for rearranging the second decoding information and the second likelihood information in correspondence with the interleaver and outputting a rearranged second decoding information and the likelihood information for decoding; a decoding judgment portion for judging the rearranged second decoding information and outputting the decoded information signal; and a likelihood information synthesizer for outputting a code sequence likelihood information based on the rearranged second decoding information, the first parity likelihood information and the second parity likelihood information. 
   According to the first aspect of the present invention, the receiver receives a plurality of transmitted signals of code signals, each being made up of a convolutionally encoded information signal and having been transmitted from a plurality of transmitting stations. In each of the plurality series of decoding and encoding portions provided for each of the received signals from different transmitting stations, the information signal and the replica of the transmitted signal for each of the received signals from different transmitting stations is produced, so as to obtain the desired information signal again by canceling the received signal from the transmitting station from which no reception is wanted. 
   To produce the replica of the transmitted signal, first, the soft-decision decoding portion implements the soft-decision decoding process made up of decoding the received signal using the likelihood information produced by the previous soft-decision decoding process and outputting the decoded signal and the likelihood information of the decoded signal. 
   Next, the concatenated convolutional encoding portion subjects the decoded signal to the same convolutional encoding process as the concatenated convolutional encoder to produce replicas of the transmitted encoded signals. 
   Further, the transmitted signal replicating portion produces the replica of the transmitted signal from each transmitting station, from each replicas of the encoded signal produced at the concatenated convolutional encoding portion. 
   Finally, the interference canceler removes from the received signal the interference signal which is determined based on the replica of the transmitted signal from the transmitting station from which no reception is wanted. Then, the received signal from which the interference signal has been canceled is subjected to the soft-decision decoding process at the soft-decision decoding portion, thus making it possible to extract the information signal. 
   According to the second aspect of the present invention, in addition to the first aspect, the soft-decision decoding portion is adapted to output the likelihood information of the parity signal and the weighting portion is provided to weight the replicas of the coded signals or the replicas of the transmitted signals based on the likelihood information of the parity signals to thereby produce a high-precision decoded result. 
   According to the third aspect of the present invention, since the processing sequence from the interference canceler to the decoding and encoding portion is allowed to be repeated by a predetermined number of times, it is possible to obtain a high-precision decoded result by increasing the number of repetitions. 
   According to the fourth aspect of the present invention, since the processing sequence from the interference canceler to the decoding and encoding portion is allowed to be repeated by a predetermined number of times so as to increase the accuracy of the replicas of the transmitted signals, an improved efficiency of the interference cancellation through the interference canceler can be achieved, thus making it possible to obtain a high-precision decoded result. 
   According to the fifth or sixth aspect of the present invention, the received signal is a spread signal including transmitted signals from a plurality of transmitting stations, despreaders for despreading the received signal using the spreading code of each of the transmitting stations are provided, the soft-decision decoding portion receives as the input signal the signal that has been despread by the despreadlng portions, and the transmitted signal replicating portion has a spreading portion for spreading the replica of the transmitted signal. This configuration improves resistance against interference, anti-multipath characteristics and the like. 
   According to the seventh aspect of the present invention, the received signal is a despread signal based on the spreading code, the interference canceller weights the interference signal of the replica, being among the replicas of the transmitted signals produced at the transmitted signal replicating portions, of the transmitted signals which are not wanted to be received, in accordance with the cross-correlation between the spread codes and implements interference cancellation in units of the symbols after despreading. This configuration improves the efficiency of interference cancellation through the interference canceler, making it possible to obtain a high-precision decoded result. 
   According to the eighth and ninth aspects of the present invention, it is possible to output the decoded information signal, the likelihood information and the likelihood information as to the parity signals. 
   According to the present invention, by adding the operation of canceling the interference components in the decoding process of turbo codes, it is possible to bring great improvement in the characteristics such that decoding process of error correcting codes and interference cancellation process can be performed simultaneously while increase in the amount of processing is suppressed. 

   
     BRIEF DESCRIPTION OF DRAWINGS 
       FIG. 1  is a block diagram showing a turbo encoder in accordance with the first embodiment of the present invention; 
       FIG. 2  is a block diagram showing the first and second stages of a turbo decoding process in accordance with the first embodiment of the present invention; 
       FIG. 3  is a block diagram showing a turbo decoder in accordance with the first embodiment of the present invention; 
       FIG. 4  is a block diagram showing the first and second stages of a turbo decoding process in accordance with the second embodiment of the present invention; 
       FIG. 5  is a block diagram showing the first and second stages of a turbo decoding process in accordance with the third embodiment of the present invention; 
       FIG. 6  is a block diagram showing a turbo decoder in accordance with the third embodiment of the present invention; 
       FIG. 7  is an error ratio characteristics chart in accordance with the third embodiment of the present invention: 
       FIG. 8  is a block diagram showing the first and second stages of a turbo decoding process in accordance with the fourth embodiment of the present invention; 
       FIG. 9  is a block diagram showing the first and second stages of a turbo decoding process in accordance with the fifth embodiment of the present invention; 
       FIG. 10  is a block diagram showing a conventional turbo encoder; 
       FIG. 11  is a block diagram showing a conventional turbo-code decoder; 
       FIG. 12  is a block diagram showing a conventional SCCC encoder; and 
       FIG. 13  is a block diagram showing a conventional SCCC decoder. 
   

   BEST MODE FOR CARRYING OUT THE INVENTION 
   The embodiments of the present invention have been devised by paying attention to the fact that iterative decoding of parallel or serial concatenated convolutional codes, such as turbo codes, SCCC and the like, outputs provisional decoded results and likelihood information in the course of the decoding process and effective use of these makes it possible to implement interference cancellation without marked increase in the amount of operations for decoding. 
   That is, both interference cancellation and iterative decoding of turbo codes, SCCC or the like are enabled to be performed simultaneously by decoding a plurality of turbo codes, SCCC or the like which interfere with one another, in parallel and block-wise, performing iterative decoding, making use of the decoded data and likelihood information obtained as the transitive decoding result of turbo codes, SCCC or the like, to decode other blocks. 
   Referring now to  FIGS. 1  to  3  the first embodiment of the present invention will be described in detail. 
     FIG. 1  is a block diagram showing a parallel concatenated convolutional coder (PCCC: turbo encoder) wherein a systematic (recursive) convolutional (RSC) encoders  10  and  11  are arranged in parallel with an interleaver  12  interposed therebetween. 
   Interleaver  12  rearranges an input data sequence X so as to create a data sequence XI which is composed of the same elements but arranged in a different order. 
   The data sequence (parity data) obtained by recursively convoluting an input data sequence X through RSC encoder  10  is assumed as Y 1  while the data sequence (parity data) obtained by recursively convoluting the data sequence XI, which was rearranged by interleaver  12 , through encoder  11  is assumed as Y 2 . 
   In other words, the first parity code sequence Y 1  and the second parity code sequence Y 2  are generated from input data sequence X, so the encoder produces parallel outputs (X, Y 1 , Y 2 ). 
   Upon transmission, the input data sequence X, first code sequence Y 1  and second code sequence Y 2  are passed through a parallel/serial converter P/S and the processed result is spectrum despread through a spreader  13  so that the signal is send out as a spread code sequence (X′. Y 1 ′, Y 2 ′). 
     FIG. 2  shows a basic structure of a turbo decoder of a received signal r(t) which is comprised of transmitted signals from a plurality of transmitting stations. Here, for description convenience, illustration is given showing a case where three users are making code division multiple access on the same frequency. In  FIG. 2 , one cycle of decoding is called one stage, and the first stage ST 1  and the second stage ST 2  among iterative decoding are shown. Here, since decoding of an identical scheme is implemented in parallel for every user, the turbo-code decoder for one user will be described hereinbelow. 
   As shown in  FIG. 2 , the initial stage of the turbo decoding process, or the first stage ST 1 , is comprised of a despreader  15 , turbo-code decoder  16 , turbo-code re-encoder  17  and re-spreader  18 , all being arranged in series. 
   Despreader  15  despreads the input received signal sequence (X′, Y 1 ′, Y 2 ′) using respective spreading codes. In this process, some interference component may remain in each signal depending on the strength of cross-correlation. The despread received signal sequences (X, Y 1 , Y 2 ) are made to pass through serial/parallel converter S/P (see  FIG. 3 ) and are supplied separately to turbo-code decoder  16 . 
   In turbo-code decoder  16 , a single cycle of decoding process is performed first. This operation of decoding is the same as the conventional decoding process of turbo codes and will be described with reference to the block diagram shown in FIG.  3 . 
   Turbo-code encoder  16  is generally comprised of soft-decision decoders  20  and  23 , interleavers  21  and  22 , a deinterleaver  24  and a decoding judgment portion  25 . 
   Soft-decision decoders  20  and  23  are soft-decision decoding portions producing soft-decision output based on soft-decision input. For example, they are decoders which implement MAP decoding, SOVA (Soft output Viterbi Algorithm) decoding or the like, and execute decoding using the likelihood information from the previous stage and output the decoded result with likelihood information and the likelihood information of the decoded result. 
   Interleavers  21  and  22  implement the same operation as that of interleaver  12  used on the encoder side and can be provided as a single interleaver portion by one of them being shared. 
   Deinterleaver  24  is a rearranging means for restoring the original data sequence from the data sequence which has been rearranged by the interleaver. This may also be shaped with the above interleavers  21  and  22 . However, in the case where the interleavers  21  and  22  are used for this purpose, an unillustrated switch or the like is needed as the switching means for switching input data. 
   Decoding judgment portion  25  is a means for creating data after error correction and removes the likelihood from the decoded symbols with likelihood and determines whether the information is 0 or 1. 
   The thus configured parallel concatenated convolutional code (turbo code) decoder  16  receives the received signal sequences (X, Y 1 , Y 2 ) and the likelihood information E determined by the previous decoding process of the signal. Among these, the received signal sequences (X, Y 1 ) and likelihood information E are input en bloc to soft-decision decoder  20 , where the first error correcting process of the soft-decision output is implemented. By this operation, the error correcting process corresponding to the systematic convolutional coding in systematic convolutional encoder  10 ( FIG. 1 ) is implemented, resultantly new likelihood information E 1  for each signal is produced. 
   Since rearrangement of data is implemented by interleaver  12  prior to the systematic convolution by systematic convolutional encoder  11  as shown in  FIG. 1 , interleavers  22  and  21  corresponding to input data X and likelihood information E 1  implement rearrangement of data to create new data sequences X 1  and E 1 ′, respectively. Then, using this likelihood information, soft-decision decoder  23  performs soft-decision soft-output error correcting process of the received signal sequences (X 1 , Y 2 ) in combination with the likelihood information E 1 ′. By this operation, the error correcting process corresponding to the encoding in systematic convolutional encoder  11  is implemented, resultantly decoded result LX with likelihood information and the likelihood information E 2  are produced. 
   Since the data sequences X 1  and E 1 ′ input to soft-decision decoder  23  have been rearranged by interleavers  22  and  21 , the data of likelihood information E 2  should be rearranged by a deinterleaver  24   a  to produce likelihood information E 2 ′. This likelihood information E 2 ′ is used once again as the likelihood information E (E 2 ′) for soft-decision soft-output error correcting process which will be implemented at the next stage by soft-decision decoder  20 . 
   The decoded result LX′ with likelihood after rearrangement output from deinterleaver  24   b  is supplied to decoding judgement portion  25  where its likelihood information is removed so as to produce error corrected data X 2 . 
   Here, as shown in  FIG. 2 , pieces of likelihood information corresponding to the second and third users which are extracted at the first stage and input to associated decoders  16  at the second stage are represented by E 2 ′ b  and E 2 ′ c , respectively. Similarly, pieces of likelihood information extracted from associated decoders  16  at the second stage and input to associated decoders  16  at the unillustrated third stage are represented by E, Eb and Ec, receptively. 
   The data sequence X 2  ( FIG. 3 ) obtained as the decoded result of the above one cycle of decoding is input to encoder (turbo encoder)  17  for producing a replica signal of the transmitted signal as shown in  FIG. 2  so that it is once again encoded into turbo codes, which is further spread again at a re-spreader  18  by spreading codes to generate a replica signal RX 1  of the transmitted signal. The replica signals of users  2  and  3  are designated by RX 2  and RX 3 , respectively. 
   In order to create replicas of the signals from other users sent out from other base stations, three series of blocks from the despreader  15  to re-spreader  18  are provided in parallel for individual users to configure the first stage ST 1 . 
   The second stage ST 2  is implemented by an iterative process of the first stage ST 1 . That is, the received signal r(t) is passed through a delay circuit (Delay)  14  so that the process of the second stage is implemented with a delay of a predetermined time lag relative to the first stage. In the second stage ST 2 , a subtracter  26  for subtracting replica signals RX of other users (the second and third users) from the input data sequence X′ of the received signal is provided prior to despreader  15 , in addition to the configuration of the first stage. In the first stage ST 1 , replica signals RX of other users to be subtracted are null, so that they are not depicted. 
   In the second stage ST 2 , first in subtracter  26 , replica signals (RX 2 +RX 3 ) for other users (the second and third users) obtained from the previous stage ST 1  are subtracted from the received signal r(t) (cancellation of interference components) so as to produce new received sequences (input data sequence X 2 ′, the first code sequence Y 1 ′, the second code sequence Y 2 ′). Here, cancellation of the interference components can be implemented correctly by subtracting the replicas (RX 2 +RX 3 ) of the interference components, which have been generated from the replica signals by taking into account the influences of the gains of the communication paths, phase rotations, and other factors, as the signal of the bandwidth of the signal spread from the received signal. 
   The above received sequences (X 2 ′, Y 1 ′, Y 2 ′) are despread by despreader  15  and supplied to turbo decoder  16 . At this point, the first user likelihood information E 2 ′ which was generated at the first stage ST 1  is used as extrinsic information. 
   The process after turbo decoder  16  and downwards includes the same processes  17  and  18  as the first stage ST 1 , where a replica signal RX 1   2  is produced. 
   Thus, by repeating the process similar to the way that data decoding and generation of replica signals are implemented in the second stage ST 2 , in a usual, iterative manner of decoding for turbo codes, it is possible to cancel the interference components as well as to decode turbo codes as error correcting codes, with a simple configuration. That is, the turbo-code decoder of the present embodiment is featured by provision of the function of generating replica signals RX from interfering stations and removing them from the received signal, so that the complexity of decoding will not increase compared to the conventional turbo decoders (through the repeated number should be increased in order to obtain improved characteristics). Further, when the turbo decoding process is substituted by a simple hard-decision process, this results in a similar configuration to the conventional subtraction type multi-stage interference canceller, thus enabling a simple configuration to perform both cancellation of interference components and decoding of turbo codes as error correcting codes, simultaneously. 
   (The Second Embodiment) 
   Next, the second embodiment of the present invention will be described in detail with reference to FIG.  4 . Here, the same components as in the above embodiment are allotted with the same reference numerals and the description will be omitted. 
   In the above first embodiment, the turbo decoding process at decoder  16  at each stage ST is performed once for every stage and then the operation goes to the subsequent stage ST. In this case, when replica signal RX is produced, the precision of generation of the replica signal may become lowered if the decoded data includes many errors, possibly leading to an increase in errors. To avoid this, in the present embodiment, errors of the decoded data are reduced by performing a predetermined number of feedback loops in the turbo decoding process at each stage so as to enhance the accuracy in producing replica signals. 
     FIG. 4  is a block diagram showing a process scheme in the present invention. The difference from the arrangement of the first embodiment shown in  FIG. 2  is in that a plurality of loops are repeated for decoding turbo codes at each decoder  16  before replica signal RX is produced at the first stage ST 1 . More specifically, iterative turbo decoding process is performed by using the likelihood information E 2 ′ from deinterleaver  24  ( FIG. 3 ) as the input likelihood information E to the first stage ST 1 . After reduction of decoded data errors by the above process, replica signal RX is produced, and this is followed by the interference cancellation process at the second stage ST 2 . 
   Of course, the iterative number of turbo-code decoding process at each stage ST can be set arbitrarily. For example, it is possible to vary the number of loops such that there are six loops at the first stage ST 1  and one loop only at the second stage ST 2  and thereafter. 
   Thus, the above process enables effective implementation of interference cancellation by reducing errors of decoded data X 2  ( FIG. 3 ) hence enhancing the accuracy of the replica signals RXn when replica signals RXn are produced. 
   (The Third Embodiment) 
   Next, the third embodiment of the present invention will be described in detail with reference to  FIGS. 5 and 6 . Here, the same configurations as in the above embodiments are allotted with the same reference numerals and the description will be omitted. 
     FIG. 5  is a block diagram showing the system configuration of the present embodiment. The difference from the configuration of the first embodiment resides in that decoders  16   b  output likelihood values LY 1  and LY 2  of parity data Y 1  and Y 2  ( FIG. 6 ) and aweighting portion  27  is provided downstream of each turbo encoder  17  (FIG.  5 ). 
   Weighting portion  27  is a means which is disposed downstream of turbo encoder  17  and estimates the accuracy of the replica signal based on the likelihood information LLR ( FIG. 6 ) obtained from the decoding process of turbo codes at decoder  16   b  and performs a weighting process on the replica signal. The error corrected data X 2  having been weighted by weighting portion  27  is spread by re-spreader  18  so as to produce a weighted replica signal URX. 
   Similarly to the above embodiment, the weighted replica signals URX 1  to URX 3 , produced at the first stage ST 1  for different users are supplied appropriately to subtracting portions  26  of each user at the next stage, or second stage ST 2 , so as to implement subtraction of the sum of the weighted replica signals of the other users. 
   In order to be able to output the likelihood values of parity data Y 1  and Y 2 , the decoder  16   b  has a likelihood information synthesizer  28  as shown in  FIG. 6 , in addition to the configuration of the above-described decoder  16 . Likelihood information synthesizer  28  receives as its input the parity symbol LY 1  with likelihood information determined by soft-decision decoder  20 , the parity symbol LY 2  with likelihood information determined by soft-decision decoder  23  and decoded symbol LX′ with likelihood information output from deinterleaver  24   b  and outputs as likelihood information of a code sequence the likelihood information of the decoded symbol and parity symbols en bloc to weighting portion  27  (FIG.  5 ). 
   The likelihood values of parity symbols Y 1  and Y 2  ( FIG. 6 ) can be obtained by the above equation (6) similarly to the likelihood value of the aforementioned information symbol (the information symbol u k  is assumed to be the parity symbol). 
   The weighted replica signal is given by the following equation (9):
 
 I   k= tan h ( L ( x ))·δ(sign( x ), x′ ), 
 
where x is substituted by uk. δ(a,b) is a function which is equal to 1 when a=b only and is equal to 0 otherwise. x′ indicates a symbol obtained by re-encoding. Sign(x) is a function which is equal to 1 when x is positive and is equal to −1 when x is negative. That is, the weight is set at the tanh of the likelihood information LLR when the sign of the re-encoded symbol coincides with that of the symbol obtained from the likelihood information LLR, and set at 0 otherwise.
 
     FIG. 7  shows error ratio characteristics of the present embodiment. Turbo-codes have a constraint length of 3 and a block length of 1000. The number of iterative decoding is assumed to be 18. The modulations for both the information modulation and spread modulation are implemented by the BPSK (Binary Phase Shift Keying). The spreading ratio is 4 and as to the spreading codes, the maximal-length sequence having a period of (2 18 −1) is truncated based on the frame length. It is assumed that the communication path is static and the wanted station and interfering stations present the same received signal level. 
     FIG. 7  comparatively shows the characteristics of the cases where the number of users varies from one to five under the above conditions. The single user case is free from interference and is assumed to present the ideal characteristics. In contrast, as the number of users increases, degradation of the characteristic occurs due to interference. However, the decoding operation with the interference canceling (IC) function of the present embodiment turned out to markedly improve the characteristics. 
   As described heretofore, each code block is subjected in parallel or in series with others to the process comprising the steps of producing replicas of the transmitted signals by weighting the aforementioned error corrected signal X 2  ( FIG. 6 ) in accordance with the ratio of the interference with the wanted component of the received signal, using the likelihood information and subtracting the replicas from the received signal (to remove interference components). This cycle is repeated over a plurality of stages to thereby complete the decoding process, whereby it is possible to obtain high-accuracy decoded result. 
   (The Fourth Embodiment) 
   Next, the fourth embodiment of the present invention will be described in detail with reference to the block diagram showing a system configuration of the present embodiment shown in FIG.  8 . Here, the same components as in the above embodiments are allotted with the same reference numerals and the description will be omitted. 
   In each stage in the first through third embodiments, a spread received signal r(t) is received while the spread replica signals RX generated for individual user in the previous stage are subtracted. In this embodiment, received signal sequences r 1  (X′, Y 1 ′, Y 2 ′) are reverse spread in the first stage ST 1  and they are supplied as the input signals to the second stage ST 2  and downwards. 
   Therefore, no despreader  15  as above is provided for the second stage and downwards. Since the input signals to the second stage and downwards are not spread signals, the replica signals of the transmitted signals produced at each stage do not need to be spread so no re-spreader  18  ( FIG. 2 ) is provided. 
   Accordingly, at subtracter  26  at the second stage ST 2  or downwards, the sum of the non-spread replica signals of the others is subtracted from the despread received signal sequences (X, Y 1 , Y 2 ). In this case, each replica signal is multiplied (weighted) by a cross-correlational value (θ i,j ) between associated spread codes to implement the subtraction. Specifically, for the reception of the first user, the second user replica signal URX 2  multiplied by cross-correlational value (θ 1,2 ) and the third user replica signal URX 3  multiplied by cross-correlational value (θ 1,3 ) are subtracted from the despread received signal sequence X. 
   Thus, interference cancellation through subtracter  26  is implemented by weighting taking into account the influences of the gains, phase rotations of the communication paths and the cross-correlation between the spread codes and further weighting based on the obtained likelihood information and subtracting the result in units of the symbols after despreading. 
   Also in this case, a highly-accurate decoded result equivalent to the above embodiments could be obtained. 
   (The Fifth Embodiment) 
   Referring next to  FIG. 9 , the fifth embodiment of the present invention will be described in detail.  FIG. 9  is a block diagram showing a system configuration of this embodiment, wherein a circuit configuration when transmitting stations implement multi-code transmission of information sequences using a plurality of spread codes orthogonal to each other. Here, the same components as in the above embodiment are allotted with the same reference numerals so that the description will be omitted. 
   The difference of this embodiment from the configuration of the third embodiment is that in order to deal with multi-code transmission using a plurality of spread codes orthogonal to each other, a pair of despreaders  15  are provided in parallel while a delay circuit  29  is disposed prior to one of the spreaders  15  and an MRC circuit  30  for implementing Rake synthesis is provided on the downstream side of the pair of despreaders  15 . 
   Further, an adder  31  for summing replica signals (restored symbols) at the same stage is provided and a subtracter  26  for subtracting the sum of the replica signals RX in adder  31  is provided prior to each of despreaders  15  at the second stage and downwards. 
   A plurality of electric waves or transmitted signals undergo different delays depending on the communication paths and are received together by the receiver. In multi-code transmission using orthogonal spread codes, no interference occurs between signals free from any delay, but signals having delays therebetween will interfere with each other. 
   At the first stage ST 1 , the received signal undergoing other station&#39;s interference arising in the code division multiple access (CDMA) system is reverse spread through each despreader  15  based on the associated spreading code and the result is subjected to the Rake synthesis. Thereafter the signal is decoded (once) by turbo coding. The decoded information sequence is again turbo-coded by turbo encoder  17 , and the resultant signal is weighted by weighting portion  27  using likelihood information LLR ( FIG. 6 ) in the same way as in the third embodiment. This is re-spread by re-spreader  18 . The thus obtained re-spread signals are synthesized by adder  31  to produce a replica signal RX of the transmitted signal. 
   At the second stage ST 2 , the replica signal RX of the transmitted signal is subtracted from the received signal in subtracter  26  at the timing of the delayed wave so as to extract the leading wave component, which is reverse spread by despreader  15 . In the same manner, the leading wave is removed so as to extract the delayed wave, which is reverse spread by despreader  15 . The thus despread received signals are subjected to maximum ratio composition at MRC circuit  30 , whereby signal components corresponding to respective spreading codes can be extracted. From here and thereafter, the decoding process after decoder  16  is repeatedly performed using likelihood information E 2 ′ of the prior stage, in the same manner as in the third embodiment. 
   Though the above description of the present embodiment was made of removal of interference components and decoding of error correcting codes when using turbo codes, it is also possible to obtain the same effects as in the case where a serial concatenated convolutional coding (SCCC) is used. With SCCC codes, systematic convolutional encoder  10  as an outer code encoder and systematic convolutional encoder  11  as an inner code encoder are provided serially with an interleaver  12  interposed therebetween. In the decoding process, soft-decision soft-output is repeatedly implemented in the same manner as decoding of turbo codes at the turbo decoder. Accordingly, application of SCCC decoding to the above turbo-code encoders  16 ,  16   b  makes it possible for a simple configuration to perform cancellation of interference components and SCCC decoding as error correcting codes, simultaneously, in the same manner as the above embodiments. 
   As has been described heretofore, according to the present invention, by adding the operation of removing interfering components to the decoding process of turbo codes, it is possible to bring great improvement in the characteristics such that decoding of error correcting codes and interference cancellation can be performed simultaneously while increase in the amount of processing is suppressed. 
   INDUSTRIAL APPLICABILITY 
   The concatenated convolutional code decoder of the present invention is useful as a decoder enabling high-speed, high-quality communication in the field of digital communications and can be suitably applied to error correcting means for the internet and communications for digital cellular phones.