Abstract:
A method for performing Forward Error Correction (FEC) in a Turbo-Bell Labs Layered Space-Time (BLAST) Multiple-Input Multiple-Output (MIMO) communication system. The FEC method includes performing soft decision on a frame received via a plurality of antennas; performing iterative decoding on the soft decision result value a predetermined number of times, and outputting Log Likelihood Ratio (LLR) values for information bits and first parity bits constituting the frame; generating second parity bits by coding information bits calculated from the LLR values, and comparing the first parity bits calculated from the LLR values with the coded second parity bits; and if the first parity bits are identical to the second parity bits, outputting the information bits, determining that there is no error, and if the first parity bits are not identical to the second parity bits, feeding back the LLR values as a-priori information of the soft decision, and returning to the performing of soft decision.

Description:
PRIORITY  
       [0001]     This application claims priority under 35 U.S.C. § 119(a) to a Korean Patent Application filed in the Korean Intellectual Property Office on Jul. 27, 2006 and assigned Serial No. 2006-70852, the disclosure of which is incorporated herein by reference.  
       BACKGROUND OF THE INVENTION  
       [0002]     1. Field of the Invention  
         [0003]     The present invention relates generally to an apparatus and method for correcting errors in a Multiple-Input Multiple-Output (MIMO) communication system, and in particular, to an apparatus and method for performing Forward Error Correction (FEC) using a turbo code.  
         [0004]     2. Description of the Related Art  
         [0005]     A MIMO communication system, in which a transmitter and a receiver each use multiple antennas, can increase channel transmission capacity in proportion to the number of antennas without additional allocation of frequency or transmission power, compared to the single-antenna system.  
         [0006]     The most general reception method of the MIMO system includes a Bell Labs Layered Space-Time (BLAST) technique, and in order to approach the theoretical maximum capacity, or Shannon capacity, no error should occur in an interference cancellation process. Actually, however, because errors may inevitably occur, the system should use the BLAST technique, a Coding technique, and an Iteration technique of the two techniques to approach the theoretical maximum capacity, i.e. the Shannon capacity.  
         [0007]     Recently, an Iterative Detection and Decoding (IDD) scheme, in which a turbo theory is applied to a MIMO detector, is attracting public attention, and intensive research thereon is being conducted. In MIMO, the Iteration technique is called ‘Turbo-BLAST’, as it is similar to a turbo decoding scheme.  
         [0008]     The Turbo-BLAST scheme, by design, considers a MIMO detector as one coder, and concatenates a channel coder and a MIMO detector. By applying an output of the MIMO detector to a channel decoder and feeding reliability information of bits decoded in the channel decoder back to the MIMO detector, the Turbo-BLAST scheme generates correct coded bit information at the MIMO detector. The MIMO detector has a structure of iterating this process.  
         [0009]     A signal received at a reception antenna undergoes Fast Fourier Transform (FFT), and the MIMO detector generates soft decision information of the received transmission signal and transfers the generated soft decision information to the channel decoder. The channel decoder calculates a soft decision value for each bit by using the soft decision information as a-priori information. The soft decision value calculated in the channel decoder is fed back to the MIMO detector, and used as a-priori information of the MIMO detector. By iterating this process, a receiver can increase reliability of received bits, thereby showing performance approaching the Shannon capacity. An increase in the iteration of the MIMO detector and channel decoder operations contributes to an increase of the system performance, but causes an increase in the hardware complexity and time delay.  
         [0010]     Generally, because stopping Turbo-BLAST is similar to stopping turbo decoding, a turbo decoding stopping technique will first be described herein.  
         [0011]     In the turbo decoding process, an iterative decoding stopping criterion for iterative decoding should satisfy Condition 1 below.  
         [0012]     Condition 1: iterative decoding stops when M(i)&gt;T(i) or M(i)=T(i).  
         [0013]     In Condition 1, M(i) denotes a measure indicating turbo decoding frame performance measured for decoding stopping in an i th  iterative decoding process, and T(i) denotes a threshold for a measure, based on which it is possible to determine that there is no error for a frame decoded in an i th  iterative decoding process. In each decoding process, the measure M(i) is compared with a preset threshold, or the threshold T(i) determined in the iterative decoding process, and as a result of the comparison, if Condition 1 is satisfied, decoding is stopped at the corresponding iterative decoding. In the following description, a process of performing decoding sequentially through two Soft-Input Soft-Output (SISO) decoders constituting the turbo decoder, i.e. through a first SISO decoder and a second SISO decoder, is defined as ‘one-iteration decoding’. That is, a process of performing decoding through any one of the first SISO decoder and the second SISO decoder is 0.5-iteration decoding.  
         [0014]     A description will now be made of schemes based on the stopping criteria for the iterative decoding, proposed up to now.  
         [0015]     (1) Genie-Aided Stopping Criterion Scheme  
         [0016]     In the Genie-aided Stopping Criterion scheme, Genie, a kind of a simulator, compares an information codeword decoded in an arbitrary SISO decoder with transmitted information while observing an iterative decoding process of the turbo decoder, and stops decoding if no error is detected. Because this decoding stopping scheme is available only with experimental simulation, its actual realization is impossible. Therefore, the Genie-aided Stopping Criterion scheme is applied only as a criterion that schemes using other stopping criteria should ideally realize.  
         [0017]     The Genie-aided Stopping Criterion scheme can be expressed as Condition 2.  
         [0018]     Condition 2: iterative decoding stops when M(i)=T(i).  
         [0019]     In Condition 2, however, a measure M(i) indicates the number of different bits between a decoded frame detected in a SISO decoder in an i th  iterative decoding process and a transmitted frame, and a threshold T(i) is 0.  
         [0020]     (2) CRC Check Stopping Criterion Scheme  
         [0021]     Generally, in a Code Division Multiple Access (CDMA) mobile communication system, a frame input to a turbo coder includes a Cyclic Redundancy Check (CRC) bit(s) for error detection so that the turbo decoder can decode it and then report error occurrence/non-occurrence for the corresponding frame to an upper layer. A capability of detecting error occurrence/non-occurrence for the frame with the CRC bit can also be used as a stopping criterion of the turbo decoder. That is, for an arbitrary frame input to the turbo decoder, the scheme detects an error through a CRC process in an iterative decoding process, and stops the decoding process if no error is detected.  
         [0022]     The CRC stopping criterion scheme can be expressed as Condition 3.  
         [0023]     Condition 3: iterative decoding stops when M(i)=T(i).  
         [0024]     In Condition 3, however, a measure M(i) indicates a CRC check result on a decoded frame detected in a SISO decoder in an i th  iterative decoding process, and a threshold T(i) is 0.  
         [0025]     However, the CRC stopping criterion scheme suffers from overhead caused by a CRC bit at every frame, and when there is no CRC bit in a frame input by means of frame division in a decoding process, it is not possible to decode the corresponding frame using the CRC stopping criterion scheme. For example, in a Universal Mobile Telecommunication System (UMTS)-based High Speed Downlink Packet Access (HSDPA) communication system in which there are more than two code units, it is general that when the turbo decoding is performed on an arbitrary code unit, there is not always a CRC bit to be used for the CRC stopping criterion scheme.  
         [0026]     (3) Approximated Cross Entropy Stopping Criterion Scheme  
         [0027]     Generally, a Cross Entropy (CE) between two probability distributions can be used as a measure indicating probabilistic closeness between the two probability distributions. Hagenauer has defined and simplified a cross entropy between probability distributions of outputs of two SISO decoders using reliability, or Log Likelihood Ratio (LLR), and has defined it as a measure to be applied to a stopping criterion of the turbo decoder. This scheme stops decoding if the measure decreases step by step and thus, it is determined that a probabilistic closeness output from the SISO decoder is very high.  
         [0028]     The Approximated Cross Entropy Stopping Criterion scheme can be expressed as Condition 4.  
         [0029]     Condition 4: iterative decoding stops when M(i)&lt;T(i).  
         [0030]     Condition 4, however, M(i) indicates a measure  
         M   ⁡     (   i   )       =       ∑   k     ⁢                  L   1     (   i   )       ⁡     (     u   k     )       -       L   2     (     i   -   1     )       ⁡     (     u   k     )              2       exp   ⁡     (            L   2     (     i   -   1     )       ⁡     (     u   k     )            )               
 
 in a first SISO decoder, or a measure  
         M   ⁡     (   i   )       =       ∑   k     ⁢                  L   2     (   i   )       ⁡     (     u   k     )       -       L   1     (   i   )       ⁡     (     u   k     )              2       exp   ⁡     (            L   1     (   i   )       ⁡     (     u   k     )            )               
 
 in a second SISO decoder, and a threshold T(i) is T(10 −2 ˜10 −4 ). 
 
         [0031]     However, the Approximated Cross Entropy Stopping Criterion scheme should perform an exp(*) operation separately for each SISO decoder to set a criterion in each iterative decoding process, and the hardware complexity increases due to the exp(*) operation.  
         [0032]     (4) Hard Decision-Aided (HDA) Stopping Criterion Scheme  
         [0033]     The Hard Decision-Aided Stopping Criterion scheme compares output information codewords of two SISO decoders in an arbitrary iterative decoding process, and stops the protection when there is no difference between the information codewords output from the two SISO decoders as a result of the comparison.  
         [0034]     The Hard Decision-Aided Stopping Criterion scheme can be expressed as Condition 5.  
         [0035]     Condition 5: iterative decoding stops when M(i)=T(i).  
         [0036]     In Condition 5, however, a measure M(i) indicates the number of different bits between a decoded information frame detected in an i th  iterative decoding process and a decoded information frame detected in an (i−0.5) th  iterative decoding process, and a threshold T(i) is ‘0’.  
         [0037]     Because the Hard Decision-Aided Stopping Criterion scheme should compare an information codeword output of a previous SISO decoder with an information codeword output of a current SISO decoder, it should include an additional memory for storing an information codeword of the previous SISO decoder during hardware implementation.  
         [0038]     (5) Minimum Absolute LLR (MAL) Stopping Criterion Scheme  
         [0039]     The Minimum Absolute LLR Stopping Criterion scheme considers an approximation process of Equation (1) at a measure applied in the approximated cross entropy stopping criterion proposed by Hagenauer.  
                 ∑   k     ⁢                Le   v     (   i   )       ⁡     (       u   ^     k     )            2       exp   ⁡     (            L   v     (   i   )       ⁡     (       u   ^     k     )            )           ≈     K   ·     exp   ⁡     (     -       min   k     ⁢     (            L   v     (   i   )       ⁡     (       u   ^     k     )            )         )                 (   1   )             
 
         [0040]     Using the approximation process of Equation (1), a Minimum Absolute LLR Stopping Criterion scheme of Condition 6 has been proposed.  
         [0041]     Condition 6: iterative decoding stops when M(i)&gt;T 1 (i) and M(i)&gt;T 2 (i).  
         [0042]     In Condition 6, a measure M(i) indicates  
         M   ⁡     (   i   )       =       min   k     ⁢     (            L   v     (   i   )       ⁡     (       u   ^     k     )            )           
 
 at a v th  SISO decoder in an i th  iterative decoding process, a first threshold T 1 (i) is  
             T   1     ⁡     (   i   )       =         min     j   &lt;   i       ⁢     M   ⁡     (   j   )         +     T   f         ,       
 
 and a second threshold T 2 (i) is T 2 (i)=M 1 +T d . 
 
         [0043]     As a result, the Minimum Absolute LLR Stopping Criterion scheme sets an LLR whose absolute value is minimum, among output LLR information of an arbitrary SISO decoder, as a measure of a stopping criterion, and uses the set measure as a current threshold in a previous iterative decoding process. Although the foregoing Approximated Cross Entropy Stopping Criterion scheme and the Hard Decision-Aided Stopping Criterion scheme both have used the information detected by two SISO decoders for the stopping criterion, the Minimum Absolute LLR Stopping Criterion scheme can stop iterative decoding only with the information detectable by the current SISO decoder. However, because the Minimum Absolute LLR Stopping Criterion scheme stops iterative decoding only with the information detected by the current SISO decoder other than the two SISO decoders, it may suffer from performance degradation in terms of a Frame Error Rate (FER). In order to minimize the possible FER performance degradation, the Minimum Absolute LLR Stopping Criterion scheme detects T f  and T d  considered when setting the first threshold T 1 (i) and the second threshold T 2 (i), using the experimental simulation results.  
         [0044]     In order to reduce frame size or performance independency for a Signal-to-Noise Ratio (SNR), the Minimum Absolute LLR Stopping Criterion scheme can adaptively apply the thresholds. In this case where the thresholds are adaptively applied, the scheme can prevent the FER performance degradation, but may suffer from an increase in the average number of iterations.  
         [0045]     (6) Sign Difference Ratio (SDR) Stopping Criterion Scheme  
         [0046]     The foregoing Hard Decision-Aided Stopping Criterion scheme should compare information codewords output from a first SISO decoder and a second SISO decoder of the turbo decoder at every 0.5-iteration decoding process. Thus, this scheme should previously store an output information codeword of a previous SISO decoder at a decoding end time of the current SISO decoder. Therefore, application of the Hard Decision-Aided Stopping Criterion scheme needs additional hardware implementation of a memory. A scheme proposed for the additional hardware implementation of a memory is the Sign Difference Ratio Stopping Criterion scheme. This scheme, instead of comparing an output information codeword of the current SISO decoder with an output information codeword of the previous SISO decoder, compares all signs of input a-priori information and output extrinsic information for the current frame of one SISO decoder, and stops decoding according to the number of bits having different signs.  
         [0047]     The Sign Difference Ratio Stopping Criterion scheme can be expressed as Condition 7.  
         [0048]     Condition 7: iterative decoding stops when M(i)&lt;T(i).  
         [0049]     In Condition 7, a measure M(i) indicates the number of different signs between input a-priori information and output extrinsic information for an information frame decoded by a SISO decoder in an i th  iterative decoding process, and threshold T(i) is p.  
         [0050]     In the Sign Difference Ratio Stopping Criterion scheme, because the input a-priori information and the output extrinsic information are converged slowly compared to the LLR information, the average number of iterations in the Sign Difference Ratio Stopping Criterion scheme with p=0 is greater than the average number of iterations in the Hard Decision-Aided Stopping Criterion scheme. If the value p used as a threshold is increased to solve the problem that the Sign Difference Ratio Stopping Criterion scheme is greater than the Hard Decision-Aided Stopping Criterion scheme in the average number of iterations, the Sign Difference Ratio Stopping Criterion scheme can reduce the average number of iterations, but may suffer from FER performance degradation.  
         [0051]     As described above, most conventional stopping techniques are low in reliability, so the highest-reliability CRC technique for iterative decoding stopping is generally used. However, in a Wireless Broadband (WiBro) system, one burst includes several coding blocks but the CRC technique is achieved in units of bursts. Therefore, the WiBro system cannot use the CRC technique for each coding block.  
       SUMMARY OF THE INVENTION  
       [0052]     An aspect of the present invention is to address at least the problems above and/or disadvantages and to provide at least the advantages described below. Accordingly, an aspect of the present invention is to provide an error correction apparatus and method for efficiently stopping iterative decoding in a MIMO communication system.  
         [0053]     Another aspect of the present invention is to provide an error correction apparatus and method for efficiently stopping iterative decoding without greatly increasing complexity and frequency band of a receiver in a communication system that cannot use a CRC technique.  
         [0054]     According to one aspect of the present invention, there is provided a method for performing Forward Error Correction (FEC) in a Multiple-Input Multiple-Output (MIMO) communication system using a turbo-Bell Labs Layered Space-Time (BLAST) scheme. The FEC method includes performing soft decision on a frame received via a plurality of antennas; performing iterative decoding on the soft decision result value a predetermined number of times, and outputting Log Likelihood Ratio (LLR) values for information bits and first parity bits constituting the frame; generating second parity bits by coding information bits calculated from the LLR values, and comparing the first parity bits calculated from the LLR values with the coded second parity bits; and if the first parity bits are identical to the second parity bits, outputting the information bits, determining that there is no error, and if the first parity bits are not identical to the second parity bits, feeding back the LLR values as a-priori information of the soft decision, and returning to the performing of soft decision.  
         [0055]     According to another aspect of the present invention, there is provided an apparatus for performing Forward Error Correction (FEC) in a Multiple-Input Multiple-Output (MIMO) communication system using a turbo-Bell Labs Layered Space-Time (BLAST) scheme. The FEC apparatus includes a detector for performing soft decision on a frame received via a plurality of antennas; a decoder for performing iterative decoding on the soft decision result value a predetermined number of times, and outputting Log Likelihood Ratio (LLR) values for information bits and first parity bits constituting the frame; and a coder for generating second parity bits by coding information bits calculated from the LLR values, comparing the first parity bits calculated from the LLR values with the coded second parity bits, determining occurrence/non-occurrence of an error according to the comparison result, and outputting the information bits or feeding back the LLR values as a-priori information of the soft decision according to the determination result. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0056]     The above and other aspects, features and advantages of the present invention will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings in which:  
         [0057]      FIG. 1  is a diagram illustrating a structure of a transmitter for a MIMO system to which the present invention is applicable;  
         [0058]      FIG. 2  is a diagram illustrating a structure of a receiver for a MIMO system to which the present invention is applicable;  
         [0059]      FIG. 3  is a diagram illustrating a structure of a receiver for a MIMO system according to an embodiment of the present invention;  
         [0060]      FIG. 4A  is a diagram illustrating a structure of a CPC unit according to an embodiment of the present invention;  
         [0061]      FIG. 4B  is a flowchart illustrating a CPC technique according to an embodiment of the present invention;  
         [0062]      FIG. 5  is a flowchart illustrating an operation of a turbo coder;  
         [0063]      FIG. 6  is a diagram illustrating a tail-biting decoding method used for a CTC decoder;  
         [0064]      FIG. 7A  is a diagram illustrating a structure of a CPC unit that performs an E-CPC stopping technique according to an embodiment of the present invention;  
         [0065]      FIG. 7B  is a flowchart illustrating an operation of a turbo coder for an E-CPC stopping technique according to an embodiment of the present invention; and  
         [0066]      FIGS. 8 and 9  are diagrams illustrating CPC performance in a Turbo-BLAST MIMO system environment that uses a MMSE detector as a MIMO detector for a Veh.A 60 km/h channel, Quadrature Phase Shift Keying (QPSK), and a code rate ½ in a WiBro system. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0067]     Preferred embodiments of the present invention will now be described in detail with reference to the annexed drawings. In the following description, a detailed description of known functions and configurations incorporated herein has been omitted for clarity and conciseness.  
         [0068]     The present invention considers a Turbo-BLAST MIMO system having N transmission antennas and M reception antennas.  
         [0069]      FIG. 1  is a diagram illustrating a structure of a transmitter for a MIMO system to which the present invention is applicable.  
         [0070]     In  FIG. 1 , b(i) indicates information bits, where iε{1, . . . , L} and L denotes the number of information bits in a frame. The bits c(j) coded in a Convolutional Turbo Code (CTC) coder  110 , where jε{1, . . . , L/R} and R denotes a code rate, are interleaved in an interleaver  120 , modulated in a modulator  130 , and divided into sub-streams in a Serial-to-Parallel converter (S/P)  140 . Thereafter, the sub-streams are subject to Inverse Fast Fourier Transform (IFFT) in an IFFT unit  150 , and then transmitted over their associated MIMO channels.  
         [0071]      FIG. 2  is a diagram illustrating a structure of a receiver for a MIMO system to which the present invention is applicable.  
         [0072]     In  FIG. 2 , signals received via reception antennas are converted into frequency-band signals through an FFT unit  210 , and a MIMO detector  220  detects the received transmission signals. A Parallel-to-Serial converter (P/S)  230  converts the parallel signals detected by the MIMO detector  220  into a serial signal. A deinterleaver  240  performs deinterleaving on the output signal of the P/S  230 , and a SISO decoder  250  calculates a soft value for the received signals. An interleaver  260  interleaves the soft value output from the SISO decoder  250 , and delivers it to the MIMO detector  220 . The MIMO detector  220  re-detects the received transmission signals by using the soft value output from the SISO decoder  250  as a-priori information.  
         [0073]     In  FIGS. 1 and 2 , when ‘a’ is defined as a vector of an N th  row and a 1 st  column selected in a constellation C (for example, M c =2 for Quadrature Phase Shift Keying (QPSK) composed of complex numbers having 2M c  points, and ‘r’ is defined as a vector of an M th  row and a 1 st  column for a received signal, a relational expression can be given as Equation (2). 
 
 r=HA+v   (2) 
 
         [0074]     If it is assumed herein that a channel is in a frequency non-selective fading environment, ‘H’ is a complex matrix and ‘v’ is an independent complex Gaussian noise with a mean 0 and a per-dimension variance N 0 /2. Here a vector a=[a 1 , . . . , a N ] T  observes a component power limit E∥a n ∥ 2 =E s /N, and this is made such that the total power of transmission signals becomes E s .  
         [0075]     An embodiment of the present invention provides a new stopping technique that uses outputs of the SISO decoder without greatly increasing complexity and frequency band of the MIMO detector shown in  FIG. 2 .  
         [0076]      FIG. 3  is a diagram illustrating a structure of a receiver for a MIMO system according to an embodiment of the present invention.  
         [0077]     Referring to  FIG. 3 , the receiver for the MIMO system according to an embodiment of the present invention includes an FFT unit  310 , a MIMO detector  320 , a deinterleaver  340 , a SISO decoder  350 , an interleaver  360  and a Combined Parity Check (CPC) unit  370 . In  FIG. 3 , a Minimum Mean Square Error (MMSE) detector, a Maximum A-Posteriori (MAP) detector, or an equalizer can be used as the MIMO detector  320 .  
         [0078]     This receiver is equal in structure to the receiver of  FIG. 2  except that the CPC unit  370  is connected to an output terminal of the SISO decoder  350 , so a repeated description will be omitted, and a description of an operation of the receiver according to an embodiment of the present invention will be made herein mainly as to the SISO decoder  350  and the CPC unit  370 .  
         [0079]     In an i th  inner iteration of the SISO decoder  350 , if L j   (i) (û k ) and L je   (i) (û k ) are defined as an LLR and extrinsic information of estimated information bits û k  separated by a Maximum A-posteriori Probability (MAP) decoder j, respectively, and L j   (i) ({circumflex over (p)} jk ) and L je   (i)({circumflex over (p)}   jk ) are defined as LLR and extrinsic information of parity bits {circumflex over (p)} jk  separated and estimated by a MAP decoder j (where j=1,2), respectively, then the above values are expressed as Equation (3). 
 
 l   j   (i) ( û   k   =L   ja   (i) ( u   k )+ L   c   x   k   +L   je   (i) ( û   k )  (3) 
 
 where L ja   (i) (u k ) denotes a-priori information of u k  and L c  denotes a channel value. 
 
         [0080]     In this manner, L j   (i) ({circumflex over (p)} jk ) is defined as Equation (4). 
 
 L   j   (i) ( {circumflex over (p)}   jk )= L   c   y   jk   *+L   je   (i) ( {circumflex over (p)}   jk )  (4) 
 
         [0081]     In addition, when the number of bit errors in one frame is defined as N ber  and a sign difference between re-coded parity bits determined from decoded parity bits and decoded information bits is defined as D p , the following observations can be obtained through numerous simulations.  
         [0082]     (1) For a bad frame which is hard to decode, both E└|L ja   (i) (u k )|┘ and E└|L je   (i) (û k )|┘ do not greatly increase, and remain at around E└∥L c x k |┘ or at a lower value.  
         [0083]     (2) For a good frame, as i increases, both E└|L ja   (i) (u k )|┘ and E└|L je   (i) (û k )|┘ increase. When N ber  approaches 0, E└|L ja   (i) (u k )|┘ and E└|L je   (i) (û k )|┘ have a large value which is about 5 to 10 times E[|L c x k )|]. As a result, L i (û k ) is determined depending on L ja   (i) (u k )+L je   (i) (û k ).  
         [0084]     (3) For a good frame, as i increases, E└|L je   (i) ({circumflex over (p)} jk )|┘ increases. When N ber  approaches 0, E└|L je   (i) ({circumflex over (p)} jk )|┘ has a value which is considerably larger than E└|L c y jk |┘. As a result, L j   (i) ({circumflex over (p)} jk ) is determined depending on L je   (i) ({circumflex over (p)} jk ).  
         [0085]     (4) For a bad frame, E└|L je   (i) ({circumflex over (p)} jk )|┘ does not greatly increases, and remains at around E└|L c y jk |┘ or at a lower value.  
         [0086]     (5) For a good frame, when i increases, D p  also approaches 0, like N ber . Generally, N ber  and D p  reach 0 almost at the same time.  
         [0087]     (6) For a bad frame, when i increases, D p  continues to remain at a high value. Here, E[X] denotes an expected value of a probability parameter X.  
         [0088]     Observation (6) can be explained from Observations (2) and (4). For a bad frame, L j   (i) ({circumflex over (p)} jk ) and L j   (i) (û k ) are greatly affected by L C y jk  and L C x k , respectively. In addition, noises of y jk  and x k  are independent of each other. Therefore, a correlation between L j   (i) ({circumflex over (p)} jk ) and L j   (i) (û k ) for a bad frame is lower than a correlation for a good frame. That is, even though û k  cannot be correctly determined due to noises, {circumflex over (p)} jk  can be correctly determined without depending on an error of û k . This is because it is optimal in that the MAP decoder minimizes an error rate of the coded bits.  
         [0089]     Observation (5), and Observation (6) derived from a difference between decoded parity bits and re-coded parity bits show that D p  is an indicator capable of stopping iteration without performance degradation.  
         [0090]     Therefore, an embodiment of the present invention provides a CPC technique based on the foregoing observations.  
         [0091]      FIG. 4A  is a diagram illustrating a structure of a CPC unit  370  according to an embodiment of the present invention.  
         [0092]     Referring to  FIGS. 3 and 4 A, a hard decision unit  371  performs a hard decision on an LLR value L(u) of information bits output from a SISO decoder  350 , an LLR value L(p i ) of parity bits output from a MAP 1   352 , and an LLR value L(p j ) of parity bits output from a MAP 2   353 , and outputs information bits u, parity bits p i  and parity bits p j  as the result values. A turbo coder  372  re-codes the information bits u and outputs parity bits p i ′ and parity bits p j ′. A comparator  373  compares the parity bits p i ′ and the parity bits p j ′ output from the turbo coder  372 , with the parity bits p i  and the parity bits p j  output from the hard decision unit  371 , and outputs the resulting control signal to a controller  374 . That is, the comparator  373  outputs to the controller  374  a control signal based on which if the parity bits are equal to each other, the controller  374  outputs the information bits u, and if the parity bits are different from each other, the controller  374  outputs an LLR value L. The controller  374  receives the LLR value L(u) of information bits output from the SISO decoder  350 , the LLR value L(p i ) of parity bits output from the MAP 1   352 , the LLR value L(p j ) of parity bits output from the MAP 2   353 , and the hard-decided information bits u, and selectively outputs the LLR value L or the information bits u according to the control signal of the comparator  373 . When the LLR value L is output, this value is fed back to the MIMO detector  320 .  
         [0093]      FIG. 4B  is a flowchart illustrating a CPC technique according to an embodiment of the present invention.  
         [0094]     Referring to  FIG. 4B , in step  410 , a CPC unit  370  performs a hard decision on an output value of a SISO decoder  350 . In step  420 , the CPC unit  370  checks the hard decision result value. If the hard decision result value indicates data, or information bits, the CPC unit  370  proceeds to step  430  where it inputs the hard-decided information bits to a turbo coder  372 . However, if the hard decision result value indicates parity bits, the CPC unit  370  proceeds to step  440  where it compares the hard-decided parity bits with the parity bits generated by re-coding the information bits by the turbo coder  372 . If the compared bits are equal to each other, the CPC unit  370  proceeds to step  450  where it stops outer iteration. However, if the compared bits are not equal to each other, the CPC unit  370  proceeds to step  460  where it repeats the above process until the number of iterations reaches the maximum number of outer iterations.  
         [0095]      FIG. 5  is a flowchart illustrating an operation of a turbo coder.  
         [0096]     Referring to  FIG. 5 , a duobinary CTC decoder used for, for example, a WiBro system, performs decoding such that an initial state and a last state are equal to each other, through two decoding processes  520  and  540 . This structure has no loss of tail bits, which may occur when zero termination is used, and facilitates simple processing of the frame after system decoding.  
         [0097]     The zero termination method generally used for convolutional codes and turbo codes solves the problem that the performance degrades due to a decrease in reliability of end information of a trellis. However, this method cannot avoid a loss of the code rate. Based on the characteristic that the initial and last states of a tail-biting code are equal to each other, it is possible to obtain high decoding performance with no loss of the code rate.  
         [0098]      FIG. 6  is a diagram illustrating a tail-biting decoding method used for a CTC decoder.  
         [0099]     Referring to  FIG. 6 , CTC decoding uses a MAP algorithm, and the MAP algorithm provides LLRs of a A-Posteriori Probability (APP) that each information bit will be ‘1’, and of an APP that each information bit will be ‘0’. The results are given as Equation (5).  
               L   ⁡     (       d   ^     k     )       =     log   ⁡     [         ∑   m     ⁢       α   k   m     ⁢     δ   k     1   ,   m       ⁢     β     k   +   1       f   ⁡     (     1   ,   m     )                 ∑   m     ⁢       α   k   m     ⁢     δ   k     0   ,   m       ⁢     β     k   +   1       f   ⁡     (     0   ,   m     )               ]               (   5   )             
 
         [0100]     Probability functions in Equation (5) are defined as follows. 
 
δ k   i,m   =P ( d   k   =i,S   k   =m|R   1   N ) 
 
α k   m   =P ( R   1   k−1   |S   k   =m ) 
 
β k+1   f(i,m)   =P ( R   k+1   N   |S   k+1   =f ( i,m )) 
 
 where f(i,m) denotes a next state when an input i and a state m are given. 
 
         [0101]     As shown in  FIG. 6 , a forward metric probability value α is for forward metric calculation, and a backward metric probability value β is for backward metric calculation. That is, in order to calculate a α 1  vector, there is a need for a value of α 0 . Generally, because a turbo code starts from a zero state and terminates at a zero state, a first value of a α 0  vector is set to the maximum value and the remaining values are all set to 0. However, because a CTC code is set such that a start state and a last state of a frame are always equal to each other, a value α N  of a first iteration is used as a value α 0  of a second iteration from the second iteration. Even for the β value, the last β matrix vector calculated at a previous iteration is used as an initial value at the current iteration from the second iteration using the same scheme.  
         [0102]     Due to this tail-biting decoding characteristic, the β 0  vector value, after CTC decoding, is converged to an initial state value. Because the β value is for backward metric calculation as described above, if an initial value is set to a β N  vector, a β N−1  vector can be calculated from this value. In the same manner, up to the β 0  vector can be calculated. That is, if there is no error caused by a channel, a state with the greatest value in the β 0  vector is identical to an initial state. Therefore, because the initial state cannot be estimated if the state with the greatest value is selected from the β 0  vector after an end of decoding, it is possible to omit a CTC turbo coding process for acquiring information on the initial state and to perform the CTC turbo coding process only once.  
         [0103]     Therefore, in the CTC stopping technique, because a CTC coder has information on an initial state value, the CTC coder can enable CTC coding with only one coding with use of the β 0  vector value, thereby doubling the coding processing speed. This stopping technique will be referred to herein as an Enhanced-CPC (E-CPC) stopping technique.  
         [0104]      FIG. 7A  is a diagram illustrating a structure of a CPC unit that performs an E-CPC stopping technique according to an embodiment of the present invention.  
         [0105]     Referring to  FIGS. 3 and 7 A, a hard decision unit  371  performs a hard decision on an LLR value L(u) of information bits output from a SISO decoder  350 , an LLR value L(p i ) of parity bits output from a MAP 1   352 , and an LLR value L(p j ) of parity bits output from a MAP 2   353 , and outputs information bits u, parity bits p i  and parity bits p j  as the result values. A turbo coder  375  re-codes the information bits u and outputs parity bits p i ′ and parity bits p j ′. In addition, the turbo coder  375  receives a β 0  vector value from the SISO decoder  350  and sets an initial state value using the received value, thereby performing coding only once. A comparator  373  compares the parity bits p i ′ and the parity bits p j ′ output from the turbo coder  375 , with the parity bits p i  and the parity bits p j  output from the hard decision unit  371 , and outputs the resulting control signal to a controller  374 . That is, the comparator  373  outputs to the controller  374  a control signal based on which if the parity bits are equal to each other, the controller  374  outputs the information bits u, but if the parity bits are different from each other, the controller  374  outputs an LLR value L. The controller  374  receives the LLR value L(u) of information bits output from the SISO decoder  350 , the LLR value L(p i ) of parity bits output from the MAP 1   352 , the LLR value L(p j ) of parity bits output from the MAP 2   353 , and the hard-decided information bits u, and selectively outputs the LLR value L or the information bits u according to the control signal of the comparator  373 . When the LLR value L is output, this value is fed back to the MIMO detector  320 .  
         [0106]      FIG. 7B  is a flowchart illustrating an operation of a turbo coder for an E-CPC stopping technique according to an embodiment of the present invention.  
         [0107]     Referring to  FIG. 7B , in step  710 , a turbo coder  375  sets an initial state value using a β 0  vector input from a SISO decoder  350 . In step  720 , the turbo coder  375  re-codes the information bits obtained by performing hard decision on the L(u) output from the SISO decoder  350 , using the set initial state value. In step  730 , the turbo coder  375  outputs the information bits, and the parity bits obtained by re-coding the information bits.  
         [0108]     Although the foregoing CPC technique and E-CPC technique according to an embodiment of the present invention can be used for the interior of the turbo decoder, these techniques can be more complex than the existing stopping techniques because they should calculate soft values for the unnecessary parity. Therefore, it is efficient to use the techniques for reducing the total number of outer iterations of Turbo-BLAST. In addition, because termination of outer iteration means that the frame has no error, inner iteration is no longer needed. That is, before the outer iteration terminates, inner iteration of turbo decoding is performed up to the maximum value 1. Therefore, in order to terminate the outer iteration, it is efficient for the turbo processing system to fix the number of inner iterations of turbo decoding to 1, and perform the stopping technique according to an embodiment of the present invention just after the last inner iteration.  
         [0109]      FIGS. 8 and 9  are diagrams illustrating CPC performance in a Turbo-BLAST MIMO system environment that uses a MMSE detector as a MIMO detector for a Veh.A 60 km/h channel, Quadrature Phase Shift Keying (QPSK), and a code rate ½ in a WiBro system.  
         [0110]     As for 1% PER, the average number of iterations of Turbo-BLAST has reduced to 0.3, and the E-CPC stopping technique, even though the number of turbo coding is halved, shows the same performance as that of the CPC stopping technique.  
         [0111]     As is apparent from the foregoing description, according to the present invention, the Turbo-BLAST MIMO system can early stop iterative detection and decoding with use of the CPC stopping technique and the E-CPC technique, thereby noticeably reducing the average number of iterations of Turbo-BLAST with the same performance, compared to the case where the stopping technique is not used. In this manner, the present invention can contribute to a reduction in the complexity of the Turbo-BLAST MIMO system and an increase in the processing speed.  
         [0112]     While the invention has been shown and described with reference to a certain preferred embodiment thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.