Abstract:
A method and device employing an iterative MMSE equalization-decoder soft information exchange decoding. The method uses a MMSE equalizer which receives and outputs soft information. The equalizer exchanges soft information with a soft input soft output decoder, preferably an error correction decoder. The nature of the equalizer permits solutions beyond one-dimensional data streams and permits solutions for long channel lengths and multi-dimensional data since the solution is not a function of the channel impulse response.

Description:
FIELD OF THE INVENTION 
   The present invention concerns the field of decoding of information symbols received over a channel. 
   BACKGROUND OF THE INVENTION 
   Information symbols are transmitted over channels in most information, storage and communication devices. The channel can comprise, for example, a wired or wireless communication link between a transmitter or receiver, or an information path within a disk drive. More generally, any information path of limited bandwidth through which digital signals are transmitted may be defined as a channel. Such channels are subject to various types of distortion, e.g., additive noise and intersymbol interference. These distortions limit the data rate efficiencies for communication over such channels. Accordingly, much effort has been devoted to reducing the effect of such distortions in the channels. The obvious end goal is to decode symbols accurately. More specifically, the goal is to have low decoding error rates. A second and conflicting goal is to increase the ratio of data symbols to total channel symbols transmitted, i.e., the data rate. 
   Recent focus for joint equalization and decoding has been on iterative decoding schemes, and in particular, turbo coding schemes. These schemes are confidence building schemes in which an equalizer and decoder trade soft information in the form of symbol estimates until convergence is reached and hard decisions for symbols are output. These iterative schemes treat the channel contribution like an error correction code. The data symbols are generally permuted before transmission and are typically protected with a convolutional error correcting code. On the decoding side, soft information is exchanged between an error correction decoder and a channel decoder. However, all current implementations of these soft information exchange schemes use a forward/backward, Viterbi, or similar decoding algorithm for the decoding function. Specific examples are the forward/backward and soft output Viterbi algorithm for convolutional codes. In such decoding schemes, the complexity of the decoder is a design choice, but the complexity of a trellis based equalizer is a function of the length of the channel impulse response. This limits practical usefulness of the conventional decoding schemes to a class of channels having reasonably short impulse response lengths or small signal constellations. 
   The complex nature of conventional equalizing schemes in soft input exchange methods and devices also places certain physical limitations on devices which rely on such methods and devices for channel decoding. For example, there exist no solutions beyond one dimension for forward/backward and Viterbi algorithms. This dictates a one dimensional data stream, such as the stream obtained by a magnetic disk drive head or an optical disk drive. There is no significant physical reason for restriction to one-dimensional streams of data, but an as yet insurmountable hurdle for extension to higher dimensions is the lack of higher dimensional forward/backward and Viterbi algorithms. A decoding method with multi-dimensional decoding capability would free devices from the requirement of creating a one dimensional stream of data. For example, two dimensional regions of disk drives could be read simultaneously if two dimensional channel decoding is supported. The forward/backward and Viterbi algorithms used for data decoding are unable to handle the multidimensional task since multidimensional solutions are unknown. 
   Accordingly, there is a need for an improved method for decoding data received over a potentially noisy channel which addresses some or all of the aforementioned drawbacks. It is an object of the invention to provide such an improved method. 
   SUMMARY OF THE INVENTION 
   These and other needs and objects are met or exceeded by the present iterative MMSE equalization-decoder soft information exchange decoding method and device. The method uses a MMSE equalizer which receives and outputs soft information. The equalizer exchanges soft information with a soft information decoder. The simple nature of the equalizer permits solutions beyond one-dimensional data streams and for channels of arbitrary length and for signal constellations of arbitrary size. 

   
     BRIEF DESCRIPTION OF THE DRAWING 
     Other features, objects and advantages of the invention will be apparent to artisans from the detailed description and the FIGURE, which is a block diagram of a data communication system including an iterative MMSE equalization-decoder for soft information exchange decoding. 
   

   DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
   The invention is directed to a method for data recovery by confidence building. The invention is applicable, for example, to communications, telephony, recording, data transmission, and restoration. For example, even when the data has not been protected by an error correcting code, there may be other opportunities for confidence building decoders to operate. Suppose that the data were transmitted over multiple channels to the same receiver. This might arise when a preferred user in a cellular telephone system was given two or more cellular phone channels (for example multiple time-slots in a time-division multiple access scheme, multiple frequency slots in a frequency-division multiple access, or multiple spreading codes in a code division multiple access scheme), it might include storing the information on a data recording device multiple times (modular redundancy), or a receiver that has multiple antennas which can receive the same data at multiple locations. According to the invention, even without error correction coding, a confidence building data recovery system may be constructed, in which equalizers for each of the different channels exchange their beliefs, or estimates, of the data, until a consensus is achieved. A typical and more general case arises when there is one or multiple channels over which data is sent, and the data is protected by an error correction code, likely different for each channel, before being sent over each channel. 
   The generality of the confidence building data recovery method of the invention will be apparent to artisans. The method will be illustrated with reference to an error correction coded communication channel. An exemplary communication system including such a channel is shown in  FIG. 1 . 
   For simplicity, we consider transmission of binary digits b i  using a Binary Phase Shift Keying (BPSK) modulation scheme. Artisans will understand that the invention is readily generalized to other modulation schemes. We assume that the bits b i  are encoded in a forward error correction code C (typically a convolutional code), by an encoder  10 , and that the bit stream is permuted by a suitable (e.g. random) interleaver  12  before the transmission. 
   The encoded symbols are denoted ã i . II is a permutation of the bits ã i . The transmitted signal may be expressed as 
         s   ⁡     (   t   )       =       ∑   i     ⁢       b   i     ⁢       h   s     ⁡     (     t   -     ⅈ   ⁢           ⁢   T       )       ⁢     exp   ⁡     (     j   ⁡     (       2   ⁢   π   ⁢           ⁢     f   0     ⁢   t     +     ϕ   o       )       )               
 
