Abstract:
A MIMO Decision Feedback Equalizer improves operation of a receiver by cancelling the spatio-temporal interference effects caused by the MIMO channel memory with a set of FIR filters in both the feedforward and the feedback MIMO filters. The coefficients of these FIR filters can be fashioned to provide a variety of controls by the designer.

Description:
RELATED APPLICATION  
       [0001]     This application claims priority from Provisional application No. 60/158,714, filed on Oct. 8, 1999. This application is also related to a Provisional application No. 60/158,713, also filed on Oct. 8, 1999. 
     
    
     BACKGROUND OF THE INVENTION  
       [0002]     In multi-user communication over linear, dispersive, and noisy channels, the received signal is composed of the sum of several transmitted signals corrupted by inter-symbol interference, inter-user interference, and noise. Examples include TDMA digital cellular systems with multiple transmit/receive antennas, wide-band asynchronous CDMA systems, where inter-user interference is also known as is multiple access interference, wide-band transmission over digital subscriber lines (DSL) where inter-user interference takes the form of near-end and far-end crosstalk between adjacent twisted pairs, and in high-density digital magnetic recording where inter-user interference is due to interference from adjacent tracks.  
         [0003]     Multi-user detection techniques for multi-input multi-output (MIMO) systems have been shown to offer significant performance advantages over single user detection techniques that treat inter-user interference as additive colored noise and lumps its effects with thermal noise. Recently, it has been shown that the presence of inter-symbol interference in these MIMO systems could enhance overall system capacity, provided that effective multi-user detection techniques are employed.  
         [0004]     The optimum maximum likelihood sequence estimation (MLSE) receiver for MIMO channels was developed by S. Verdu, “Minimum Probability of Error for Asynchronous Gaussian Multiple Access Channels,”  IEEE Transactions on Information Theory , January 1986, pp. 85-96. However, its exponential complexity increases with the number of users, and channel memory makes its implementation costly for multi-user detection on severe-inter-symbol interference channels.  
         [0005]     Two alternative transceiver structures have been recently proposed for MIMO dispersive channels as well. These structures, which are widely used in practice for single-input single-output dispersive channels, are the Discrete Multitone and minimum-mean-square-error decision feedback equalizer (MMSE-DFE). In the latter category, this includes A. Duel-Hallen “Equalizers for Multiple Input Multiple Output Channels and PAN Systems with Cyclostationary Input Sequences,”  IEEE Journal on Selected Areas on Communications , April 1992, pp. 630-639; A. Duel-Hallen “A Family of Multiuser Decision-Feedback Detectors for Asynchronous Code Division Multiple Access Channels,”  IEEE Transactions on Communications , February/March/April 1995, pp. 421-434; J. Yang et an “Joint Transmitter and Receiver Optimization for Multiple Input Multiple Output Systems with Decision Feedback,”  IEEE Transactions on Information Theory,  September 1994, pp. 1334-1347; and J. Yang et al “On Joint Transmitter and Receiver Optimization for Multiple Input Multiple Output (MIMO) Transmission Systems,” IEEE Transactions on Communications, Dec. 1994, pp. 3221-3231. Alas, the prior art does not offer a practical MIMO MMSE-DFE receiver with feedforward and feedback FIR filters whose coefficients can be computed in a single computation (i.e., non-iteratively) in real-time under various MIMO detection scenarios.  
       SUMMARY  
       [0006]     An advance in the art is realized with receiver having a multiple number of receiving antennas that feed a MIMO feedforward filter that is constructed from FIR filters with coefficients that are computed based on environment parameters that are designer-specified. Signals that are derived from a multiple-output feedback filter structure are subtracted from the signals from the multiple outputs of the feedforward filter structure, and the resulting difference signals are applied to a decision circuit. Given a transmission channel that is modeled as a set of FIR filters with memory ν, a matrix W is computed for a feedforward filter that results in an effective transmission channel B with memory N b , where N b ≦ν, where B is optimized so that B opt =argmin b trace(R ee ) subject to selected constraints; R ee  being the error autocorrelation function. The feedback filter is modeled by [I n     i    0 n     i     xn     i     N     b   ]−B, where n i  is the number of outputs in the feedforward filter, as well as the number of outputs in the feedback filter.  
         [0007]     The coefficients of feedforward and the feedback filters, which are sensitive to a variety of constraints that can be specified by the designer, are computed by a processor in a non-iterative manner, only as often as it is expected for the channel characteristics to change. 
     
    
     BRIEF DESCRIPTION OF THE DRAWING  
       [0008]      FIG. 1  shows the major elements of a receiver in accord with the principles disclosed herein;  
         [0009]      FIG. 2  presents the structure of elements  23  and  26 ;  
         [0010]      FIG. 3  is a flowchart describing one method carried out by processor  22 ; and  
         [0011]      FIG. 4  is a flowchart describing another method carried out by processor  22 . 
     
    
     DETAILED DESCRIPTION  
       [0012]      FIG. 1  depicts the general case of an arrangement with n i  transmitting antennas  11 - 1 ,  11 - 2 , . . .  11 - n   q , that output signals (e.g., space-time encoded signals) to a transmission channel, and n o  receiving antennas  21 - 1 ,  21 - 2 , . . .  21 - n   o . Each transmitting antenna p outputs a complex-valued signal x p , the signals of the n q  antennas pass through a noisy transmission channel, and the n o  receiving antennas capture the signals that passed through the transmission channel. The received signals are oversampled by a factor of l in element  20  and applied to feedforward W filters  23 . Thus, the sampling clock at the output of element  20  is of period T s =Tll, where T is the inter-symbol period at the transmitting antennas. The transmission channel&#39;s characterization is also referenced to T s .  
         [0013]     Filter bank  23  delivers an n i  plurality of output signals (n i  can equal n q  for example) from which feedback signals are subtracted in circuit  24  and applied to decision circuits  25  (comprising conventional slicers). The outputs of decision circuits  25  are applied to feedback filters  26 , which develop the feedback signals. Processor  22  develops the filter coefficients for the filters within elements  23  and  26  and installs the coefficients in the filters within these elements, as disclosed in detail below.  
         [0014]     In the illustrative embodiment disclosed herein, the received signal is expressed by  
                 y   k     (   j   )       =         ∑     i   =   1     N     ⁢           ⁢       ∑     m   =   0       v     (     i   ,   j     )         ⁢           ⁢       h   m     (     i   ,   j     )       ⁢     x     k   -   m       (   i   )             +     n   k     (   j   )           ,           (   1   )             
 
 where y k   (j)  is the signal at time k at the j th  receiving antenna, h m   (i,j)  is the m th  coefficient (tap) in the channel impulse response between the i th  transmitting antenna and the j th  receiving antenna, and n (j)  is the noise vector at the j th  receiving antenna. The memory of this path (i.e., the largest value of m for which h m   (i,j)  is not zero) is denoted by ν (i,j) . 
 
         [0016]     It may be noted that it not unreasonable to assume, that the memory of the transmission channel is the same for all i,j links (n i ×n o  such links), in which case ν (i,j) =ν. Alternatively, the ν (i,j)  limit in equation (1) can be set to that ν which corresponds to maximum length of all of the n i ×n o  channel input responses, i.e., ν=max i,j ν (i,j) . It may also be noted that all of the variables in equation (1) are actually l×1 column vectors, corresponding to the/time samples per symbol in the oversampled  FIG. 1  arrangement.  
         [0017]     By grouping the received samples from all n o  antennas at symbol time k into an n o l×1 column vector y k , one can relate y k  to the corresponding n i ×1 (column) vector of input samples as follows  
                 y   k     =         ∑     m   =   0     v     ⁢           ⁢       H   m     ⁢     x     k   -   m           +     n   k         ,           (   2   )             
 
 where H m  is the MIMO channel coefficients matrix of size n o l×n i , x k-m  is a size n i ×1 input (column) vector, and n k  is a size n o l×1 vector. 
 
         [0019]     Over a block of N f  symbol periods, equation (2) can be expressed in matrix notation as follows:  
                     [           y     k   +     N   f     -   1                 y     k   +     N   f     -   2               ⋮             y   k           ]     =         [           H   0           H   1         ⋯         H   v         0       ⋯       0           0         H   0           H   1         ⋯         H   v         0       ⋯           ⋮       ⋮       ⋮       ⋮       ⋮       ⋰       ⋮           0       ⋯       0         H   0           H   1         ⋯         H   v           ]     ⁡     [           x     k   +     N   f     -   1                 x     k   +     N   f     -   2               ⋮             x     k   -   v             ]       +                         ⁢     [           n     k   +     N   f     -   1                 n     k   +     N   f     -   2               ⋮             n   k           ]                   (   3   )             
 
 or, more compactly, 
 
 y   k+N     f     −tk   =Hx   k+N     f     −tk−ν   +n   k+N     f     −tk   (4) 
 
 The subscripts in equation (4) indicate a range. For example k+N f −1: k means the range from k+N f −1 to k, inclusively. 
 
         [0022]     It is useful to define the following correlation matrices: 
 
 R   xy   ≡E[x   k+N     f     −tk−ν   y*   k+N     f     −tk   ]=R   xx   H*   (5) 
 
 R   yy   ≡E[y   k+N     f     −tk   y*   k+N     f     −tk   ]=HR   xx   H*+R   nn ,  (6) 
 
