Abstract:
A response of a channel may be estimated by correlating a received signal and a training sequence, by forming a matrix Γ based on a desired shape for the peaks of the correlation, by extracting a vector y from the received signal, and by estimating the channel response from a least-squares solution based on the matrix Γ, the vector y, and a matrix formed from the elements of the known training sequence.

Description:
RELATED APPLICATIONS 
   The present application claims the benefit of Provisional Application Ser. No. 60/336,415 filed on Oct. 24, 2001. 

   TECHNICAL FIELD OF THE INVENTION 
   The present invention relates to a channel estimator and, more particularly, to a channel estimator that estimates the response of a channel through which signals are received. 
   BACKGROUND OF THE INVENTION 
   For communication systems utilizing a periodically transmitted training sequence, least-squares algorithms or correlation algorithms have been the most widely used alternatives for the estimation of the channel. The estimation of the channel may then be used for various purposes such as initializing the values of the taps of an equalizer at a receiver. 
   Both algorithms use a stored copy of the known transmitted training sequence at the receiver. The properties and length of the training sequence generally depend on the particular standard specifications of the communication system. In addition, a training sequence is also used in a communication system for synchronization to indicate the beginning and/or end of a transmitted data frame or packet. 
   In general, a communication system  10  that utilizes an equalizer adjusted by use of the training signal is shown in  FIG. 1  and includes an equalizer  12  and a channel estimator  14  of a receiver. The base-band transmitted signal s(t) having a data rate of 1/T symbols per second is represented by the following equation: 
                   s   ⁡     (   t   )       =       ∑   k     ⁢       I   k     ⁢     q   ⁡     (     t   -   kT     )                   (   1   )               
where I k εA≡{α 1 , . . . , α M }⊂C 1  is the transmitted training sequence, which is a discrete M-ary sequence taking values on the generally complex M-ary alphabet A, which also constitutes a two dimensional modulation constellation. The function q(t) as shown in a block  16  represents the pulse shaping performed by a transmitter filter of finite support [−T q /2, T q /2].
 
   The overall complex pulse shape is denoted by p(t) and is given by the following equation:
 
 p ( t )= q ( t )* q *(− t )  (2)
 
where q*(−t) shown in a block  18  is the receiver matched filter finite impulse response. Although it is not required, it is assumed, for the sake of simplifying the notation, that the span, T q , of the transmitter and receiver filters is an integer multiple of the symbol period T; that is, T q =N q T, N q εZ + .
 
   The physical channel between the transmitter and the receiver is denoted by c(t,τ) and is shown by a block  20 , and throughout the discussion below the concatenation of p(t) and the physical channel c(t,τ) will be denoted by h(t) and is defined by the following equation:
 
 h ( t )= q ( t )* c ( t,τ )* q *(− t )= p ( t )* c ( t ,τ)  (3)
 
where h(t) is generally referred to as the channel response. The physical channel c(t,τ) between the transmitter and the receiver is generally described by the following impulse response:
 
                   c   ⁡     (     t   ,   τ     )       =       ∑     k   =     -   K       L     ⁢         c   k     ⁡     (   τ   )       ⁢     δ   ⁡     (     t   -     τ   k       )                   (   4   )               
which describes a time-varying channel, where {c k (τ)}⊂C 1 , −K≦k≦L, and t,τεR. However, it is assumed that the time-variation of the channel is slow enough that c(t,τ)=c(t) can be assumed to be a fixed (static) inter-symbol interference (ISI) channel throughout the training period; that is, it is assumed that c k (τ)=c k , which in turn implies that c(t) is defined by the following equation:
 
                   c   ⁡     (   t   )       =       ∑     k   =     -   K       L     ⁢       c   k     ⁢     δ   ⁡     (     t   -     τ   k       )                   (   5   )               
for 0≦t≦NT, where N is the number of training symbols.
 
   The summation indices K and L, where K is the number of anti-causal multi-path delays and L is the number of causal multi-path delays, are dependent on the channel and are more fully explained below in the discussion of correlation based channel estimation and subsequently. The multi-path delays τ k  are not assumed to be at integer multiples of the sampling period T. Indeed, an accurate and robust way of recovering the pulse shape back into the concatenated channel estimate when the multi-path delays are not exactly at the sampling instants is disclosed herein. 
   Equations (3) and (5) can be combined according to the following equation: 
                   h   ⁡     (   t   )       =         p   ⁡     (   t   )       *     c   ⁡     (   t   )         =       ∑     k   =     -   K       L     ⁢       c   k     ⁢       p   ⁡     (     t   -     τ   k       )       .                   (   6   )               
Because both p(t) and c(t) are complex functions, the overall channel impulse response h(t) is also complex. Therefore, p(t), c(t), and h(t) can be written as functions of their real and imaginary parts as given by the following equations:
   p ( t )= p   I ( t )+ jp   Q ( t )  (7)   c ( t )= c   I ( t )+ jc   Q ( t )  (8)   h ( t )= h   I ( t )+ jh   Q ( t )  (9) 