where f o  is the carrier frequency and φ 0  is a constant angle. The received signal equals 
           x   ⁡     (   t   )       =         ∑   i     ⁢       b   i     ⁢       h   s     ⁡     (     t   -     ⅈ   ⁢           ⁢   T       )       ⁢     exp   ⁡     (     j   ⁡     (       2   ⁢   π   ⁢           ⁢     f   0     ⁢   t     +     ϕ   1       )       )           +     w   ⁡     (   t   )           ,       
 
where φ 1  is a constant angle and w(t) is an additive noise term. In addition to intersymbol interference, a channel  16  typically also adds a noise component. The signal x(t) is demodulated, passed through a receiving filter and sampled leading to the equivalent discrete-time model of the communication link which is depicted in  FIG. 1 . 
           x   ⁡     [   u   ]       =         ∑   i     ⁢       b   i     ⁢     h   ⁡     [     n   -   i     ]           +     w   ⁡     [   n   ]           ,       
 
where h[j] are the sampled values of the overall impulse response of the communication system.
 
   A discrete-time model of the channel  16  with intersymbol interference and additive noise w n  is described as 
         x   ⁡     [   n   ]       =         b   n     ⁢     h   ⁡     [   0   ]         +     w   ⁡     [   u   ]       +       ∑     i   ≠   n       ⁢       b   i     ⁢       h   ⁡     [     n   -   i     ]       .               
 
where the term 
         ∑     i   ≠   n       ⁢       ∑   i     ⁢       b   i     ⁢     h   ⁡     [     n   -   i     ]               
 