R xx ≡E[x k+N     f     −tk−ν x* k+N     f     −tk−ν ] and  (7) 
 
R nn ≡E[n k+N     f     −tk n* k+N     f     −tk ],  (8) 
 
 and it is assumed that these correlation matrices do not change significantly in time or, at least, do not change significantly over a time interval that corresponds to a TDMA burst (assumed to be much shorter than the channel coherence time), which is much longer than the length of the FIR filters in element  23  (in symbol periods denoted by N f ). Accordingly, a re-computation within processor  22  of the above matrices, and the other parameters disclosed herein, leading to the computation of the various filter coefficients, need not take place more often than once every TDMA burst. Once H, R xx  and R nn  are ascertained (through the conventional use of training sequences), R xy  and R yy  are computed by R xx H* and HR xx H*+R nn , respectively. 
 
         [0024]     In accordance with the principles disclosed herein, element  23  comprises a collection of FIR filters that are interconnected as shown in  FIG. 2 , and the impulse response coefficients of element  23  can be expressed by W* ≡[W* 0  W* 1  . . . W* N     f−1   ], each having N f  matrix taps W i , of size (l 0 n×n i ). That is, W i  has the form:  
               W   j     =     [           W   j     (     1   ,   1     )           ⋯         W   j     (     1   ,     n   j       )               ⋮       ⋯       ⋮             W   j     (       n   o     ,   1     )           ⋯         W   j     (       n   o     ,     n   j       )             ]             (   9   )             
 
 where each entry in W j   (p,q)  is an l×1 vector corresponding to the l output samples per symbol. Stated in other words, the matrix W 0  specifies the 0 th  tap of the set of filters within element  23 , the matrix W 1  specifies the 1 st  tap of the set of filters within element  23 , etc. 
 
         [0026]     Also in accordance with the principles disclosed herein, element  26  comprises a collection of FIR filters that also are interconnected as shown in  FIG. 2 , and the impulse response coefficients of element  26  is chosen to be equal to 
 