Substituting equations (7)–(9) into equation (6) produces the following equation:
 
                         h   ⁡     (   t   )       =       ⁢       p   ⁡     (   t   )       *     c   ⁡     (   t   )                     =       ⁢       (         p   I     ⁡     (   t   )       +       jp   Q     ⁡     (   t   )         )     *     (         c   I     ⁡     (   t   )       +       jc   Q     ⁡     (   t   )         )                   =       ⁢         (           p   I     ⁡     (   t   )       *       c   I     ⁡     (   t   )         -         p   Q     ⁡     (   t   )       *       c   Q     ⁡     (   t   )           )       ︸       h   I     ⁡     (   t   )           +                     ⁢       j   ⁡     (           p   I     ⁡     (   t   )       *       c   Q     ⁡     (   t   )         +         p   Q     ⁡     (   t   )       *       c   I     ⁡     (   t   )           )         ︸       h   Q     ⁡     (   t   )                         (   10   )               
The output matched filter  18  is denoted y(t) and is given by the following equation:
 
                   y   ⁡     (   t   )       =         (       ∑   k     ⁢       I   k     ⁢     δ   ⁡     (     t   -   kT     )           )     *     h   ⁡     (   t   )         +       v   ~     ⁡     (   t   )                 (   11   )               
where {tilde over (ν)}(t) designates the complex noise process after the matched filter. As in the case of equations (7)–(9), y(t) can be written in terms of its real and imaginary parts as y(t)=y I (t)+jy Q (t). Sampling the output of the matched filter  18  at the symbol rate using a sampler  22  produces the discrete-time representation of the overall communication system according to the following equation:
 
   
     
       
         
           
             
               
                 
                   
                     
                       y 
                       ⁡ 
                       
                         [ 
                         n 
                         ] 
                       
                     
                     ≡ 
                     
                       y 
                       ⁡ 
                       
                         ( 
                         t 
                         ) 
                       
                     
                   
                   ⁢ 
                   
                     ❘ 
                     
                       t 
                       = 
                       nT 
                     
                   
                 
                 = 
                 
                   
                     
                       ∑ 
                       k 
                     
                     ⁢ 
                     
                       
                         I 
                         k 
                       
                       ⁢ 
                       
                         h 
                         ⁡ 
                         
                           [ 
                           
                             n 
                             - 
                             k 
                           
                           ] 
                         
                       
                     
                   
                   + 
                   
                     
                       
                         v 
                         ~ 
                       
                       ⁡ 
                       
                         [ 
                         n 
                         ] 
                       
                     
                     . 
                   
                 
               
             
             
               
                 ( 
                 12 
                 ) 
               
             
           
         
       
     
   
   The transmitted symbols are composed of frames (or packets) of length N′, where the first N symbols are the training symbols a k . Within a frame of length N′, the symbols may be denoted by the following equation: 
                   I   k     =     {             a   k     ,               ⁢       for   ⁢           ⁢   0     ≤   k   ≤     N   -   1                     d   k     ,               ⁢       for   ⁢           ⁢   N     ≤   n   ≤       N   ′     -   1                         (   13   )               
where the distinction of the first N symbols is made to indicate that they are the known training symbols, and where it is possible that the training symbols a k  belong to a subset of the M-ary constellation alphabet A; that is {a k εÃ⊂A≡{α 1 , . . . , α M }}. In fact, for the 8-VSB digital television system, the signal alphabet is A≡{±1,±3,±5,±7}, while the training sequence can only take binary values within the subset Ã≡{−5,+5}.
 
     FIG. 2  shows a least-squares channel estimator  30  that has been used for the channel estimator  14  of  FIG. 1 . In order to fully estimate the channel defined by equation (6), the least-squares based channel estimation algorithm assumes that the starting point and the ending point of the channel taps are either known or can be bounded. This assumption plays a critical role in the overall quality and robustness of the least-squares estimation procedure. It can be equivalently assumed that the impulse responses of the discrete-time equivalent composite channel h[n] can be written as a finite dimensional vector according to the following equation:
   h=[h[−N   a   ],h[−N   a +1], . . . , h[ −1], h[ 0], h [1 ], . . . , h[N   c −1 ],h[N   c ]] T   (14) 
where N a  denotes the number of anti-causal taps of the channel, N C  denotes the number of causal taps of the channel, and N a +N C +1 is the total memory of the channel.
 
   Based on equation (12) and assuming that N≧N a +N c +1 where N again is the number of training symbols, the output of the matched filter  18  corresponding to the known training symbols can be written as follows: 
             y   ⁡     [     N   c     ]       =         h   ⁡     [     -     N   a       ]       ⁢     a       N   c     +     N   c           +   …   +       h   ⁡     [   0   ]       ⁢     a     N   c         +   …   +       h   ⁡     [     N   c     ]       ⁢     a   0       +       υ   ~     ⁡     [     N   c     ]                       y   ⁡     [       N   c     +   1     ]       =         h   ⁡     [     -     N   a       ]       ⁢     a       N   c     +     N   c     +   1         +   …   +       h   ⁡     [   0   ]       ⁢     a       N   c     +   1         +   …   +       h   ⁡     [     N   c     ]       ⁢     a   1       +       υ   ~     ⁡     [       N   c     +   1     ]                       ⋮   ⁢           ⁢   ⋮     ⁢                         y   ⁡     [     N   -   1   -     N   a       ]       =         h   ⁡     [     -     N   a       ]       ⁢     a     N   -   1         +   …   +       h   ⁡     [   0   ]       ⁢     a     N   -   1   -     N   a           +   …   +       h   ⁡     [     N   c     ]       ⁢     a     N   -   1   -     N   a     -     N   c           +       υ   ~     ⁡     [     N   -   1   -     N   a       ]               
which can be compactly written according to the following vector equation:
   y=Ah+ũ   (15) 
where y comprises values extracted by a sample extractor  32  from the received signal and is defined according to the following equation:
   y=[y[N   c   ],y[N   c +1 ], . . . ,y[N− 1− N   a ]] T   (16) 
where A is based on the training signal and is defined according to the following equation:
 
                 A   =       [           a       N   c     +     N   a               a       N   c     +     N   a     -   1           ⋯         a   0               a       N   c     +     N   a     +   1             a       N   c     +     N   a             ⋯         a   1             ⋮       ⋮       ⋰       ⋮             a     N   -   1             a     N   -   2           ⋯         a     N   -   1   -     N   a     -     N   c               ]         (     N   -     N   a     -     N   c       )     ⁢     x   ⁡     (       N   a     +     N   c     +   1     )                   (   17   )               
and where {tilde over (ν)} is defined according to the following equation:
 {tilde over (υ)}=[{tilde over (υ)}[ N   c ],{tilde over (υ)}[ N   c +1], . . . , {tilde over (υ)}[ N− 1− N   a ]] T . 
As long as the matrix A is a tall matrix and of full column rank such that N≧2(N a +N c )+1 and rank {A}=N a +N c +1, then the least-squares solution which minimizes the objective function given by the following equation
   J   LS ( h )=|| y−Ah||   2   (18) 
exists and is unique and is given by the following equation:
   ĥ   LS =( A   H   A ) −1   A   H   y   (19) 
where the superscript H denotes Hermitian transpose, and where ĥ LS  is the least-squares estimation of the channel between the transmitter and the receiver. Thus, in accordance with equation (19), a matrix multiplier  34  multiplies the matrix y by a matrix A + , which is (A H A) −1 A H  and which is stored in a memory  36 . Thus, the matrix multiplier produces the channel estimate ĥ LS  according to equation (19).
 
   One of the problems associated with the least-squares based channel estimation is the uncertainty associated with the actual channel spread, i.e., the spread between the outermost multi-paths. That is, this uncertainty arises because the channel memory and the first and last channel taps are not actually known by the receiver. Therefore, in order to set up equations (16)–(19), some sort of preprocessing is needed, such as correlating the stored training symbols with the received signal, or some pre-assumed starting and ending points for the channel must be used such that the total channel spread is not too long that would otherwise result in the A matrix being a wide matrix rather than a tall one. 
   Even if the starting and ending points of the actual channel spread are known by the receiver, least-squares based channel estimators still have problems that may be insurmountable. For example, least-squares channel estimators cannot properly estimate the channel from the training sequence if the channel spread is too long for the training sequence to effectively support the channel. 
   That is, if N&lt;2(N a +N C )+1, such that the number of training symbols is insufficient to support, or create, an over-determined channel convolution matrix A, then there are two cases to consider. 
   First, if the full A matrix as given by equation (17) is used, the least-squares estimate of equation (19) no longer exists. That is, the matrix A H A is singular. 
   Second, if the receiver does not attempt to construct the full A matrix and instead constructs an alternative thinner matrix Ã with N≧2(Ñ a +Ñ c )+1 such that Ñ a &lt;N a  and/or Ñ c &lt;N c , then the inverse of Ã H Ã will exist but the new least-squares solution given by the following equation:
 
 {tilde over (h)}   LS =( Ã   H   Ã ) −1   Ã   H   y 
 
will not be a very desirable estimate. That is, the resulting channel estimate no longer resembles the actual channel, especially if the actual channel spread is much longer that the training sequence can support.
 
   An example is illustrated in  FIGS. 3(   a )– 3 ( e ). A channel with delays τ k =[−105.32, −87.643, −45.443, 0, 12.22, 39.9, 203.659, 321.82, 435.12] with a complex raised cosine pulse shape of 41 samples (a channel spread of 580 symbols including the tails of the pulse shape) was simulated. The real part of the channel impulse response seen at the output of the matched filter is shown in  FIG. 3(   a ). As shown in  FIG. 3(   a ), each peak of the channel impulse response has a raised cosine pulse shape. The training sequence is the same as in the 8 VSB digital television standard and is of length N=704 symbols. With 704 training symbols, a channel with a maximum delay spread of only N a +N C +1=352 taps, including the tails of the pulse shape, can be supported. Thus, the actual channel has a much longer delay spread than the standard least-squares based method can handle. The least-squares channel estimate corresponding to cases where the receiver constructs a smaller convolution matrix Ã with −Ñ a =−125, Ñ c =60, −Ñ a =−125, Ñ c =120, −Ñ a =−125, Ñ c =206, and −Ñ a =−125, Ñ c =342 are shown in  FIG. 3(   b ),  FIG. 3(   c ),  FIG. 3(   d ), and  FIG. 3(   e ), respectively. The matrix Ã is non-singular for all cases except  FIG. 3(   e ). As can be seen from  FIG. 3(   b ) to  FIG. 3(   d ), as the assumed channel spread gets longer, the estimated channel response increasingly deviates from the original channel response. In  FIG. 3(   e ), where Ã is undetermined, the estimated channel no longer resembles the original channel response. However, it may be misleading to assume a very short channel spread in order to obtain a cleaner channel estimate within the assumed channel span. In that case, it is very likely that very significant early pre-cursor multi-paths or late post-cursor multi-paths may be missing. 
   As indicated above, it is also known to apply auto-correlation in estimating the channel. The sampled received sequence at the output of the matched filter is denoted by y[n] and is given in equation (12), where the pre-cursor symbols are at positions n≧0 and post-cursor symbols are at positions n&lt;0. The known training sequence is denoted by s[n]=a n  for n=0, . . . , N−1. The auto-correlation functions r s [m] and r sy [m] are defined in accordance with the following equations: 
                     r   s     ⁡     [   m   ]       =       ∑     k   =   0       N   -   1       ⁢         s   *     ⁡     [   k   ]       ⁢     s   ⁡     [     k   +   m     ]                   (   20   )                   r   sy     ⁡     [   m   ]       =       ∑     k   =   0       N   -   1       ⁢         s   *     ⁡     [   k   ]       ⁢     y   ⁡     [     k   +   m     ]                   (   21   )               
where {s[k]εÃ}.
 
   It is assumed that, in order to be able to use correlation based channel estimation, the training sequence must belong to a certain class of sequences and thereby possess certain desirable properties. An exemplary class of sequences is maximal length pseudo-noise (PN) sequences. A PN-sequence of length n is denoted herein as PN n . In general, the periodic auto-correlation of a binary valued ({+A, −A}) PN n  sequence is given by the following equation: 
   
     
       
         
           
             
               
                 
                   
                     r 
                     
                       PN 
                       n 
                     
                   
                   ⁡ 
                   
                     [ 
                     m 
                     ] 
                   
                 
                 = 
                 
                   { 
                   
                     
                       
                         
                           
                             
                               
                                 A 
                                 2 
                               
                               ⁢ 
                               n 
                             
                             , 
                           
                           ⁢ 
                             
                         
                       
                       
                         
                             
                           ⁢ 
                           
                             
                               
                                 if 
                                 ⁢ 
                                 
                                     
                                 
                                 ⁢ 
                                 m 
                               
                               = 
                               0 
                             
                             , 
                             
                               ± 
                               n 
                             
                             , 
                             
                               
                                 ± 
                                 2 
                               
                               ⁢ 
                               n 
                             
                             , 
                             … 
                           
                         
                       
                     
                     
                       
                         
                           
                             
                               - 
                               
                                 A 
                                 2 
                               
                             
                             , 
                           
                           ⁢ 
                             
                         
                       
                       
                         
                             
                           ⁢ 
                           otherwise 
                         
                       
                     
                   
                 
               
             
             
               
                 ( 
                 22 
                 ) 
               
             
           
         
       
     
   
     FIG. 4  shows a correlation channel estimator  40  that can be used for the channel estimator  14  to estimate the channel in order to initialize the equalizer  12 . The correlation channel estimator  40  includes a cross-correlator  42  that cross-correlates the received signal with the training sequence stored in a memory  44  and a level thresholder  46  that sets to zero any correlation coefficients that are below a predetermined threshold. Accordingly, the correlation channel estimator  40  produces a channel estimate ĥ. 
   More specifically, based on the auto-correlation property of equation (22), the channel can be estimated by cross-correlating s[n] (the training sequence known and stored in the receiver) with the received sequence y[n]. The initial pre-cursor impulse response estimate {tilde over (h)} a [n] is determined from the cross-correlation of the training sequence s[n] stored in the receiver and the actual received symbols at lags from 0 to −N+1 with respect to the start of the received training sequence. That is, {tilde over (h)} a [n] is given by the following equation: 
                         h   ~     a     ⁡     [   n   ]       =       1       r   s     ⁡     [   0   ]         ⁢       ∑     k   =   0       N   -   1       ⁢         s   *     ⁡     [   k   ]       ⁢     y   ⁡     [     k   +   n     ]               ⁢     
     ⁢         for   ⁢           ⁢   lags   ⁢           ⁢   n     =   0     ,     -   1     ,   …   ⁢           ,       -   N     +   1               (   23   )               
Similarly, the initial post-cursor response estimate ĥ c [n] is determined from the cross-correlation of the training sequence stored in the receiver and the actual received symbols at lags from 1 to N−1 with respect to the start of the received training sequence. That is, ĥ c [n] is given by the following equation:
 
                         h   ~     c     ⁡     [   n   ]       =       1       r   s     ⁡     [   0   ]         ⁢       ∑     k   =   0       N   -   1       ⁢       s   ⁡     [   k   ]       ⁢       y   *     ⁡     [     k   +   n     ]               ⁢     
     ⁢         for   ⁢           ⁢   lags   ⁢           ⁢   n     =   1     ,     2   ⁢   …     ⁢           ,     N   -   1               (   24   )               
where r s [0] in equations (23) and (24) is defined according to the following equation:
 
               r   s     ⁡     [   0   ]       =       ∑     k   =   0       N   -   1       ⁢            a   k          2             
Equations (23) and (24) imply that the correlations should be extended on either side by the length of the training sequence in order to obtain the longest possible channel estimate within the limits of the transmission standard, with the assumption that N≧K and N≧L.
 
   With respect to the channel estimation procedure given by equations (23) and (24), the overall initial estimated channel transfer function {tilde over (H)}(z) is given by the Z-transform of the concatenated channel estimates according to the following equation: 
                           H   ~     ⁡     (   z   )       =       ⁢         ∑     k   =       -   N     +   1       0     ⁢           h   ~     a     ⁡     [   k   ]       ⁢     z     -   k           +       ∑     k   =   1       N   -   1       ⁢           h   ~     c     ⁡     [   k   ]       ⁢     z     -   k                         =       ⁢       ∑     k   =       -   N     +   1         N   -   1       ⁢         h   ~     ⁡     [   k   ]       ⁢     z     -   k                         (   25   )               
where the concatenated estimated channel impulse {tilde over (h)}[n] is given by the following equation:
 
                     h   ~     ⁡     [   n   ]       =     {                 h   ~     a     ⁡     [   n   ]       ,               ⁢       for   -   N   +   1     ≤   n   ≤   0                       h   ~     c     ⁡     [   n   ]       ,               ⁢       for   ⁢           ⁢   1     ≤   n   ≤     N   -   1                         (   26   )               
Equation (25) can be rewritten in accordance with the following equation:
 
                       H   ~     u     ⁡     (   z   )       =       1       r   s     ⁡     [   0   ]         ⁢       A   ⋓       -   H       ⁢       y   ⁢             ~     ⁢     z     -   k                 (   27   )               
where Ã is a (N+N a +N C ) by (N a +N C +1) Toeplitz matrix with a first column [a 0 , a 1 , . . . , a N−1 , 0, . . . , 0] T  and a first row [a 0 , 0, . . . , 0] T , and where {tilde over (y)}=[y[−N a ], . . . , y[N+N C −1]] T . In order to get rid of the side lobes of the aperiodic autocorrelation, the autocorrelation of the training sequence is determined according to the following equation:
 
                   R   aa     =       1       r   s     ⁡     [   0   ]         ⁢       A   ⋓     H     ⁢     A   ⋓               (   28   )               
and then R aa  can be inverted and applied to {tilde over (H)} u (z) according to the following equation:
   {tilde over (H)}   c ( z )= R   aa   −1   {tilde over (H)}   u ( z )  (29) 
However, the channel estimate {tilde over (H)} c (z) obtained by equation (29) has the contributions due to unknown symbols prior to and after the training sequence, as well as the additive channel noise; only the side lobes due to the aperiodic correlation is removed.
 
   As discussed below, the correlations of equations (23) and (24) will clearly yield peaks at {D k   a εZ + , for k=−K, . . . , −1, 0, and at {D k   c εZ + , for k=1, . . . , L. These delays D k   a  and D k   c  are the sampling instants closest to the locations of the actual physical channel multi-path delays τ k  for k=−K, . . . , −1, 0, 1, . . . , L within a symbol interval. 
   As shown in  FIG. 4 , there is a level thresholding algorithm following right after the cross-correlations such that the estimated channel taps are set to zero if they are below a certain threshold. This thresholding algorithm operates in accordance with the following equation: 
                   set   ⁢           ⁢         h   ~     c     ⁡     [   n   ]         =     {               ⁢     0   ,                 ⁢       if   ⁢           ⁢         h   ~     c     ⁡     [   n   ]         &lt;   ɛ                             ⁢   h     ~     c     ⁡     [   n   ]       ,               ⁢   otherwise                     (   30   )               
for n=−N+1, . . . , −1, 0, 1, . . . , N−1, where the subscript c denotes that the corresponding function has been cleansed of side lobes. As a result, the estimated transfer function Ĥ c (z) after thresholding can, in general, be written according to the following equation:
 
                             H   ^     c     ⁡     (   z   )       =       ⁢           β   ~     K     ⁢     z     D   K   a         +   ⋯   +         β   ~     2     ⁢     z     D   2   a         +         β   ~     1     ⁢     z     D   1   a         +       α   ~     0     +         α   ~     1     ⁢     z     -     D   1   c           +                     ⁢           α   ~     2     ⁢     z     -     D   2   c           +   ⋯   +         α   ~     L     ⁢     z     -     D   L   c                         =       ⁢         α   ~     0     ⁡     (         β   K     ⁢     z     D   K   a         +   ⋯   +       β   1     ⁢     z     D   1   a         +       α   1     ⁢     z     -     D   1   c           +   ⋯   +       α   L     ⁢     z     -     D   L   c             )                     (   31   )               
where α I ={tilde over (α)} I /{tilde over (α)} 0  for 1≦i&lt;L, and β k ={tilde over (β)} k /{tilde over (α)} 0  for 1≦k≦K. The notation of equation (31) is adopted because, after thresholding, there are usually very few dominant taps. Accordingly, the channel after correlation and thresholding is sparse. Moreover, the peaks in the channel estimate no longer have the pulse shapes of the actual channel response.
 
   In equation (31), the coefficients β k  correspond to the post-cursor (causal) part of the correlation, and the coefficients α 1  correspond to the pre-cursor (anti-causal) part of the correlation. The delays D k   a  are the anti-causal delays, and the delays D l   c  are the causal delays. As a convention, it is assumed that 1≦D 1   c &lt;D 2   c &lt; . . . &lt;D L   c  and similarly that 1≦D 1   a &lt;D 2   a &lt; . . . &lt;D K   a . Also, by the construction of the channel estimates in equations (23) and (24), D K   a ≦N−1 and D L   c ≦N−1. 
   At this point, the causal part Ĥ cc  and the anti-causal part Ĥ ac  of the transfer function of equation (31) can be defined in accordance with the following equations:
 
 Ĥ   ac ( z )={tilde over (α)} 0 (β K   z   D   a     K   + . . . +β 2   z   D     a       2   +β 1   z   D     a       1   +1)  (32)
 
 Ĥ   cc ( z )={tilde over (α)} 0 (α 1   z   −D     c       1   +α 2   z   −D     c       2   + . . . +α L   Z   −D     c       L   )  (33)
 
such that Ĥ c (z)=Ĥ ac (z)+Ĥ cc (z). Again the first subscript denotes whether the part is anti-causal or causal, and the second subscript denotes that the part has been cleansed of the side lobes. The partition of equations (32) and (33) enable the development of the appropriate feed-forward filter initializations for a Decision Feedback Equalizer (DFE).
 
   Unfortunately, if the PN training sequence is finite and the standard linear correlation is used, the auto-correlation values corresponding to the non-zero lags will not be constant and will not be as low as −A 2 . As a simple illustration, a sequence composed of six PN 511  appended back to back may be considered so that the sequence is given by the following equation:
 
 y=[PN   511   , PN   511   , PN   511   , PN   511   , PN   511   , PN   511 ]  (34)
 
Then, r xy [m], with x=[PN 511 ] T , will be given as shown in  FIG. 5 . A low correlation value of −A 2  will be obtained for lags that are not multiples of L=511 corresponding to the intermediate PN 511  portions of the long sequence y. However, as illustrated in  FIG. 5 , for the outermost lags, this constant and low correlation value of −A 2  will not be obtained. Instead, these correlation tails are noise like due to the finiteness of the training sequence. That is, the stored training sequence is correlated not only with the training sequence in the received signal but also with random data symbols and reserved symbols.
 
   The training sequence that is used for digital television is given by the following equation:
 
 {tilde over (s)}=[ss,PN   511   ,PN   63   ,±PN   63   ,PN   63 ] T 
 
where ss=[+5−5−5+5] represents the four segment sync symbols at the beginning of the frame sync segment. There are also reserved frame bits and data bits right before and after the training sequence {tilde over (s)}.
 
   In summary, the correlations of the received signal with the stored training sequence will be noisy because the PN sequences are finite in length so that they will not achieve the desired low correlation values for non-zero lags, and because the span of the cross-correlation includes the known training sequence as well as random data symbols and reserved symbols. 
   Because of these reasons, the initial estimate of the channel that is acquired from the correlation of the matched filter output with the stored training sequence will not yield a clean and accurate channel estimate. Accordingly, even if the channel tap estimates {α k ,β k } are scaled properly, they will not be very close to the actual channel tap values {c k p(0)} due to the reasons given above as well as due to the fact that there may also be tap values in the tails of the adjacent multi-paths. Hence, both the amplitudes and phases of the estimated tap values may be incorrect. 
   Moreover, after the thresholding takes place, the most likely result is that the thresholded correlation will include only the peaks of the channel taps, which implies that the tails of the raised cosine pulse shape that are under the noisy correlation output may be eliminated entirely. This elimination of the tails may lead to critical performance loss in the initialization of the equalizer  12  and a slower convergence onto the correct tap values for the equalizer  12  after initialization. 
   The present invention mitigates the problems of the least-squares channel estimators and the correlation channel estimators providing a channel estimator that is a blend of a least-squares channel estimator and a correlation channel estimator. 
   SUMMARY OF THE INVENTION 
   In accordance with one aspect of the present invention, a method for determining a channel response comprises the following: determining a matrix Γ based on a correlation of a received signal and a known training sequence; extracting a vector y from a received signal; and, estimating the channel response from a least-squares solution based on the matrix Γ, the vector y, and a matrix A formed from the elements of the known training sequence. 
   In accordance with another aspect of the present invention, a method for determining a channel response comprises the following: determining a matrix Γ based on a correlation of a received signal and a known training sequence; extracting a vector y from a received signal; determining an unknown coefficient vector γ LS  according to the following equation: 
   γ LS =(Γ H   A   H   AΓ)   −1 Γ h   A   H   y   
   wherein the unknown coefficient vector γ LS  comprises a least-squares solution of the following equation:
 
 y=AΓγ+ν 
 
and wherein A comprises a matrix based on the training sequence; and, determining a channel response according to the following equation:
 
{tilde over (h)} new =Γγ LS .
 
   In accordance with still another aspect of the present invention, a method for determining a channel response comprises the following: correlating a received signal with a training sequence; constructing a matrix Γ by approximating a desired pulse shape for each peak of the correlation; constructing a matrix A based on the training sequence; solving a least-squares solution of the following equation in order to derive an unknown coefficient vector γ:
 
y=AΓγ
 
wherein y is a vector representing a received signal; and, determining the channel response from the unknown coefficient vector γ and the matrix Γ.
 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     These and other features and advantages will become more apparent from a detailed consideration of the invention when taken in conjunction with the drawings in which: 
       FIG. 1  illustrates a generalized system whose equalizer is initialized by a channel estimator; 
       FIG. 2  illustrates a least-squares channel estimator that has been used for the channel estimator of  FIG. 1 ; 
       FIGS. 3(   a )– 3 ( e ) illustrate an exemplary simulation useful in explaining problems associated with the least-squares channel estimator of  FIG. 2 ; 
       FIG. 4  illustrates a correlation channel estimator that has been used for the channel estimator of  FIG. 1 ; 
       FIG. 5  illustrates an exemplary simulation useful in explaining problems associated with the correlation channel estimator of  FIG. 4 ; and, 
       FIG. 6  illustrates a channel estimator according to an embodiment of the present invention that is a blend of a least-squares channel estimator and a correlation channel estimator. 
   

   DETAILED DESCRIPTION 
     FIG. 6  illustrates a blended channel estimator  50  having a sample extractor  52 , a matrix multiplier  54 , a training sequence memory  56  that stores a training sequence, a cross-correlator  58 , a level thresholder  60 , a combiner unit  62 , a multiplier  64 , and a tap weight initializer  66 . The sample extractor  52  extracts values {tilde under (y)} from the output of a receiver&#39;s matched filter, and the matrix multiplier  54  multiplies the extracted values {tilde under (y)} by a matrix (AΓ) ⋄ , where the matrix (AΓ) ⋄  is calculated by the combining unit  62  in the manner described below. The cross-correlator  58  cross-correlates the received signal with the stored training sequence stored in the memory  56  and the resulting cross-correlation is thresholded by the level thresholder  60  so that the combining unit  62  can construct the matrix (AΓ) ⋄  from the output of the level thresholder  60  and the training sequence stored in the memory  56 . 
   Thus, the blended estimation procedure illustrated by  FIG. 6  starts from the exact same steps of the correlation based estimation as outlined by equations (23) and (24), and then the thresholding step is performed on the channel estimate as indicated by equation (27) in order to clean up the noise in the channel estimate. These steps produce the cleaned channel estimate Ĥ c (z) shown in Equation (31). In equation (31), the value 1 denotes the main signal and the other values in equation (2) denote multi-paths. Equivalently, the cleaned channel impulse response estimate can be represented as shown in the following equation: 
                     h   ^     c     =           α   ~     0     [       β   K     ,         0   ,   ⋯   ,   0   ,       ︸       D   K   a     -     D     K   -   1     a     -     1   ⁢           ⁢   zeros           ⁢     β     K   -   1         ,   ⋯   ,     β   1     ,         0   ,   ⋯   ,   0   ,       ︸       D   1   a     -     1   ⁢           ⁢   zeros           ⁢           ⁢       0   ,   ⋯   ,   0   ,       ︸       D   1   c     -     1   ⁢           ⁢   zeros           ⁢     α   1       ,   ⋯   ,     α     L   -   1       ,         0   ,   ⋯   ,   0   ,       ︸       D   L   c     -     D     L   -   1     c     -     1   ⁢           ⁢   zeros           ⁢     α   L         ]     T             (   35   )               
where the zeros represent the spaces between the peaks. The structure and notation of equations (31) and (35) are important to the derivation of the algorithm below.
 
   As indicated above, the pulse shape p(t) is convolved by the physical channel c(t) according to equation (6). As also indicated above, this pulse shape is lost due to the correlation and thresholding process. Therefore, it is desirable to recover this pulse shape for each of the multi-paths. Accordingly, the shifted and scaled copies of the pulse shape p(t) (shifted by τ k  and scaled by c k ) may be approximated by a linear combination of three pulse shape functions shifted by half a symbol interval (T/2). This linear combination is given by the following equation: 
                     c   k     ⁢     p   ⁡     (     nT   -     τ   k       )         ≈     {                 ∑     l   =     -   1       1     ⁢           ⁢       γ   l     (   k   )       ⁢     p   ⁡     (       (     n   +     D   k   a     -     l   2       )     ⁢   T     )           -   K     ≤   k   ≤     -   1                     ∑     l   =     -   1       1     ⁢           ⁢       γ   l     (   k   )       ⁢     p   ⁡     (       (     n   -     D   k   c     -     l   2       )     ⁢   T     )       ⁢           ⁢   1       ≤   k   ≤   L                     (   36   )               
where {γ l   (k) ,K≦k≦L} l=−1   1 ⊂C 1 . The last part of equation (36) contains an approximation of the pulse shape of the transmitter/receiver filter combination. By making this approximation, the tails of the complex pulse shape p(t) can be efficiently recovered even though these tails are buried under the noisy output of the correlation processing and are lost when uniform thresholding is applied.
 
   To arrive at this approximation, three vectors p k  are introduced for k=−1, 0, +1, each containing T spaced samples of the complex pulse shape p(t) shifted by kT/2 (for k=−1, 0, +1) according to the following three equations: 
                   p     -   1       =       [       p   ⁡     (         -     N   q       ⁢   T     +     T   2       )       ,   ⋯   ,     p   ⁡     (       -   T     +     T   2       )       ,     p   ⁡     (     T   2     )       ,     p   ⁡     (     T   +     T   2       )       ,   ⋯   ,     p   ⁡     (         N   q     ⁢   T     +     T   2       )         ]     T             (   37   )                 p   0     =       [       p   ⁡     (       -     N   q       ⁢   T     )       ,   ⋯   ,     p   ⁡     (     -   T     )       ,     p   ⁡     (   0   )       ,     p   ⁡     (   T   )       ,   ⋯   ,     p   ⁡     (       N   q     ⁢   T     )         ]     T             (   38   )                 p   1     =       [       p   ⁡     (         -     N   q       ⁢   T     -     T   2       )       ,   ⋯   ,     p   ⁡     (       -   T     -     T   2       )       ,     p   ⁡     (     -     T   2       )       ,     p   ⁡     (     T   -     T   2       )       ,   ⋯   ,     p   ⁡     (         N   q     ⁢   T     -     T   2       )         ]     T             (   39   )               
By concatenating these vectors, a (2N q +1)×3 matrix P is defined according to the following equation:
 P=[p −1 ,p 0 ,p 1 ]  (40) 
This vector represents shifted and sampled values of a raised cosine pulse.
 
   A matrix Γ whose columns are composed of the shifted vectors p k , where the shifts represent the relative delays of the multi-paths. This matrix Γ is given by the following equation: 
                 Γ   =     [         P         θ       (       D   K   a     -     D     K   -   1     a       )     ⁢   x3                                                                             θ       (       D   K   a     +     D   L   c       )     ⁢   x3           P       ⋰         θ       D   K   a     ⁢   x3                                                                 θ       (       D   L   c     +     D     K   -   1     a       )     ⁢   x3                       P                     θ       (       D   K   a     +     D     L   -   1     c       )     ⁢   x3                                                                 θ       D   L   c     ⁢   x3           ⋰       P         θ       (       D   K   a     +     D   L   c       )     ⁢   x3                                                                             θ       (       D   L   c     -     D     L   -   1     c       )     ⁢   x3           P         ]             (   41   )               
where Γ is of dimension (D K   a +D L   c +2N q +1)by 3(K+L+1) dependent on the channel spread, and 0 mxn  denotes an m by n zero matrix such as a D K   a −D K−1   a  by 3 matrix of zeros. The received signal vector y and the training sequence vector A are defined by equations (16) and (17), respectively. Because of the assumption that q(t) spans N q  symbol durations, q[n] has N q +1 sample points and p[n] in turn has 2N q +1 samples. Therefore, N a =D K   a +N q  and N c =D L   c +N q .
 
   An unknown vector γ is defined in accordance with the following equation:
 
γ=[γ (−K) , . . . ,γ (0) , . . . ,γ (L) ] T   (42)
 
where γ (k) =[γ −1   (k) ,γ 0   (k) ,γ 1   (k)  for −K≦k≦L. The unknown vector γ has coefficients {γ −1   −K  where n=−1, 0, 1, and where k=−K, . . . , 0, . . . , L and has a length of 3(K+L+1). Similarly to equation (15), the vector y representing the output of the receiver&#39;s matched filter may be given by the following equation:
 
 y=AΓγ+ν   (43)
 
where ν is the observed noise vector. Using a least-squares solution, the unknown coefficient vector γ can be estimated in accordance with the following equation:
 
{circumflex over (γ)} LS =(Γ H   A   H   AΓ)   −1 Γ H   A   H   y=(   AΓ)   ⋄   y   (44)
 
Once the least-squares estimated vector γ LS  is obtained, the new channel estimate ĥ new , where the pulse tails are recovered, can simply be obtained in accordance with the following equation:
 
ĥ new =Γ{circumflex over (γ)} LS   (45)
 
The multiplier  64  multiplies {circumflex over (γ)} LS  from the matrix multiplier  54  by Γ according to equation (45) in order to produce ĥ new . Equations (44) and (45) may be solved using either a singular value decomposition (SVD) method, by a conjugate gradient (CG) method, or by any other suitable method.
 
   Once the new estimated channel vector is determined per equation (45), the reconstructed vector at the output of the receiver matched filter can be defined, based on ĥ new  according to the following equation:
 
{tilde over (y)}=Aĥ new   (46)
 
{tilde over (y)}=AΓ{circumflex over (γ)} LS   (47)
 
 {tilde over (y)}=AΓ (Γ H   A   H   AΓ ) −1 Γ H   A   H   y   (48)
 
The variance of the noise samples at the output of the receiver&#39;s matched filter, σ {circumflex over (v)}   2 , can be estimated based on the following equation:
 
                     σ   ^       v   ^     2     =       1     N   -     D   K   a     -     N   L   c         ⁢              y   ~     -   y          2               (   49   )               
which arises naturally. The length of the vector Y is N−D K   a −D L   c .
 
   The tap weight initializer  66  may then initialize the tap weights of the taps of the equalizer  12  using the channel estimate ĥ new  and the noise variance {circumflex over (σ)} {circumflex over (v)}   2  in a manner that is known in the art. 
   When the present invention is used to initialize the taps weights of the taps of an equalizer, the noise variance given by equation (49) and the new channel response given by equation (45) can be combined in any known way so as to produce the initial tap weights for the taps of the equalizer. Alternatively, instead of combining the noise variance given by equation (49) and the new channel response given by equation (45), a small non-zero value noise variance may be assumed and this assumed value may be combined with the new channel response given by equation (45) so as to produce the initial tap weights for the taps of the equalizer. 
   Modifications of the present invention will occur to those practicing in the art of the present invention. For example, the present invention as described above relies on the use of a training signal. However, other signals, such as data signals, can be used to implement the present invention. Also, although the invention is specifically shown for use in initializing the taps of an equalizer, the channel estimate produced in accordance with the present invention can be used for other purposes. 
   Accordingly, the description of the present invention is to be construed as illustrative only and is for the purpose of teaching those skilled in the art the best mode of carrying out the invention. The details may be varied substantially without departing from the spirit of the invention, and the exclusive use of all modifications which are within the scope of the appended claims is reserved.