is usually referred to as intersymbol-interference.
 
   We note that the received sampled signal x[n] is a noisy version the convolution of the bit-sequence with the overall impulse response. In particular, for a finite length impulse response h[j] the sequence x[n] can be represented as a noisy output of a Markov process. The task of estimating symbols b i  in the absence of a coding constraint is referred to as equalization. The invention concerns joint decoding and equalization of the bit-stream x[n] in an iterative decoder  20  having a soft MMSE equalizer  22  exchanging information with a soft decoder  24 . 
   It is well known how to optimally estimate b n  from the sequence x[n] using the so-called forward/backward algorithm. However, the complexity of this approach is usually impractical because the complexity is essentially the product of the complexities of an optimal decoding procedure and an optimal equalization only procedure. The complexity of an optimal equalization only procedure grows exponentially in the length of the overall impulse response, which, for practical channels with impulse response lengths in the tens to hundreds, is infeasible. 
   Iterative (Turbo) decoding and equalization uses at least two soft input/soft output (SISO) devices that communicate information. A SISO equalizer takes as input the received sequence x[n] and some additional information about the symbol sequence b i . This additional information could for example be a prior probability on the bits. The SISO equalizer produces a soft estimate of the symbols. This soft output could for example be a probability mass function indicating the likelihood of any symbol b i  being equal to 0 or 1. 
   A second SISO block performs the decoding of the estimated bit sequence with respect to the code. In other words the soft input decoder takes as input reliability information (typically a probability mass function) and produces as soft output a probability mass function indicating the likelihood of any symbol b i  being equal to 0 or 1. The input reliability information for the equalizer (decoder) is denoted π in   E (π in   D ). The output of the devices is denoted as π out   E (π out   D ). For an overall channel impulse response h[j], let the received values x[n] and reliability vectors π in  [n] n=1 . . . N be given. Without loss of generality we assume that 0≦π in [j]≦1 for all jε{0 . . . N}. (The π in  [j] can be thought of as prior probabilities). 
   We define a SISO equalizer mathematically as a device that performs an equalization function eq:            ×[0,1] N →[0,1] N  eq(y, π in   E )         π out   E , where π out   E  can be thought of as a vector of a posteriori probabilities.
   Similarly, we mathematically define an SISO decoder as a device that performs a decoding function dec: [0,1] N →[0,1] N  dec (π in   D )           π out   D , where π out   D  can be thought of as a vector of a posteriori probabilities.
   The main idea of conventional iterative joint equalization and decoding is to let the two SISO blocks exchange information until they agree on a decision or until a maximal number of iterations is reached. As soon as the predetermined termination criterion is satisfied, the output and the input of the SISO decoder are combined in order to form a soft combined equalization decoding decision. If desired, a hard decision on any symbol can be derived from this soft value. 
   Typically after a suitable number of iterations the output of the joint equalizer decoder is formed by multiplying the values of the likelihood ratios π in   D /(1−π in   D ) and π out   D /(1−π out   D ). 
   In order to achieve good performance in such an iterative scheme, a permutation is included in the data path, which spreads out statistical dependencies between estimates. The exchange between decoder and equalizer establishes an inherent feedback loop. It is important that this feedback be mitigated as much as possible. We say that an equalizer (decoder) is well-behaved if π out   E [j] is not a function of π in   E [j] (π out   D [j] is not a function of π in   E [j]). 
   We now can describe the iterative equalization/decoding scheme in the following algorithm: 
   1. INPUT: A permutation Π, a vector of received values y, and prior information about the symbols expressed as a vector of probabilities π in   E (π in   E  is usually a vector containing a value 0.5 in each position.) 
   2. Repeat the following steps until a termination criterion is reached.
         (a) π out   E =eq(y, π in   E )   (b) in π in   D =Π −1 (π out   E )   (c) π out   D =dec(π in   D )   (d) π in   E =Π(π out   D )   (e) If the termination criterion is not satisfied go to step 2a.   3. OUTPUT hard decisions for symbol b i  comparing 
             π   out   D     ⁡     [   i   ]       ⁢       π     i   ⁢           ⁢   n     D     ⁡     [   i   ]             (     1   -       π   out   D     ⁡     [   i   ]         )     ⁢     (     1   -       π     i   ⁢           ⁢   n     D     ⁡     [   i   ]         )           
 
to 1.
       

   Iterative joint equalization and decoding schemes can be compared on the basis of the above algorithm and various combinations of decoding functions and equalization functions have been reported on. As decoding functions we explicitly mention the forward-backward and the SOVA algorithm for convolutional codes. Adaptations of these algorithms have been employed in the equalizer function. However, while the complexity of the decoder is a design issue, the complexity of a trellis based equalizer is based on the length of the channel impulse response. This severely hampers practical use of iterative equalization decoding techniques based on the turbo principle. For channels with long impulse responses, the exclusively used equalization techniques are either linear equalization or decision feedback techniques without use of the decoder in the equalization process. The invention solves this problem by providing an equalization algorithm independent of the length of the channel impulse response that can be used in iterative decoding. In particular, a minimum mean square error equalizer is demonstrated by the invention to facilitate joint decoding and equalization. The iterative technique of the invention is applicable to channels with a short or long impulse response, and with small or large signal constellations. 
   Let b[n] be a sequence of symbols that have been transmitted through a communications channel, such as a wireless or wireline data link, or recorded onto some data recording medium, such as an optical ROM or magnetic disk or tape. A linear, equivalent base-band model for the received (or read-back) sequence of symbols is given by 
           x   ⁡     [   n   ]       =         ∑     k   =     -     L   1           L   2       ⁢           ⁢       h   ⁡     [   k   ]       ⁢     b   ⁡     [     n   -   k     ]           +     w   ⁡     [   n   ]           ,       
 