[ I   n     i    0 n     i     ×n     i     N     b     ]−B *≡[( I   n     i     −B*   0 )  B*   1    . . . B*   N     b   ],  (10) 
 
 where B* is expressed by B*≡[B* 0  B* 1  . . . B* N     b   ], with (N b +1) matrix taps B i , each of size n i ×n i . That is, B i  has the form:  
               B   i     =       [           b   i     (     1   ,   1     )           ⋯         b   i     (     1   ,     n   j       )               ⋮       ⋯       ⋮             b   i     (       n   i     ,   1     )           ⋯         b   i     (       n   i     ,     n   i       )             ]     .             (   11   )             
 
 Stated in other words, B 0  specifies the 0 th  tap of the set of filters within element  26 , the matrix B 1  specifies the 1 st  tap of the set of filters within element  26 , etc. 
 
         [0029]     Defining {tilde over (B)}*≡[0 n     i     ×n     i     Δ     b    B*], where {tilde over (B)}* is a matrix of size n i ×n i (N f +ν), the value of N b  is related to the decision delay by the equality (Δ+N b +1)=(N f +ν).  
         [0030]     The error vector at time k is given by 
 
 E   k   ={tilde over (B)}*x   k+N     f     −tk−ν   −W*y   k+N     f     −tk .  (12) 
 
 Therefore, the n i ×n i  error auto-correlation matrix is  
                     R   ee     ≡       ⁢     E   ⁡     [       E   k   *     ⁢     E   k       ]                   =       ⁢           B   ~     *     ⁢     R   xx     ⁢     B   ~       -         B   ~     *     ⁢     R   xy     ⁢   W     -       W   *     ⁢     R   yx     ⁢     B   ~       +       W   *     ⁢     R   yy     ⁢   W                   =       ⁢             B   ~     *     ⁡     (       R   xx     -       R   xy     ⁢     R   yy     -   1       ⁢     R   yx         )       ⁢     B   ~       +       (       W   *     -         B   ~     *     ⁢     R   xy     ⁢     R   yy     -   1           )     ⁢     R   yy                         ⁢     (       W   *     -         B   ~     *     ⁢     R   xy     ⁢     R   yy     -   1           )                 =       ⁢           B   ~     *     ⁢     R   ⊥     ⁢     B   ~       +       G   *     ⁢     R   yy     ⁢   G                     (   13   )             
 
         [0032]     Using the Orthogonality Principle, which states that E[E k y* k+N     f     −tk ]=0, it can be shown that the optimum matrix feedforward and feedback filters are related by  
                     W   opt   *     =       ⁢         B   ~     opt   *     +       R   xy     ⁢     R   yy     -   1                       =       ⁢         B   ~     opt   *     ⁢     R   xx     ⁢         H   *     ⁡     (         HR   xx     ⁢     H   *       +     R   nn       )         -   1                       =       ⁢             B   ~     opt   *     ⁡     (       R   xx     -   1       +       H   *     ⁢     R   nn     -   1       ⁢   H       )         -   1       ⁢     H   *     ⁢     R   nn     -   1           ,                 (   14   )             
 
 and the n i ×n i  auto-correlation matrix R ee  is  
                     R   ee     ≡       ⁢     [       E   k     ⁢     E   k   *       ]                 =       ⁢           B   ~     *     ⁡     (       R   xx     -       R   xy     ⁢     R   yy     -   1       ⁢     R   yx         )       ⁢     B   ~                   =       ⁢         B   ~     *     ⁢     R   ⊥     ⁢     B   ~                   =       ⁢           B   ~     *     ⁡     (       R   xx     -       R   xx     ⁢         H   *     ⁡     (         HR   xx     ⁢     H   *       +     R   nn       )         -   1       ⁢     HR   xx         )       ⁢     B   ~                   =       ⁢             B   ~     *     ⁡     (       R   xx     -   1       +       H   *     ⁢     R   nn     -   1       ⁢   H       )         -   1       ⁢       B   ~     .                     (   15   )             
 
 R ee  can also be expressed as R ee ={tilde over (B)}*R −1 {tilde over (B)}, where R=R xx   −1 +H*R nn   −1 H. 
 
         [0035]     It remains to optimize values for the B matrix and the W matrix such that, in response to specified conditions, the trace (or determinant) of R ee  is minimized. The following discloses three approaches to such optimization.  
         [heading-0036]     Scenario 1  
         [0037]     In this scenario, it is chosen to process only previous receiver decisions. These decisions relate to different users that concurrently have transmitted information that has been captured by antennas  21  and detected in circuit  25 . That means that feedback element  26  uses only delayed information and that the 0 th  order coefficients of the filters within element  26  have the value 0. Therefore, in light of the definition expressed in equation (10), this scenario imposes the constraint of B 0 =l n     f   .  
         [0038]     To determine the optimum matrix feedback filter coefficients under this constraint, the following optimization problem needs to be solved: 
 
