# Patent

## Title
Method and apparatus for designing finite-length multi-input multi-output channel shortening pre-filters

## Abstract

A multi-input, multi-output pre-filter improves operation of a multi-input receiver by shortening the effective memory of the channel with a set of FIR filters. The coefficients of these FIR filters can be fashioned to provide a variety of controls by the designer, for example, the value of the effective memory.

## Background
RELATED APPLICATION
This application is a Continuation application of Ser. No. 09/668,199, now U.S. Pat. No. 7,027,536, filed Sep. 22, 2000, which claims the benefit of Provisional application No. 60/158,713 filed on Oct. 8, 1999. This application is also related to a Provisional application No. 60/158,714, also filed on Oct. 8, 1999.


BACKGROUND OF THE INVENTION
The combination of maximum likelihood sequence estimation (MLSE) with receiver diversity is an effective technique for achieving high performance over noisy, frequency-selective, fading channels impaired by co-channel interference. With the addition of transmitter diversity, the resulting multi-input multi-output (MIMO) frequency-selective channel has a significantly higher capacity than its single-input multi-output (SIMO) or single-input single-output (SISO) counterparts. The use of maximum likelihood multi-user detection techniques on these frequency-selective MIMO channels significantly outperforms single-user detection techniques that treat signals from other users as colored noise. However, MLSE complexity increases exponentially with the number of inputs (or transmit antennas) and with the memory of the MIMO channel, making its implementation over sever inter-symbol interference (ISI) channels very costly.
The MIMO channel can be modeled as a collection of FIR filters (i.e., an FIR filter between each input point (e.g., transmitting antenna) and each receiving point (e.g. receiving antenna), and the “memory of the channel” corresponds to the number of taps in the FIR filters.
The Discrete Matrix Multitone (DMMT) was shown to be a practical transceiver structure that asymptotically achieves the MIMO channel capacity when combined with powerful codes. It uses the Discrete Fourier Transform (DFT) to partition the frequency responses of the underlying frequency-selective channels of the MIMO systems into a large number of parallel, independent, and (approximately) memoryless frequency subchannels. To eliminate inter-block and intra-block interference, a cyclic prefix whose length is equal to the MIMO channel memory is inserted in every block. On severe-ISI MIMO channels, the cyclic prefix overhead reduces the achievable DMMT throughput significantly, unless a large FFT size is used which, in turn, increases the computational complexity, processing delay, and memory requirements in the receiver.
In short, the computation complexity increases exponentially with the number of taps in the FIR filters that may be used to model the channel.
N. Al-Dhahir and J. M. Cioffi, in “Efficiently-Computed Reduced-Parameter Input-Aided MMSE Equalizers for ML Detection: A Unified Approach,” IEEE Trans. Information Theory, pp. 903-915, May 1996, disclose use of a time-domain pre-filter in the receiver to shorten the effective channel memory and hence reduce the cyclic prefix overhead and/or the number of MLSE states. The disclosed approach, however, is for SISO systems, and not for MIMO systems.
SUMMARY
An advance in the art is realized with a MIMO pre-filter that is constructed from FIR filters with coefficients that are computed based on environment parameters that are designer-chosen. Given a transmission channel that is modeled as a set of FIR filters with memory ν, a matrix W is computed for a pre-filter that results in an effective transmission channel B with memory Nb, where Nb<ν, where B is optimized so that Bopt=argminB trace(Ree) subject to selected constraints; Ree being the error autocorrelation function. The coefficients of W, which are sensitive to a variety of designer constraints, are computed by a processor within pre-filter at the front end of a receiver and loaded into an array of FIR filters that form the pre-filter.



BRIEF DESCRIPTION OF THE DRAWING
FIG. 1 shows the major elements of a receiver in accord with the principles disclosed herein;
FIG. 2 presents the structure of filters 210; and
FIG. 3 is a flowchart describing the method carried out by processor 220 within pre-filter 30.



DETAILED DESCRIPTION
FIG. 1 depicts the general case of an arrangement with ni transmitting antennas 11-1, 11-2, . . . 11-ni, that output signals (e.g., space-time encoded signals) to a transmission channel, and no receiving antennas 21-1, 21-2, . . . 21-no. Each transmitting antenna p outputs a complex-valued signal xp, the signals of the ni antennas pass through a noisy transmission channel, and the no receiving antennas Capture the signals that passed through the transmission channel. The received signals are oversampled by a factor of I in element 20 and applied to pre-filter 30. Thus, the sampling clock at the output of element 20 is of period Ts=T/I, where T is the inter-symbol period at the transmitting antennas. The transmission channel's characterization is also referenced to Ts. In the illustrative embodiment disclosed herein, therefore, pre-filter 30 develops no output signals that are applied to a conventional multi-input receiver 40, and the received signal can be expressed by




  
    
      
        
          
            y
            k
            
              (
              j
              )
            
          
          =
          
            
              
                ∑
                
                  i
                  =
                  1
                
                N
              
              ⁢
              
                
                  ∑
                  
                    m
                    =
                    0
                  
                  
                    v
                    
                      (
                      
                        i
                        ,
                        j
                      
                      )
                    
                  
                
                ⁢
                
                  
                    h
                    m
                    
                      (
                      
                        i
                        ,
                        j
                      
                      )
                    
                  
                  ⁢
                  
                    x
                    
                      k
                      -
                      m
                    
                    
                      (
                      i
                      )
                    
                  
                
              
            
            +
            
              n
              k
              
                (
                i
                )
              
            
          
        
        ,
      
    
    
      
        (
        1
        )
      
    
  




where yk(j) is the signal at time k at the jth receiving antenna, hm(i,j) is the mth coefficient (tap) in the channel impulse response between the ith transmitting antenna and the jth receiving antenna, and n(j) is the noise vector at the jth receiving antenna. The memory of this path (i.e., the largest value of m for which hm(i,j) is not zero) is denoted by ν(i,j). It not unreasonable to assume, however, that the memory of the transmission channel is the same for all i,j links (ni×no 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 ni×no channel input responses, i.e., ν=maxi,jν(i,j). All of these variables in equation (1) are actually I×1 column vectors, corresponding to the I time samples per symbol in the oversampled FIG. 1 arrangement. By grouping the received samples from all no antennas at symbol time k into an noI×1 column vector yk, one can relate yk to the corresponding ni×1 (column) vector of input samples as follows





  
    
      
        
          
            y
            k
          
          =
          
            
              
                ∑
                
                  m
                  =
                  0
                
                v
              
              ⁢
              
                
                  H
                  m
                
                ⁢
                
                  x
                  
                    k
                    -
                    m
                  
                
              
            
            +
            
              n
              k
            
          
        
        ,
      
    
    
      
        (
        2
        )
      
    
  




where Hm is the MIMO channel coefficients matrix of size noI×ni, xk−m is a size ni×1 input (column) vector, and nk is a size noI×1 vector.

Over a block of Nf 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,

yk+Nf−1:k=Hxk+Nf−1:k−ν+nk+Nf−1:k.  (4)

The subscripts in equation (4) indicate a range. For example k+Nf−1:k indicates the range k+Nf−1 and k, inclusive.

It is useful to define the following correlation matrices:

Rxy≡E[xk+Nf−1:k−νy*k+Nf−1:k]=RxxH*  (5)

Ryy≡E[yk+Nf−1:ky*k+Nf−1:k]=HRxxH*+Rnn,  (6)

Rxx≡E[xk+Nf−1:k−νx*k+Nf−1:k−ν] and  (7)

Rnn≡E[nk+Nf−1:kn*k+Nf−1:k].  (8)

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 pre-filter, in symbol periods denoted by Nf. Accordingly, a re-computation of the above matrices, and the other parameters disclosed herein, leading to the computation of pre-filter coefficients, need not take place more often than once every TDMA burst.

Once H, Rxx and Rnn are known, Rxy and Ryy are computed by RxxH* and HRxxH*+Rnn, respectively.
Given the MIMO channel matrix H with ν+1 members (H0, H1, . . . Hν), the objective is to create a MIMO pre-filter W (element 30 in FIG. 1) with Nf matrix taps, i.e., matrix W≡[W0 W1 . . . WNf−1]T, that equalizes H so as to create an overall transmission channel for receiver 40 that corresponds to a matrix B with memory Nb, where Nb<<ν.
The matrix B can be expressed as B≡[B0 B1 . . . BNb]T where each Bi is of size ni×ni.
The MIMO channel-shortening pre-filter W (element 30) is conditioned, or adjusted, to minimize the equalization Mean Squared Error (MSE), defined by MSE≡trace(Ree), where Ree is the autocorrelation matrix of the error vector Ek that is given by

Ek={tilde over (B)}*xk+Nf−1:k−ν−W*yk+Nf−1:k,  (9)

where the augmented MIMO matrix, {tilde over (B)}*, is

{tilde over (B)}*≡[0ni×niΔ B*0 B*1 . . . B*Nb 0ni×nis]≡[0ni×niΔ B* 0ni×nis],  (10)

Δ is the decision delay that lies in the range 0≦(Nf+ν−Nb−1), and s≡Nf+ν−Nb−Δ−1. The ni×ni error autocorrelation function Ree can be expressed by the following:

Ree≡E[EkE*k]

={tilde over (B)}*(Rxx−RxyRyy−1Ryx){tilde over (B)}

={tilde over (B)}*R⊥{tilde over (B)}

={tilde over (B)}* RB,  (11)

where R is a sub-matrix of R⊥ determined by Δ.

Using the orthogonality principle, which states that E[Eky*k+Nf−1:k]=0 it can be shown that the optimum channel-shortening pre-filter and target impulse response filters (W and B, respectively) are related by

W*opt={tilde over (B)}*optRxyRyy−1 

={tilde over (B)}*optRxxH*(HRxxH*+Rnn)−1 

={tilde over (B)}*opt(Rxx−1+H*Rnn−1H)−1H*Rnn−1.  (12)

The last line shows explicitly that the MIMO channel-shortening pre-filter consists of a noise whitener Rnn−1, a MIMO matched filter H*, and a bank of FIR channel-shortening pre-filter elements.

It remains to optimize {tilde over (B)} such that the MSE is minimized, which may be obtained by computing the parameters of B that, responsive to specified conditions, minimizes the trace (or determinant) of Ree. The following discloses two approaches to such optimization.
Under one optimization approach the coefficients of B are constrained so that some coefficient of B is equal to the identity matrix, I. A solution subject to this Identity Tap Constraint (ITC) can be expressed by

BoptITC=argminBtrace(Ree) subject to B*φ=Ini,  (13)

where φ*≡[0ni×nim Ini 0ni×ni(Nb−m)] and 0≦m≦Nb. It can be shown that the optimum MIMO target impulse response and the corresponding error autocorrelation matrix are given by

BoptITC= R−1φ(φ* R−1φ)−1 and  (14)

Ree,minITC=(φ* R−1φ)−1.  (15)

As indicated above, R is affected by the delay parameter Δ. Unless dictated by the designer, the delay parameter Δ, which can range between 0 and (Nf+ν−Nb−1), is chosen to minimize the trace of Ree,minITC. Similarly, the index parameter m, which ranges between 0 and Nb, and which that affects φ, is chosen to minimize the trace of Ree,minITC.

Under a second optimization approach the imposed constraint is B*B=Ini. A solution subject to this Ortho-Normality Constraint (ONC) can be expressed by

BoptONC=argminBtrace(Ree) subject to B*B=Ini,  (16)

Defining the eigen-decomposition

 R≡UΣU*=Udiag(σ0, σ1 . . . σni(Nb+1)−1)U*,  (17)

where σ0≧σ1 . . . σni(Nb+1)−1, then the optimum MIMO target response and the resulting error autocorrelation matrix are given by

BoptONC=U[eniNb . . . eni(Nb+1)−1],  (18)

where ei is unit vector with a 1 at position i, and 0's elsewhere, and

Ree,minONC=diag(σniNb, . . . , σni(Nb+1)−1).  (19)

Illustratively, if ni=3 and Nb=3, BoptONC=U[e9,e10,e11], meaning that BoptONC is a three column matrix comprising the 9th through the 11th columns of matrix U. Stated in words, the optimum MIMO target impulse response matrix is given by the ni eigenvectors of R that correspond to its ni smallest eigenvalues. The delay parameter Δ (0≦Δ≦Nf+ν−Nb−1) that affects R is optimized to minimize the trace (or determinant) of Ree,minONC.

With the above analysis in mind, a design of a prefilter 30 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, Nf,
        The shortened MIMO memory, Nb,
        The number of inputs to the transmission channel, ni,
        The number of output derived from the transmission channel, no,
        The autocorrelation matrix of the inputs, Rxx,
        The autocorrelation matrix of the noise, Rnn,
        The oversampling used, I, and
        The decision delay, Δ.
    
    


The structure of filters 210 is shown in FIG. 2. In the illustrated embodiment, it comprises two main components: processor 220 and filter section 210.
Filter section 210 in the FIG. 2 illustrative example comprises a collection of FIR filters that connect the no input array of signals from sampling circuit 20 to an ni output array of points. That is, there are j×i FIR filters Pj,i, that couple input point j to output point i.
Processor 220 is responsive to the no signals received by antennas 21 and sampled by circuit 20, and it computes the coefficients of W, as disclosed above. W0 is a matrix that defines the coefficients in the 0th tap of the j×i FIR filters, W1 is a matrix that defines the coefficients in the 1st tap of the j×i FIR filters, etc.
The method of developing the parameters of pre-filter 30, carried out in processor 220, is shown in FIG. 3. Block 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 Ts.
Following step 100, step 110 determines the matrices, Rnn, Rxx, Rxy, and Ryy. The matrix Rnn is computed by first computing n=y−Hx and then computing the expected value E[n*n]—see equation (8) above. The matrix Rxx is computed from the known training sequences—see equation (7) above—(or is pre-computed and installed in processor 220). In may be noted that for uncorrelated inputs, Rxx=I. The matrices Rxy and Ryy are computed from the known training sequences and the received signal or directly from H and Rnn—see equations (5) and (6) above.
Following step 110, step 120 computes R⊥=Rxx−RxyRyy−1Ryx, and the sub-matrix R. From equation (10) is can be seen that R is obtained by dropping the first niΔ rows and the last nis rows of R⊥.
In accordance with the ITC approach, selecting some value of 0≦m≦Nb allows completion of the design process. Accordingly, following step 120, step 130 chooses a value for m, develops φ-≡[0ni×nim Ini 0ni×ni(Nb−m)] and carries out the computation of equation (13). Step 140 finally develops the coefficients of matrix W in accordance with equation (12), and installs the developed coefficients within filter 210.
In accordance with the ONC approach, step 130 computes the matrix U in a conventional manner, identifies the unit vectors ei, and thus obtains the matrix B. Step As with the ITC approach, step 140 develops the coefficients of matrix W in accordance with equation (12), and installs the developed coefficients within filter 210.
It should be understood that a number of aspects of the above disclosure, for example, those related to the ITC constraint and to the ONC constraint, 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. For example, the pre-filter described above generates a multi-output signal, with the number of outputs being ni, that being also the number of transmitting antennas 11. This, however, is not a limitation of the principles disclosed herein. The number of pre-filter outputs can, for example, be larger than ni, for example as high as ni(Nb+1). The performance of the receiver will be better with more filter outputs, but more outputs require more FIR filters, more FIR filter coefficients, and correspondingly, a greater processing power requirement placed on processor 220.

## Claims

1. An apparatus comprising:
no receiving antennas that receive signals from ni transmitting antennas of a transmitter that is the source of signals received by said no receiving antennas, wherein no and ni are integer numbers greater than 1;
a pre-filter comprising no input points, ni output points, and no×ni finite impulse response (FIR) filters divided into no groups of FIR filters, each group of FIR filters having ni FIR filters, and each ni FIR filter developing an output signal that contributes to one of ni pre-filter outputs, said pre-filter further comprising a processor configured to compute coefficients of said no×ni FIR filters, where the coefficients of said no×ni FIR filters are computed using, in part, an autocorrelation matrix Rxx of a block of signals transmitted by the ni transmitting antennas; and
decision logic responsive to said ni pre-filter outputs.

2. The apparatus of claim 1 where said coefficients of said no×ni FIR filters are computed by the processor in response to a block of Nf symbols.

3. The apparatus of claim 2 where said coefficients of said no×ni FIR filters are computed once every time interval during which transfer characteristics of a transmission channel, H, are substantially constant.

4. The apparatus as recited in claim 1 wherein said autocorrelation matrix Rxx is precomputed.

5. The apparatus as recited in claim 1 wherein said autocorrelation matrix Rxx is determined based on known training sequences.