where h[k] is the length L 1 +L 2 +1 impulse response of the channel, and w[n] is an additive noise term modeling electrical and thermal fluctuation and undmodeled components of the channel. This generic linear model is a widely accepted mathematical model for the distortions induced on a sequence of symbols both in communications and data storage applications. A linear equalizer for this channel can be used to attempt to reduce the effects of the intersymbol interference and the additive noise induced by the channel. A linear (affine) equalizer with coefficients c[n, k] and offset g[n] and symbol estimate {circumflex over (b)}[n] can be expressed in the form 
             b   ^     ⁡     [   n   ]       =         ∑     k   =     -     N   1           N   2       ⁢           ⁢       c   ⁡     [     n   ,   k     ]       ⁢     x   ⁡     [     n   +   k     ]           +     g   ⁡     [   n   ]           ,       
 
where the equalizer coefficients are written as a function n to enable the possibility of different coefficients used to estimate each symbol {circumflex over (b)}[n], and the offset g[n] provides a richer class of linear estimates which can account for a non-zero mean prior. The channel model can be written in matrix form as
 
 {right arrow over (x)}[n]=H{right arrow over (b)}[n]+{right arrow over (w)}[n],  
 
where the channel response matrix, H, is given by 
         [           h   ⁡     [     L   2     ]             h   ⁡     [       L   2     -   1     ]           ⋯         h   ⁡     [     -     L   1       ]           0       ⋯       0           0         h   ⁡     [     L   2     ]             h   ⁡     [       L   2     -   1     ]           ⋯         h   ⁡     [     -     L   1       ]           ⋯       0                                               ⋮                                               0       ⋯       0         h   ⁡     [     L   2     ]             h   ⁡     [       L   2     -   1     ]           ⋯         h   ⁡     [     -     L   1       ]             ]     ,       
 