min {tilde over (B)}   R   ee =min {tilde over (B)}   {tilde over (B)}*R   −1   {tilde over (B)}, subject to    {tilde over (B)}Φ=C*,   (16) 
 
 where  
               Φ   ≡       [           I     n   i           0       ⋯       0           0         I     n   i           ⋮       ⋮           ⋮       0       ⋰         I     n   i               0       ⋯       ⋯       0         ]     ⁢           ⁢   and   ⁢           ⁢     C   *         =     [           0       n   i     ×     n   i     ⁢   Δ               I     n   i       ]                     (   17   )             
 
 It can be shown that the solution to the above is given by 
 
 {tilde over (B)}   opt   =RΦ (Φ* RΦ ) −1   C,   (18) 
 
 resulting in the error signal 
 
 R   ee,min   =C *(Φ* RΦ ) −1   C.   (19) 
 
 If we define the partitioning  
               R   ≡     [           R   11           R   12               R   12   *           R   22           ]       ,           (   20   )             
 
 where R 11  is of size n i (Δ+1)×n i (Δ+1), then  
                 B   ~     opt     =         [           R   11               R   12   *           ]     ⁢     R   11     -   1       ⁢   C     =       [           I       n   i     ⁡     (     Δ   +   1     )                     R   12   *     ⁢     R   11     -   1               ]     ⁢   C               (   21   )             
 
 and 
 
 R   ee,min   =C*R   11   −1   C,   (22) 
 
 where the delay parameter Δ is adjusted to minimize the trace (or determinant) of R ee,min . Once {tilde over (B)} opt  is known, equation (14) is applied to develop W* opt . 
 
         [0046]      FIG. 3  presents a flowchart for carrying out the method of determining the filter coefficients that processor  22  computes pursuant to scenario 1. Step  100  develops an estimate of the MIMO channel between the input points and the output point of the actual transmission channel. This is accomplished in a conventional manner through the use of training sequences. The estimate of the MIMO channel can be chosen to be limited to a given memory length, ν, or can be allowed to include as much memory as necessary to reach a selected estimate error level. That, in turn, depends on the environment and is basically equal to the delay spread divided by T s .  
         [0047]     Following step  100 , step  110  determines the matrices, R nn , R xx , R xy , and R yy . The matrix R nn  is computed by first computing n=y−Hx and then computing the expected value E[n*n]—see equation (8) above. The matrix R xx  is computed from the known training sequences—see equation (7) above—(or is precomputed and installed in processor  22 ). In may be noted that for uncorrelated inputs, R xx =l. The matrices R xy  and R yy  are computed from the known training sequences and the received signal or directly from H and R nn —see equations (5) and (6) above.  
         [0048]     Following step  110 , step  120  computes R=R xx   −1 −H*R nn   −1 H, and the partition components, R 11 , R 12 , and R 22 , as per equation (20). Following step  120 , step  130  computes R ee,min  from equation (22) and adjusts Δ to minimize the trace (or determinant) of R ee,min , computes {tilde over (B)} opt  from equation (21), and from {tilde over (B)} opt  determines the coefficients of the n i ×n i  filters of element  26 , pursuant to equation (10). Step  140  computes W* opt  from equation (14), and finally, step  150  installs the coefficients developed in step  130  into the filters of element  26  and the coefficients developed in step  140  into the filters of element  23 .  
         [0049]     A second approach for computing {tilde over (B)} opt  utilizes the block Cholesky factorization (which is a technique that is well known in the art):  
                   R   ≡       ⁢       R   xx     -   1       +       H   *     ⁢     R   nn     -   1       ⁢   H                   =       ⁢         [           L   1         0             L   2           L   3           ]     ⁡     [           D   1         0           0         D   2           ]       ⁡     [           L   1   *           L   2   *             0         L   3   *           ]                     ≡       ⁢     LDL   *       ,                 (   22   )             
 
 where L 1  is of size n i (Δ+1)×n i (Δ+1). Using the result in equations (18) and (19) yields  
                       B   ~     opt     =       ⁢         [           I       n   i     ⁡     (     Δ   +   1     )                     L   2     ⁢     L   1     -   1               ]     ⁢   C     =     [           I     n   i                   L   2     ⁢     L   1     -   1       ⁢   C           ]                   =       ⁢     L   ⁡     [       e       n   i     ⁢     Δ   opt         ⁢   ⋯   ⁢           ⁢     e         n   i     ⁡     (       Δ   opt     +   1     )       -   1         ]                     (   23   )             
 
 and  
                     R     ee   ,   min       =       ⁢       C   *     ⁢     D   1     -   1       ⁢   C                   =       ⁢     diag   ⁡     (       d       n   i     ⁢     Δ   opt         -   1       ,   ⋯   ⁢           ,     d         n   i     ⁡     (       Δ   opt     +   1     )       -   1       -   1         )         ,                 (   24   )             
 
 where the index Δ opt  is chosen (as before) to minimize the trace and determinant of R ee,min . Using equation (23), equation (14) can be expressed as follows  
                     W   opt   *     =       ⁢         B   ~     opt   *     ⁢     R   xx     ⁢         H   *     ⁡     (         HR   xx     ⁢     H   *       +     R   nn       )         -   1                     =       ⁢             B   ~     opt   *     ⁡     (       R   xx     -   1       +       H   *     ⁢     R   nn     -   1       ⁢   H       )         -   1       ⁢     H   *     ⁢     R   nn     -   1                     =       ⁢       [             d       n   i     ⁢     Δ   opt         -   1       ⁢     θ       n   i     ⁢     Δ   opt       *               ⋮               d         n   i     ⁡     (       Δ   opt     +   1     )       -   1       -   1       ⁢     θ         n   i     ⁡     (       Δ   opt     +   1     )       -   1     *             ]     ⁢     L     -   1       ⁢     H   *     ⁢     R   nn     -   1                       (   25   )             
 
         [0053]     Yet a third approach for computing {tilde over (B)} opt , and R ee,min  defines {tilde over (B)}*=[C* {overscore (B)}*] and partitions R ⊥  into as  
         [           R   11   ⊥           R   12   ⊥               R   12   ⊥           R   22   ⊥           ]     ,       
 
 where  
       R   11   ⊥       
 
 is of size n i (Δ+1)×n i (Δ+1), to yield  
                     R   ee     =       ⁢         B   ~     *     ⁢     R   ⊥     ⁢     B   ~                   ≡       ⁢         [           C   *             B   _     *           ]     ⁡     [           R   11   ⊥           R   12   ⊥               R   12     ⊥   *             R   22   ⊥           ]       ⁡     [         C           B         ]                   ≡       ⁢         [           I     n   i               B   _     *           ]     ⁡     [             R   _     11   ⊥             R   _     12   ⊥                 R   _     12     ⊥   *               R   _     22   ⊥           ]       ⁡     [           I     n   i                 B   _           ]                   =       ⁢       (         R   _     11   ⊥     -             R   _     12   ⊥     ⁡     (     R   22   ⊥     )         -   1       ⁢       R   _     12     ⊥   *           )     +       (         B   _     *     +           R   _     12   ⊥     ⁡     (     R   22   ⊥     )         -   1         )     ⁢     R   22   ⊥                         ⁢         (         B   _     *     +           R   _     12   ⊥     ⁡     (     R   22   ⊥     )         -   1         )     *     ,                   (   26   )             
 
 where  
             R   _     11   ⊥     ≡       C   *     ⁢     R   11   ⊥     ⁢   C   ⁢           ⁢   and   ⁢           ⁢       R   _     12   ⊥         =       C   *     ⁢       R   12   ⊥     .           
 
 Therefore,  
               B   opt     =     -           R   _     12   ⊥     ⁡     (     R   22   ⊥     )         -   1                                   W   opt   *     =       [         0       n   i     ×     n   i     ⁢           ⁢   Δ       ⁢           ⁢     I     n   i         -           R   _     12   ⊥     ⁡     (     R   22   ⊥     )         -   1         ]     ⁢     (       R   xx     ⁢         H   *     ⁡     (         HR   xx     ⁢     H   *       +     R   nn       )         -   1                     (   27   )                 R     ee   ,   min       =         R   _     11   ⊥     -             R   _     12   ⊥     ⁡     (     R   22   ⊥     )         -   1       ⁢       R   _     12     ⊥   *                   (   28   )             
 
 Scenario 2 
 
         [0059]     In this scenario it is assumed that users whose signals are received by the  FIG. 1  receiver are ordered so that lower-indexed users are detected first, and current decisions from lower-indexed users are used by higher-indexed users in making their decisions, i.e., B 0  is a lower-triangular matrix. The general results of equations (21) and (22) can be applied by setting C*=[0 n     i     ×n     i     Δ  B* 0 ] where B 0  is an n i ×n i  monic lower-triangular matrix whose entries are optimized to minimize trace(R ee,min ). To this end, a partitioning can be defined where  
                 R   11     -   1       ≡     [             R   1     ⁢     R   2                   R   2   *     ⁢     R   3             ]       ,           (   29   )             
 
 R 11  being the term corresponding to R 11  of equation (20), with R 1  being of size n i Δ×n i Δ, and R 3  being of size n i ×n i . Equation (22) simplifies to 
 
 R   ee,min   =B*   0   R   3   B   0   (30) 
 
 It can be shown that, the optimum monic lower-triangular B 0  that minimizes trace(R ee,min ) is given by the nomic lower-triangular Cholesky factor of R 3   −1 , i.e., 
 
 R   3   −1   =L   3   D   3   L*   3 ,  (31) 
 
 which yields 
 
B 0   opt =L 3 ,  (32) 
 
 and 
 
R ee,min =D 3   −1 .  (33) 
 
 The result is that  
             B   ~     opt     =       [           I       n   i     ⁡     (     Δ   +   1     )                     R   12   *     ⁢     R   11     -   1               ]     ⁢   C       ,       
 
 as expressed in equation (21), with the modified value of R 11   −1 , and with 
 
C*=[0 n   ×n     i     Δ  B* 0].   (34) 
 
         [0066]     A second approach for computing the optimum FIR filter coefficients for the  FIG. 1  receiver involves computing a standard—rather than a block—Cholesky factorization of the matrix R=R xx   −1 +H*R nn   −1 H (see the definition following equation (15)) in the form LDL*. Then, the coefficients of the element  23  filters is given by the n i  adjacent columns of L that correspond to a diagonal matrix with the smallest trace. Therefore, equations (23) and (25) are used to compute the corresponding coefficients, with the understanding that L is now a lower-triangular matrix, rather than a block lower-triangular matrix. The equivalence of the two approaches can be shown using the nesting property of Cholesky factorization.  
         [0067]      FIG. 4  presents a flowchart for carrying out the method of determining the filter coefficients that processor  22  computes pursuant to scenario 2. Steps  100  through  120  are the same as in  FIG. 3 , but the method diverges somewhat in the following steps. In step  131  the partition according to equation (20) is developed for a Δ that minimizes R ee,min  of equation (33), and control passes to step  141 , where B 0   opt  is computed based on equations (31) and (32), followed by a computation of {tilde over (B)} opt  based on equations (21) and (34). Following step  141 , step  151  computes W* opt  from equation (14), and finally, step  161  installs the coefficients developed in step  141  into the filters of element  26  and the coefficients developed in step  151  into the filters of element  23 .  
         [heading-0068]     Scenario 3  
         [0069]     When multistage detectors are employed, current decisions from all other users, obtained from a previous detection stage, are available to the user of interest. Therefore, suppressing their interfering effects would improve the performance of the receiver. This detection scenario has the same mathematical formulation as scenarios 1 and 2, except that B 0  is now constrained only to be monic, i.e., e* i B 0 e i =1 for all 0≦i≦n i −1. The general results in equations (21) and (22) still apply with C*=[0 n     i     ×n     i     Δ B* 0 ] where B 0  is optimized to minimize trace(R ee,min ). In short, under scenario 3, the following optimization problem is solved:  
                   min     B   0       ⁢       trace   ⁡     (       B   0   *     ⁢     R   3     ⁢     B   0       )       ⁢           ⁢   subject   ⁢           ⁢   to   ⁢           ⁢     e   i   *     ⁢     B   0     ⁢     e   i         =       1   ⁢           ⁢   for   ⁢           ⁢   all   ⁢           ⁢   0     ≤   i   ≤       n   i     -   1         ,           (   33   )             
 
 where R 3  is as defined in equation (29). Using Lagranage multiplier techniques, it can be shown that the optimum monic B 0  and the corresponding MMSE are given by  
                 B   0   opt     =         R   3     -   1       ⁢     e     i   -   1             e   i   *     ⁢     R   3     -   1       ⁢     e   i           ;     0   ≤   i   ≤       n   i     -   1.               (   34   )             
 
 Thus, the method of determining the filter coefficients that processor  22  computes pursuant to scenario 3 is the same as the method depicted in  FIG. 4 , except that the computation of B 0   opt  within step  141  follows the dictates of equation (34). 
 
         [0072]     With the above analysis in mind, a design of the filter coefficients of the filters within elements  23  and  26  can proceed for any given set of system parameters, which includes: 
        MIMO channel memory between the input points and the output point of the actual transmission channel, ν,     The number of pre-filter taps chosen, N f ,     The shortened MIMO memory, N b ,     The number of inputs to the transmission channel, n i ,     The number of output derived from the transmission channel, n o ,     The autocorrelation matrix of the inputs, R xx ,     The autocorrelation matrix of the noise, R nn ,     The oversampling used, l, and     The decision delay, Δ.        
 
         [0082]     It should be understood that a number of aspects of the above disclosure are merely illustrative, and that persons skilled in the art may make various modifications that, nevertheless, are within the spirit and scope of this invention.