and the signal vectors are given by
 
 {right arrow over (x)}=[n]=[x[n−N   1    . . . x[n] . . . x[n+N   2 ]] T ,
 
 {right arrow over (b)}[n]=[b[n−N   1   −L   2   ] . . . b[n] . . . b[n+N   2   +L   1 ]] T ,
 
 {right arrow over (w)}[n]=[w[n−N   1   ] . . . w[n+N   2 ]] T .
 
The equalizer output can also be expressed in matrix form, simply as
 
 {circumflex over (b)}[n]={right arrow over (c)}[n]   T   {right arrow over (x)}[n]+g[n],  
 
where the equalizer coefficients c[n,k] are written
 
 {right arrow over (c)}[n]=[c[n, −N   1   ], . . . , c[n, N+ 2]].
 
With this channel model, the mean-square error of a symbol estimate b[n] based on the estimate {circumflex over (b)}[n] is given by
 
 E{|b[n]−{circumflex over (b)}[n]|   2 },  (2)
 
where the expectation is taken over the distribution of the symbols b[n] and the noise w[n]. In the conventional traditional approach to the design of complexity-constrained (finite N 1  and N 2 ) minimum mean-square error (MMSE) linear equalizers, it is assumed that the symbols b[n] are equally likely to take on all possible symbol values, and that there is no additional information about their values available. The conventional equalizer is determined by finding the coefficient values {right arrow over (c)}[n] and g[n] which minimize the mean squared error (2), which, since the symbols are assumed unknown and equally likely for all time n leads to a single set of coefficients, {right arrow over (c)}, and the offset is given by g[n]=0.
 
   According to the invention, the equalizer  22  implements an equalization algorithm which has available a set of priors over the symbols. For example, if the symbol alphabet is binary, then this would correspond to the availability of the sequence TE π in   E =Prob {b[n]=1}. In the sequel, we assume that the channel response h[n] is real and that the symbol alphabet is b[n]ε{−1, 1} for simplicity. Extension to complex baseband channels and higher-order symbol constellations is straightforward. In this case, the MMSE equalizer  22  can be designed incorporating these priors into the optimization. Hence, the equalizer coefficients, {right arrow over (c)}[n] and g[n] can be determined by finding the minimum of the mean-squared error (2), where the expectation in (2) is over both the additive noise in the channel, and the given (time-varying) prior over the symbols. As a result, the equalizer coefficients will vary with time index, n. This leads to the following formulation,
 
 {circumflex over (b)}[n]=E{b[n]}+[E{b[n]{right arrow over (b)}[n]}H   T   −E{b[n]}E{{right arrow over (b)}[n]   T   }H   T   ][HE{{right arrow over (b)}[n]{right arrow over (b)}[n]   T   }H   T   +E{|w[n]|   2   }I −HE{{right arrow over (b)}[n]}E{{right arrow over (b)}[n]   T   }H   T ] −1 ( {right arrow over (x)}[n]−HE{{right arrow over (b)}[n]}).  
 
Once the equalizer has produced MMSE linear estimates of the symbols {circumflex over (b)}[n], these estimates must be mapped into priors π out   E . One method for mapping the outputs of the linear equalizers is to assume the output distribution {circumflex over (b)}[n] is conditionally Gaussian, distributed about the symbol values. This leads to the following mapping 
           Prob   ⁢     {       b   ⁡     [   n   ]       =     1   ❘       b   ^     ⁡     [   n   ]           }       =       1   2     ⁢     (     1   +     tanh   ⁡     (         b   ^     ⁡     [   n   ]         σ     b   ^     2       )         )         ,       
 
where σ {circumflex over (b)}   2  is the variance of the conditional output distribution given the symbol {circumflex over (b)}[n]=sign ({circumflex over (b)}[n]). In order for this equalizer to be considered well-behaved, the estimate {circumflex over (b)}[n] cannot be a function of π in   E [n]. Hence, the expectations must be taken over a distribution of the symbols which excludes π in   E [n] for the calculation of {circumflex over (b)}[n]. However, in calculating {circumflex over (b)}[k], k≠n, π in   E [n] may be used. This leads to the following method for computing the output distribution given the observations, x[n] and the input distribution π IN   E .
 
Create Buffers
 
   1. Create buffers for the priors, the signal x[n], the expectations {right arrow over (bb)}[n]=E{b[n]{right arrow over (b)}[n]}, the correlation matrix B[n]=E{{right arrow over (b)}[n]{right arrow over (b)}[n] T }, and the means {right arrow over (mb)}[n]=E{{right arrow over (b)}[n]}
         {right arrow over (π)} (n)   Δ [π (n) [−N 1 −L 2 ], . . . , π (n) [0], . . . , π (n) [N 2 +L 1 ]] T      {right arrow over (x)} (n)   Δ [x (n) [−N 1 ], . . . , x (n) [0], . . . , x (n) [N 2 ]] T      {right arrow over (bb)} (n)   Δ [bb (n) [−N 1 −L 2 ] . . . , bb (n) [0], . . . bb (n) [N 2 ]] T =[0, . . . 0, 1, 0, . . . , 0] T          

   2. Initialize buffers for priors {right arrow over (π)} (n)  and data {right arrow over (x)} (n) , in terms of the signal x[n] and the input π IN   E .
         {right arrow over (x)} (0) =[0, 0, . . . , x[0], x[1], . . . , x[N 2 ]] T      {right arrow over (π)} (0) =[0, 0, . . . , 0, π IN   E [0], π IN   E [1], . . . , π IN   E [N 2 +L 1 ]] T          

   3. Loop over the data for n=0, . . . , N:
         π (n) [0]=½   {right arrow over (mb)} (n) =2{right arrow over (π)} (n) −1   diag(B)=diag (1, 1, . . . , 1)   {right arrow over (c)}[n]=[H (B−{right arrow over (mb)} (n) {right arrow over (mb)} (n)T ) H T +σ w   2 I] −1 H {right arrow over (bb)} (n)      {circumflex over (b)}[n]={right arrow over (mb)} (n) +{right arrow over (c)} (n)T ({right arrow over (x)} (n) −H{right arrow over (mb)} (n) )   {right arrow over (x)} (n+1) =[x (n) [−N 1 +1], . . . , x (n) [N 2 ], 0]   {right arrow over (π)} (n+1) =[π (n) [−N 1 −L 2 +1], . . . , π (n) [N 2 +L 1 ], 0]
           if n&lt;N−N 2  
               x (+1) [N 2 ]=x[n+1+N 2 ]   
               if n&lt;N−N 2 −L 1  
               π n+1) [N 2 +L 1 ]=π IN   E [n+1+N 2 +L 1 ]   
               
               

   4. Estimate output variance σ {circumflex over (b)}   2 =(var({circumflex over (b)}|{circumflex over (b)}&gt;0)+var({circumflex over (b)}|{circumflex over (b)}&lt;0))/2 
   5. Determine output priors, 
         π   OUT   E     =       1   /   2     ⁢     (     1   +     tanh   ⁡     (         b   ^     ⁡     [   n   ]         σ     b   ^     2       )         )           
 
Soft-Input Soft-Output Decision Feedback Equalization
 
   For a minimum mean-square error (MMSE) decision feedback equalizer, the channel model can be written in similar matrix form to the MMSE linear equalizer, 
           [         x   →     ⁡     [   n   ]           d   →     ⁡     [   n   ]         ]     =         [     H       I     M   ×   M       |     0     M   ×   M           ]     ⁢       b   →     ⁡     [   n   ]         +     [         w   →     ⁡     [   n   ]         0     M   ×   1         ]         ,       
 
where, for simplicity of notation, it is assumed that the number of decision symbols feedback to the equalizer is given by M=N 1 +L 2 , for {right arrow over (d)}[n]=[d[n−1], . . . , d[n−M]]. For binary antipodal signaling, d[n−k]=sign ({circumflex over (b)}[n−k]), and for higher order signaling constellations, a suitable quantizer to the nearest symbol would be used.
 
   The MMSE DFE coefficients are then given by 
           b   ∼     ⁡     [   n   ]       =       E   ⁢     {     b   ⁡     [   n   ]       }       +           [       E   ⁢     {       b   ⁡     [   n   ]       ⁢       b   →     ⁡     [   n   ]         }     ⁢     H   T       -     E   ⁢     {       b   ⁡     [   n   ]       ⁢   E   ⁢     {         b   →     ⁡     [   n   ]       T     }     ⁢     H   T            ⁢     0     1   ×   M           ]     ⁢     
     [               HE   ⁢     {         b   →     ⁡     [   n   ]       ⁢         b   →     ⁡     [   n   ]       T       }     ⁢     H   T       +                 E   ⁢     {       w   ⁡     [   n   ]       2     }     ⁢   I     -     HE   ⁢     {       b   →     ⁡     [   n   ]       }     ⁢   E   ⁢     {         b   →     ⁡     [   n   ]       T     }     ⁢     H   T     ⁢   HE   ⁢     {         b   →     ⁡     [   n   ]       ⁢         d   →     ⁡     [   n   ]       T       }       -               HE   ⁢     {       b   →     ⁡     [   n   ]       }     ⁢   E   ⁢     {         d   →     ⁡     [   n   ]       T     }                     E   ⁢     {       d   →     [         n   [         b   →     ⁡     [   n   ]       T     }     ⁢     H   T       +                       E   ⁢     {       d   →     ⁡     [   n   ]       }     ⁢   E   ⁢     {         b   →     ⁡     [   n   ]       T     }     ⁢     H   T     ⁢   E   ⁢     {         d   →     ⁡     [   n   ]       ⁢         d   →     ⁡     [   n   ]       T       }       -               E   ⁢     {       d   →     ⁡     [   n   ]       }     ⁢   E   ⁢       {       d   →     ⁡     [   n   ]       }     T               ]       -   1       ⁢     
     [           x   →     ⁡     [   n   ]       -     HE   ⁢     {       b   →     ⁡     [   n   ]       }               d   →     ⁡     [   n   ]       -     E   ⁢     {       d   →     ⁡     [   n   ]       }           ]           
 
When this MMSE DFE is made well-behaved, we set E{b[n]}=0, which, together with some algebra, reduces this expression considerably, to
 
 {circumflex over (b)}[n]=E{b[n]{right arrow over (b)}[n]   T   }H   T   [HE{{right arrow over (b)}[n]{right arrow over (b)}[n]   T }H T   +E{w[n]   2   }I−HE{{right arrow over (b)}[n]}E{{right arrow over (b)}[n]   T   }H   T −
 
( HE{{right arrow over (b)}[n]{right arrow over (d)}[n]   T   }−HE{{right arrow over (b)}[n]}E{{right arrow over (d)}[n]   T }) E{{right arrow over (d)}[n]{right arrow over (d)}[n]   T } −1 ( E{{right arrow over (d)}[n]{right arrow over (b)}[n]   T   } 
 
H T   −E{{right arrow over (d)}[n]}E{{right arrow over (b)}[n]   T   }H   T )] −1 
 
[( {right arrow over (x)}[n]−HE{{right arrow over (b)}[n])−(   HE{{right arrow over (b)}[n]{right arrow over (d)}[n]   T   }−HE{{right arrow over (b)}[n]}E{{right arrow over (d)}[n]   T }) E{{right arrow over (d)}[n]{right arrow over (d)}[n]   T } −1 
 
( {right arrow over (d)}[n]−E{{right arrow over (d)}[n]} )].
 
   The preferred implementation of the present invention is shown in the FIGURE. In the FIGURE, a process for encoding/transmission and reception/decoding begins with a set of digital data, depicted as data bits a i . These data bits are then encoded, using forward error correction coding  10 , to produce the encoded sequence of bits, depicted as ã i . 
   The encoded data bits are now interleaved (re-ordered) in time using the data interleaver  12 . The purpose of the data interleaver is to re-order the data such that the statistical dependencies between the data bits are spread out in time. This makes adjacent data bits in the re-ordered sequence, b i  in the figure, approximately independent of one another. The re-ordered bits b i  are now ready to be transmitted over the channel  16 . The process of mapping the bits b i  into channel symbols and transmitting them over the channel is depicted in the FIGURE as block  16 . The ISI channel  16  introduces distortion into the sequence of channel symbols. The channel  16  also is assumed to exhibit additive noise, as depicted in the FIGURE. The output of the channel  16 , is then the sequence of corrupted channel symbols, x[n]. The received sequence x[n] is then processed by the receiver block  20  to remove effects of the channel. The receiver block comprises several elements. 
   First, the received data symbols are equalized using a soft-input/soft-output MMSE equalizer  22 . The equalizer  22  attempts to eliminate the intersymbol interference (ISI) from the channel. The output of the equalizer  22  is a set of priors, or confidence levels, in the symbol values, labeled as Π OUT   E  in the figure. The two inputs to the SISO MMSE equalizer  22  are the channel output symbols x[n] and a set of confidence levels in their values, Π IN   E . On the first pass through the equalizer, an initialization set of confidence levels are used, which are equally-likely to take on all values. Subsequent passes use confidence levels produced by the SISO decoder  24 . 
   The confidence levels are then re-ordered using the de-interleaver  12   a  to place them in the same order as the corresponding bits in the encoded sequence a i . The confidence levels can now be used in a soft-input/soft-output decoder  24  to produce estimates of the original uncoded data bits a i , labeled as Π OUT   E  in the figure. The confidence levels over the sequence a i  are then interleaved  12  again, back to the ordering of the channel symbols and the interleaved data bits b i . The confidence levels are now used as input to the SISO MMSE equalizer  22 , together with the data x[n]. Whereas in the first pass through the equalizer  22 , the confidence levels were arbitrarily preset to initialized values, now the confidence levels have been determined by the decoding process. This cycle is repeated until either a convergence criteria is met, or a sufficient number of passes over the data have elapsed. Typically, the convergence criteria will consist of a prespecified measure of match between the confidence levels determined by the decoding process and those determined by the equalization process. Other possible convergence criteria could include testing that the confidence levels determined by one or the two SISO devices have not changed appreciably over a sequence of passes. 
   While various embodiments of the present invention have been shown and described, it should be understood that other modifications, substitutions and alternatives are apparent to one of ordinary skill in the art. Such modifications, substitutions and alternatives can be made without departing from the spirit and scope of the invention, which should be determined from the appended claims. 
   Various features of the invention are set forth in the appended claims.