Channel estimator

Information

  • Patent Grant
  • 6603823
  • Patent Number
    6,603,823
  • Date Filed
    Friday, November 12, 1999
    24 years ago
  • Date Issued
    Tuesday, August 5, 2003
    20 years ago
Abstract
The present invention is a channel estimator based on the values of received data and on a priori probabilities only of received symbols. The channel estimator includes a symbol probability generator, a noise variance estimator and a channel tap estimator. The symbol probability generator generates a priori probabilities only of transmitted symbols found in the received signal(s). The noise variance estimator estimates at least one noise variance corrupting the received signal(s). The channel tap estimator generates channel estimates from the received signal(s), the a priori probabilities and the noise variance(s).
Description




FIELD OF THE INVENTION




The present invention relates to channel estimators in wireless communication systems generally and to such channel estimators that operate on data and pilot signals in particular.




BACKGROUND OF THE INVENTION




In practical digital communication systems, the frequency response of the underlying channel from the transmitter to the receiver is seldom known at the receiver side. For example, in digital communication over the dial-up telephone network, the communication channel will be different every time a number is dialed, because the channel route will be different. In this example, the characteristics of the channel are unknown a priori. There are other types of channels, e.g. wireless channel such as radio channels and underwater acoustic channels, whose frequency response characteristics are time varying. Thus coherent communications for such channels require the utilization of adaptive algorithms, known as “channel estimators”, for tracking/estimating the varying characteristics of the channel.




Traditionally, channel estimators are divided into two categories: data aided and non-data aided (blind) estimators. Data aided channel estimators operate on a pre-specified set of transmitted symbols that are known to the receiver. These symbols do not convey any information and are often called “pilot symbols” or “training sequences”. Data aided channel estimators are typically simple to implement and relatively robust. Their major disadvantage is that they lead to an overall reduction in system throughput, since some of the transmitted symbols (the pilot symbols) do not carry any information.




Non data aided channel estimators, on the other hand, do not reduce the system throughput. However, they are typically quite complicated to implement as they are often based on higher order moments/cumulants of the received signal, and they most often suffer from high statistical variability, i.e. they suffer from large estimation errors.




The article “Maximum A Posteriori Multipath Fading Channel Estimation for CDMA Systems” by Mohamed Siala and Daniel Duponteil,


Proceedings of Vehicular Technology Conference


, Houston, Tex., May, 1999, describes a channel estimation algorithm which combines both approaches. This algorithm uses both pilot and data symbols to construct a channel estimator. However, this algorithm requires that the joint statistical probability distribution of the channel multipaths be known to the receiver. In practice, a complete statistical description of the channel characteristics is seldom known to the receiver. Moreover, these characteristics may be time varying.




SUMMARY OF THE INVENTION




An object of the present invention is to provide an improved channel estimator without using any a priori statistical information about the channel. Instead, the present invention uses a priori probabilities of the received symbols, be they pilot, data, power control, etc. symbols.




There is therefore provided, in accordance with a preferred embodiment of the present invention, a channel estimator based on the values of received data and on a priori probabilities only of received symbols. The channel estimator includes a symbol probability generator, a noise variance estimator and a channel tap estimator. The symbol probability generator generates a priori probabilities only of transmitted symbols found in the received signal(s). The noise variance estimator estimates at least one noise variance corrupting the received signal(s). The channel tap estimator generates channel estimates from the received signal(s), the a priori probabilities and the noise variance(s).




Additionally, in accordance with a preferred embodiment of the present invention, the channel tap estimator solves the following equation:








h
^

ML

=


1

2

T


·




t
=
1

T









y
_



(
t
)


·


z


(

t
;


h
^

ML


)


*














Moreover, in accordance with a preferred embodiment of the present invention, the channel tap estimator includes a z-unit, a combiner and a channel tap unit. The z-unit generates a z-value for z(t;ĥ


ML


) from the a priori probabilities, the noise variance(s) and the channel estimates. The combiner combines the z-value with the received signal(s). The channel tap unit determines channel tap values from the output of the combiner.




Further, in accordance with a preferred embodiment of the present invention, the z-unit calculates the following equation for a quadrature phase shift keying (QPSK) channel:










z


(

t
;

h
_


)








[




p
1



(
t
)




(

1
+
j

)






2

σ
2



Real


{


<


y
_



(
t
)



,



h
_

*

>

(

1
-
j

)



}




+
















p
2



(
t
)




(

1
-
j

)






2

σ
2



Real


{


<


y
_



(
t
)



,



h
_

*

>

(

1
-
j

)



}




+















p
3



(
t
)




(


-
1

+
j

)






2

σ
2



Real


{


<


y
_



(
t
)



,



h
_

*

>

(


-
1

-
j

)



}




+















p
4



(
t
)




(


-
1

-
j

)






2

σ
2



Real


{


<


y
_



(
t
)



,



h
_

*

>

(


-
1

-
j

)



}




]

×











[




p
1



(
t
)







2

σ
2



Real


{


<


y
_



(
t
)



,



h
_

*

>

(


-
1

-
j

)



}




+



p
2



(
t
)







2

σ
2



Real


{


<


y
_



(
t
)



,



h
_

*

>

(


-
1

+
j

)



}




+

















p
3



(
t
)







2

σ
2



Real


{


<


y
_



(
t
)



,



h
_

*

>

(


-
1

-
j

)



}




+



p
4



(
t
)







2

σ
2



Real


{


<


y
_



(
t
)



,



h
_

*

>

(


-
1

+
j

)



}





]


-
1














where {overscore (y)}(t) is a vector of the received signal(s), {overscore (h)} is a vector of the channel tap estimates and {overscore (p)}(t) is a vector of the symbol probabilities.




Still further, in accordance with a preferred embodiment of the present invention, the channel tap unit is a summer over a window of received symbols.




Additionally, in accordance with a preferred embodiment of the present invention, when s(t) is a pilot symbol, then {overscore (p)}(t)={overscore (e)}


i


where the {overscore (e)}


i


's are the normal basis vectors having a one (1) in their i-th component and zero otherwise. When s(t) is a data symbol, then








p




1


(


t


)=


p




2


(


t


)=


p




3


(


t


)=


p




4


(


t


)=0.25






When s(t) is a transmit power control (TPC) symbols, then








p




1


(


t


)=


p




4


(


t


)=0.5


, p




2


(


t


)=


p




3


(


t


)=0






Moreover, in accordance with a preferred embodiment of the present invention, the channel tap unit includes an anchor unit, an averager and an interpolator. The anchor unit determines a pilot anchor ĥ


p


using N


p


pilot symbols of one time slot n and a data anchor ĥ


s


using N


s


data symbols of the time slot n. The averager averages the pilot and data anchors to produce a slot anchor ĥ


anchor


(n) and the interpolator interpolates between adjacent anchors ĥ


anchor


(n−1) and ĥ


anchor


(n) to obtain channel estimates for the n-th slot.




Further, in accordance with a preferred embodiment of the present invention, N


s


=2N


p


and N


p


of the data symbols can be taken from before the pilot symbols of the time slot and N


p


of the data symbols can be taken from after the pilot symbols.




Still further, in accordance with a preferred embodiment of the present invention, the unit for linearly interpolates includes unit for separately interpolates amplitudes and phases of the adjacent anchors.




Additionally, in accordance with a preferred embodiment of the present invention, the channel estimator also includes a unit that averages slot anchors as follows:









H
^

anchor



(

n
-
1

)


=





k
=

-
M


M










h
^

anchor



(

n
-
1
-
k

)


·

β
k







k
=

-
M


M







β
k













where H


anchor


is the average value of slot anchors h


anchor


in a slot ranging between the values −M to M for k, and β


k


is a user defined weight factor.




Moreover, in accordance with a preferred embodiment of the present invention, the z-unit includes a lookup table unit.




Further, in accordance with a preferred embodiment of the present invention, the at least one received signal is the output of at least one despreader. Alternatively, it could be the downconverted and demodulated output of more than one antenna.




Still further, in accordance with a preferred embodiment of the present invention, the noise variance estimator generates a noise variance {overscore ({circumflex over (σ)})}


2


as follows:






{circumflex over (σ)}


k




2


(


n


)=(1−α)·{circumflex over (σ)}


k




2


(


n


−1)+α·{tilde over (σ)}


k




2


(


n


)






where the time index n is in units of slot, α is a user selectable exponential forgetting factor, and









σ
~

k
2



(
n
)






1

N
P







t
=
1


N
P









&LeftBracketingBar;





y
_

k



(
t
)



G


(
t
)



·


s


(
t
)


*


&RightBracketingBar;

2



-


&LeftBracketingBar;


1

N
P







t
=
1


N
P












y
_

k



(
t
)



G


(
t
)



·


S


(
t
)


*




&RightBracketingBar;

2












where N


p


is the number of pilot symbols per slot, G(t) is an automatic gain control (AGC) level and {overscore (y)}


k


(t) is the k-th element of the vector {overscore (y)}(t).




Further, in accordance with a preferred embodiment of the present invention, the channel tap unit is an infinite impulse response (IIR) filter given by:








ĥ


(


t


)=−


ĥ


(


t


−1)






a


1




−, . . . , −ĥ


(


t−p


)


a






p


+{overscore (y)}


(


t







z(


t;ĥ


(


t


−1))*


b








0




+{overscore (y)}


(


t


−1)·


z


(




t−1





(


t






−2))*


b




1




+, . . . , {overscore (y)}


(


t−q







z(


t−q;ĥ


(


t−q


−1))*


b




q






where a


i


and b


i


are user-defined parameters as are the filter orders p and q.




Alternatively, there is also provided a channel estimator having two estimators, a first estimator that operates on a continuous pilot channel and a second estimator that operates on a traffic channel with interleaved pilot symbols. The estimator also includes a combiner that combines the output of the first and second estimators. The first estimator is similar to those of the prior art while the second estimator is similar to that described hereinabove.




Finally, the present invention includes the methods performed by the channel estimators disclosed herein.











BRIEF DESCRIPTION OF THE DRAWINGS AND APPENDIX




The present invention will be understood and appreciated more fully from the following detailed description taken in conjunction with the appended drawings and Appendix in which:





FIGS. 1A

,


1


B and


1


C are scatter plot illustrations of the values of a function, in the presence of varying levels of noise, where the signal to noise ratio (SNR) is high, medium and low, respectively;





FIG. 2

is a schematic illustration of a batch mode channel estimator, constructed and operative in accordance with a preferred embodiment of the present invention;





FIGS. 3A and 3B

are schematic illustrations of implementations of the channel estimator of

FIG. 2

, for single and multiple CDMA fingers, respectively;





FIG. 4

is a schematic illustration of an adaptive channel estimator, constructed and operative in accordance with a preferred embodiment of the present invention;





FIG. 5

is a schematic illustration of two anchors, useful in understanding an anchor embodiment of the channel estimator of

FIG. 4

;





FIG. 6

is a schematic illustration of an implementation of the channel estimator of

FIG. 4

, for a single finger; and




Appendix A provides a series of approximations to a main component of the channel estimator to simplify its implementation.











DETAILED DESCRIPTION OF THE PRESENT INVENTION




The present invention is a channel estimator for linearly modulated, digital communication schemes. It takes as input the downconverted and demodulated received signal, denoted by a vector {overscore (y)}(t). For example, {overscore (y)}(t) can be the output of despreaders in a code division, multiple access (CDMA) rake receiver (as known in the art) or the demodulator output in a PAM/QAM (pulse amplitude modulation/quadrature amplitude modulation) receiver (as also known in the art).




The present text will emphasize CDMA cellular systems; however, the present invention can be applied to any digital, linear modulation scheme.




It will be appreciated that, in a receiver having more than one antenna, different elements of the vector {overscore (y)}(t) will correspond to the downconverted and demodulated signals from the different antennas. In a multiple antenna, CDMA receiver, there are multiple despreaders per antenna. The elements of the vector {overscore (y)}(t) correspond to the output of all of the despreaders.




Various embodiments of channel estimator


22


are shown in

FIGS. 2

,


3


A,


3


B,


4


,


5


and


6


. To understand the structure of the channel estimator of the present invention, a derivation is first provided.




Derivation




The vector output {overscore (y)}(t) at time instant t is modeled by a simplified static channel model as a function of the transmitted signal s(t), a vector of static channel taps {overscore (h)}, and a vector {overscore (n)}(t) of noise samples. The model is:







{overscore (y)}


(


t


)=


{overscore (h)}·s


(


t


)+


{overscore (n)}


(


t


)  Equation 1




It will be appreciated that:






dim{


{overscore (y)}


(


t


)}=dim{


{overscore (h)}


}=dim{


{overscore (n)}


(


t


)}≦dim{


s


(


t


)}=1






where dim{{overscore (v)}} stands for the dimension of the vector {overscore (V)}. Thus, the number of unknown channel taps is denoted by dim{{overscore (h)}} which is at least 1. For example, in a CDMA rake receiver, dim{{overscore (h)}} equals the number of active fingers. The noise term {overscore (n)}(t) for a CDMA system represents the additive white Gaussian noise (AWGN), the cross-talks from other users, cross-talks from un-modeled channel taps (i.e. channel taps that do not correspond to any of the active fingers), etc. and the channel estimate {overscore (h)} is the unknown finite dimensional parameter vector that needs to be estimated based on observation of {overscore (y)}(t) for t=1,2, . . . , T.




In accordance with a preferred embodiment of the present invention, the following assumptions are made in order to generate the channel estimator:




1. s(t) is a sequence of independent and identically distributed (i.i.d.) random variables of data symbols with time varying, a priori symbol probabilities {overscore (p)}(t). For simplicity, s(t) will be considered herein as a quadrature phase shift keying (QPSK) signal.




2. {overscore (n)}(t) is an i.i.d. sequence of complex valued, zero mean Gaussian random vectors with independent components whose variance is σ


2


. Conventional circular Gaussian probability distribution functions (pdf's) are assumed, i.e. the real and imaginary parts of each of the noise components are independent with variance σ


2


/2. The case of unequal noise variances (that is, when each component of {overscore (n)}(t) possesses different variance) is also considered hereinbelow.




3. s(t) and {overscore (n)}(t) are mutually independent.




The present invention defines a probability vector {overscore (p)}(t) that defines the priori probabilities for the various symbols of s(t). In CDMA systems, signals are sent between a mobile and a base station in pre-defined time slots. In each time slot, many symbols are sent, only some of which are raw data symbols, e.g. the compressed voice data. The remaining symbols are used for controlling the communication, estimating the unknown channel taps, etc. Among these control symbols there are the pilot symbols, which, as described hereinabove, are a set of symbols that are a-priori known to the receiver. The pilot symbols are used to synchronize the base and mobile stations and for estimating the channel taps. Other control symbols include transmit power control (TPC) symbols. With the current standardization regarding 3


rd


generation cellular systems (3GPP RAN wideband CDMA), these TPC symbols are known a-priori to have only one out of 2 possible values. The TPC symbols are defined in the 3GPP document, RAN 25.214 V1.1.1(1999-09). The probability vector {overscore (p)}(t) allows the present invention to treat both pilot and data symbols.




For a QPSK symbol constellation, {overscore (p)}(t) is defined as follows:











p
_



(
t
)


=


[




Pr


{


s


(
t
)


=

1
+
j


}







Pr


{


s


(
t
)


=

1
-
j


}







Pr


{


s


(
t
)


=


-
1

+
j


}







Pr


{


s


(
t
)


=


-
1

-
j


}





]

=

[





p
1



(
t
)








p
2



(
t
)








p
3



(
t
)








p
4



(
t
)





]






Equation





2













If s(t) is a pilot symbol, then there exist some i, 1≦i≦4 such that








{overscore (p)}


(


t


)=


{overscore (e)}




i


  Equation 3






where the {overscore (e)}


i


's are the normal basis vectors having a one (1) in their i-th component and zero otherwise. The specific vector {overscore (e)}


i


used per time instant depends on the transmitted pilot symbol. For example, the following sequence of pilot symbols








s


(1)=1


+j, s


(2)=1


−j, s


(3)=1


+j, s


(4)=−


1−j


  Equation 4






corresponds (from Equation 2) to the following sequence of {overscore (e)}


i


's








{overscore (p)}


(1)=


{overscore (e)}




1




, {overscore (p)}


(2)=


{overscore (e)}




2




, {overscore (p)}


(3)=


{overscore (e)}




1




, {overscore (p)}


(4)=


{overscore (e)}




4


  Equation 5






If, on the other hand, s(t) is an equally likely data symbol, then








p




1


(


t


)=


p




2


(


t


)=


p




3


(


t


)=


p




4


(


t


)=0.25  Equation 6






Furthermore, if there is some a-priori information on the transmitted data, it can be incorporated herein. For example, the transmit power control (TPC) symbols are known a-priori to have only one out of 2 possible values either 1+j or −1−j. For TPC symbols, the corresponding {overscore (p)}(t) would be











p
_



(
t
)


=

[



0.5




0




0




0.5



]





Equation





7













Now, with the above assumptions, the conditional pdf of {overscore (y)}(t) given s(t) and {overscore (h)} is Gaussian and it is given by,













P


(




y
_



(
t
)


/

s


(
t
)



;

h
_


)


=





c
·



-



&LeftDoubleBracketingBar;



y
_



(
t
)


-


h


·

s


(
t
)




&RightDoubleBracketingBar;

2


σ
2











=





c
·




-

1

σ
2








k
=
1


Dim


(

y
_

)






&LeftBracketingBar;



y
k



(
t
)


-


h
k

·

s


(
t
)




&RightBracketingBar;

2












Equation





8













Therefore,













P


(



y
_



(
t
)


;

h
_


)


=





c
[




p
1



(
t
)


·




-

1

σ
2








k
=
1


Dim


{

y
_

}










&LeftBracketingBar;



y
k



(
t
)


-


h
k

·

(

1
+
j

)



&RightBracketingBar;

2





+
















p
2



(
t
)


·




-

1

σ
2








k
=
1


Dim


{

y
_

}










&LeftBracketingBar;



y
k



(
t
)


-


h
k

·

(

1
-
j

)



&RightBracketingBar;

2





+















p
3



(
t
)


·




-

1

σ
2








k
=
1


Dim


{

y
_

}










&LeftBracketingBar;



y
k



(
t
)


-


h
k

·

(


-
1

+
j

)



&RightBracketingBar;

2





+














p
4



(
t
)


·




-

1

σ
2








k
=
1


Dim


{

y
_

}










&LeftBracketingBar;



y
k



(
t
)


-


h
k

·

(


-
1

-
j

)



&RightBracketingBar;

2





]







Equation





9













Due to the i.i.d nature of both s(t) and {overscore (n)}(t), the joint pdf of {overscore (y)}(t) for t=1,2, . . . , T is simply the product of the one dimensional pdf's, or in the log domain:













Log


[

P


(


Y
_

;

h
_


)


]


=








t
=
1

T







Log
[




p
1



(
t
)


·




-

1

σ
2








k
=
1


Dim


{

y
_

}










&LeftBracketingBar;



y
k



(
t
)


-


h
k

·

(

1
+
j

)



&RightBracketingBar;

2





+

















p
2



(
t
)


·




-

1

σ
2








k
=
1


Dim


{

y
_

}










&LeftBracketingBar;



y
k



(
t
)


-


h
k

·

(

1
-
j

)



&RightBracketingBar;

2





+















p
3



(
t
)


·




-

1

σ
2








k
=
1


Dim


{

y
_

}










&LeftBracketingBar;



y
k



(
t
)


-


h
k

·

(


-
1

+
j

)



&RightBracketingBar;

2





+















p
4



(
t
)


·




-

1

σ
2








k
=
1


Dim


{

y
_

}










&LeftBracketingBar;



y
k



(
t
)


-


h
k

·

(


-
1

-
j

)



&RightBracketingBar;

2





]

+

T
·

Log


[
c
]










Equation





10













where, for notational brevity, {overscore (Y)} denotes the vector whose t-th sub-block is {overscore (y)}(t) for t=1,2, . . . , T (i.e. {overscore (Y)} is a (Dim{{overscore (y)}}·T)×1 column vector).




Now, maximum likelihood (ML) estimation of {overscore (h)} amounts to differentiating Equation 10 with respect to {overscore (h)} and equating to zero. To simplify the notation, we define {overscore (φ)}(t) as follows.











φ
_



(
t
)


=


(






Real



{

h
_

}



+

j
·





Imag



{

h
_

}





)



Log




[

P


(



y
_



(
t
)


;

h
_


)








Equation





11













The ML channel estimator is obtained by solving the implicit equation:













t
=
1

T








φ
_



(
t
)



=

0
_





Equation





12













Using the equality below,













p
1



(
t
)


·




-

1

σ
2








k
=
1


Dim


{

y
_

}










&LeftBracketingBar;



y
k



(
t
)


-


h
k

·

(

1
+
j

)



&RightBracketingBar;

2





+



p
2



(
t
)


·




-

1

σ
2








k
=
1


Dim


{

y
_

}










&LeftBracketingBar;



y
k



(
t
)


-


h
k

·

(

1
-
j

)



&RightBracketingBar;

2





+



p
3



(
t
)


·




-

1

σ
2








k
=
1


Dim


{

y
_

}










&LeftBracketingBar;



y
k



(
t
)


-


h
k

·

(


-
1

+
j

)



&RightBracketingBar;

2





+



p
4



(
t
)


·




-

1

σ
2








k
=
1


Dim


{

y
_

}










&LeftBracketingBar;



y
k



(
t
)


-


h
k

·

(


-
1

-
j

)



&RightBracketingBar;

2






=





-

1
σ




(



&LeftDoubleBracketingBar;


y
_



(
t
)


&RightDoubleBracketingBar;

2

+

2



&LeftDoubleBracketingBar;

h
_

&RightDoubleBracketingBar;

2



)



·

[




p
1



(
t
)


·




2

σ
2



Real


{


<


y
_



(
t
)



,



h
_

*

>

·

(

1
-
j

)




}




+



p
2



(
t
)


·




2

σ
2



Real


{


<


y
_



(
t
)



,



h
_

*

>

·

(

1
+
j

)




}




+



p
3



(
t
)


·




2

σ
2



Real


{


<


y
_



(
t
)



,



h
_

*

>

·

(


-
1

-
j

)




}




+



p
4



(
t
)


·




2

σ
2



Real


{


<


y
_



(
t
)



,



h
_

*

>

·

(


-
1

+
j

)




}





]






Equation





13













we obtain, after quite a few algebraic manipulations:











φ
_



(
t
)


=



-

4

σ
2



·

h
_


+


2

σ
2


·


y
_



(
t
)


·


z


(

t
;

h
_


)


*







Equation





14













where (·)* stands for the conjugate of the bracketed expression and the scalar process z(t;{overscore (h)}) is given by:










z






(

t
;

h
_


)




[



p
1







(
t
)







(

1
+
j

)







e


2

σ
2







Real


{


<


y
_







(
t
)



,



h
_

*

>

(

1
-
j

)



}




+


p
2







(
t
)







(

1
-
j

)







e


2

σ
2







Real


{


<


y
_







(
t
)



,



h
_

*

>






+


p
3







(
t
)







(


-
1

+
j

)







e


2

σ
2







Real


{


<


y
_







(
t
)



,



h
_

*

>

(


-
1

-
j

)



}




+


p
4







(
t
)







(


-
1

-
j

)







e


2

σ
2







Real


{


<


y
_







(
t
)



,




×


[



p
1







(
t
)







e






2

σ
2







Real


{


<


y
_







(
t
)



,



h
_

*

>

(

1
-
j

)



}





+


p
2







(
t
)







e






2

σ
2







Real


{


<


y
_







(
t
)



,



h
_

*

>

(

1
+
j

)



}





+


p
3







(
t
)







e






2

σ
2







Real


{


<


y
_







(
t
)



,



h
_

*

>

(


-
1

-
j

)



}





+


p
4







(
t
)







e






2

σ
2







Real


{


<


y
_







(
t
)



,



h
_

*

>

(


-
1

+
j

)



}






]


-
1









Equation





15













<{overscore (x)}, {overscore (y)}> denotes the scalar product between the vectors {overscore (x)} and {overscore (y)}. Combining Equation 12 and Equation 14, the ML estimator ĥ


ML


becomes the solution of the implicit equation:











h
^

ML

=


1

2

T


·




t
=
1

T








y
_








(
t
)

·
z








(

t
;


h
^

ML


)

*








Equation





16













It will be appreciated that, in the general setting, no closed form solution exists to Equation 16. However, there are some special cases of the ML estimator of Equation 16. First, consider the case of pilot symbols, by substituting Equation 3 into Equation 15: This results in:








z


(


t;{overscore (h)}


)=


s


(


t


)  Equation 17






and Equation 16 reduces to:











h
^

ML

=


1

2

T


·




t
=
1

T








y
_








(
t
)

·
s








(
t
)

*








Equation





18













which is the conventional data-aided ML channel estimator.




In the non-data-aided setting where Equation 6 holds, Equation 15 reduces to:











z






(

t
;
h

)


=


[




(

1
+
j

)

·
sinh







(


2

σ
2







Real


{


<


y
_







(
t
)



,



h
_

*

>

(

1
-
j

)



}


)


+



(

1
-
j

)

·
sinh







(


2

σ
2







Real


{


<


y
_







(
t
)



,



h
_

*

>

(

1
+
j

)



}


)



]

×


[


cosh






(


2

σ
2







Real


{


<


y
_







(
t
)



,



h
_

*

>

(

1
-
j

)



}


)


+

cosh






(


2

σ
2







Real


{


<


y
_







(
t
)



,



h
_

*

>

(

1
+
j

)



}


)



]


-
1












Equation





19













In a high SNR setting, it can be shown that, in both nominator and denominator of z(t;{overscore (h)}) only one of the exponents is dominant and hence,








z


(


t;{overscore (h)}


)≈


ŝ


(


t


)  Equation 20






where ŝ(t) is the nearest neighbor to <{overscore (y)}(t), {overscore (h)}*> from the source alphabet (i.e. {overscore (s)}(t) is the hard decision of <{overscore (y)}(t), {overscore (h)}*>). In this case, the ML estimator reduces to:











h
^

ML

=


1

2

T


·




t
=
1

T








y
_








(
t
)

·

s
^









(
t
)

*








Equation





21













which is the well known, decision directed, channel estimator.




In a low SNR setting, the ML estimator of the present invention, in effect, uses a soft symbol metric that is based on the instantaneous SNR and follows a hyperbolic law. To illustrate this, reference is now made to

FIGS. 1A

,


1


B and


1


C which graph the function in Equation 19 for several SNR values (20 dB, 10 dB and 0 dB, respectively) and for the scalar case of one active finger. Each figure shows a scatter plot of the values of z(t;{overscore (h)}) in the complex plane.




As can be seen, at the high SNR of

FIG. 1A

, z(t;{overscore (h)}) always takes on one of the four hard decision values (1−j), (1+j), (−1−j), (−1+j) of the received signal. This matches with Equation 20 and 21. However, at lower SNR's, z(t;{overscore (h)}) is “softened” according to the confidence of each specific hard decision. Thus,

FIG. 1B

(medium SNR) has values for z(t;{overscore (h)}) mostly along the real and imaginary axes and

FIG. 1C

(low SNR) has values for z(t;{overscore (h)})all over the complex plane.




Until now, the noise variance has been identical for all elements of the noise vector {overscore (n)}(t). It is also possible to relax this assumption. Thus, in Equation 15 and 19, the following










2

σ
2







Real


{


<


y
_







(
t
)



,



h
_

*

>



}





Equation





22













is replaced by






2Real{<


{tilde over (y)}


(


t


),


{overscore (h)}


*> . . . }  Equation 23






where {tilde over (y)}(t) is obtained from {overscore (y)}(t) by dividing each of its components by the corresponding noise variance, i.e.











{


y
~







(
t
)


}

i





{


y
_







(
t
)


}

i


σ
i
2






Equation





24













Appendix A provides a series of approximations to Equation 19 to simplify its implementation.




In some applications, such as the 3GPP wideband CDMA cellular systems, there is a continuous pilot channel separate from a traffic channel that contains data and pilot symbols. For these applications, a channel estimator based on both the traffic and the pilot channels can be constructed. The channel estimator of the present invention can be used for the traffic channel while a prior art channel estimator can be used for the continuous pilot channel. The two channel estimates can be combined to produce the final channel estimate. This provides a statistically more stable channel estimator.




Implementation




Reference is now made to

FIG. 2

, which schematically illustrates a channel estimator


30


of the present invention. Estimator


30


comprises a noise variance estimator


32


, an a priori symbol probability generator


34


and a channel tap determiner


36


.




Noise variance estimator


32


determines the noise variance σ


2


as described hereinbelow. There are a variety of methods, known in the art, for estimating the noise variance σ


2


. One method, incorporated herein by reference, is described in the article “An Efficient Algorithm for Estimating the Signal-to-Interference Ratio in TDMA Cellular Systems”, by Mustafa Turkboylari et al.,


IEEE Transactions on Communications


, Vol. 46, No. 6, June 1998, pp. 728-731.




Another method of estimating the noise variance, suitable for the 3GPP wideband CDMA time slot structure, uses pilot symbols only and implements the following equations for the k-th element of the noise variance vector {overscore ({circumflex over (σ)})}


2


:






{circumflex over (σ)}


k




2


(


n


)=(1−α)·{circumflex over (σ)}


k




2


(


n


−1)+α·{tilde over (σ)}


k




2


(


n


)  Equation 25






Where the time index n is in units of slot, α is a user selectable exponential forgetting factor, and












σ
~

k
2







(
n
)






1

N
p











t
=
1


N
p









&LeftBracketingBar;






y
_

k







(
t
)



G






(
t
)



·
s








(
t
)

*


&RightBracketingBar;

2



-


&LeftBracketingBar;


1

N
p











t
=
1


N
p













y
_

k







(
t
)



G






(
t
)



·
s








(
t
)

*




&RightBracketingBar;

2






Equation





26













where N


p


is the number of pilot symbols per slot, G(t) is the receiver's automatic gain control (AGC) level (as known in the art) and {overscore (y)}


k


(t) is the k-th element of the vector {overscore (y)}(t).




Symbol probability generator


34


receives information from higher layers in the receiver defining the type of the current symbol. For example, the higher layer may indicate that the current symbol is a pilot, a power control or a data symbol. Symbol probability generator


34


then produces the probability vector {overscore (p)}(t) associated with the symbol type, as per Equations 2-7.




Channel tap determiner


36


determines the channel tap estimate vector by solving Equation 16. Since Equation 16 is an implicit equation, one has to resort to iterative algorithms for solving it. There are numerous iterative approaches, based on gradients and/or Hessians of Equation 16 that can be implemented. See, for example, the book


Numerical Recipes in C: The Art of Scientific Computing


, by Press et al., 2


nd


Edition, Cambridge University Press, 1992.




Channel estimator


30


operates in a “batch” mode, taking a sequence of T samples (where T is a user selectable parameter often related to the fading rate) and iterating until the channel estimate {overscore (h)} is stable.




As with any iterative algorithm, an initial point must be provided for the algorithm. There are a variety of initialization procedures. For example, one may arbitrarily set the initial {overscore (h)} to unity and then apply the iterative algorithm to converge to the true value. Alternatively, one can apply a conventional channel estimation technique based only on pilot symbols and use its output as the initial value for {overscore (h)}.




Reference is now made to

FIG. 3A

, which schematically illustrates the implementation of a simple iterative solution to Equation 16 that does not require calculation of gradients or Hessians. The channel estimator


30


of

FIG. 3A

is a single tap channel estimator.




In the embodiment of

FIG. 3A

, channel tap determiner


36


comprises a scalar z-generator


37


, a multiplier


38


and a summer


39


over a period of length T of the output of vector multiplier


38


.




Z-generator


37


receives the demodulated scalar signal y(t), the probability vector {overscore (p)}(t) from probability generator


34


, the noise variance {circumflex over (σ)}


2


from noise variance estimator


32


and the channel estimate h′ of the previous iteration. Z-generator


37


then generates the scalar value z(t;h′) from Equation 15. For example, this operation can utilize a lookup table. In particular, when Equation 19 needs to be computed, a lookup table can be used which saves the need to calculate the hyperbolic sine and cosine functions.




Multiplier


38


multiplies the output y(t) with the value z(t;h′) and summer


39


sums the output of multiplier


38


over a period of length T. The result is the updated channel estimate h which is then fed back to z-generator


37


.




Reference is now made to

FIG. 36

, which schematically illustrates the structure of a two-tap batch channel estimator of the present invention, here labeled


40


, when operating on a vector {overscore (y)}(t) whose dimension is two. Elements similar to those of

FIG. 3A

carry similar reference numerals.




Channel estimator


40


comprises noise variance estimator


32


, a z-generator


42


, two multipliers


38


A and


38


B and two summers


39


A and


39


B. Z-generator


42


receives the demodulated vector signal {overscore (y)}(t), the probability vector {overscore (p)}(t) from probability generator


34


, the noise variance {circumflex over (σ)}


2


from noise variance estimator


32


and the channel estimates h


i


′ of the previous iteration.




Z-generator


42


then generates the value z(t;h′) from Equation 15. Multipliers


38


A and


38


B multiply the outputs y


0


(t) and y


1


(t), respectively, with the value z(t;h′) and summers


39


A and


39


B sum the outputs of their respective multipliers


38


A and


38


B over a period of length T. Each summer


39


produces its updated channel estimate h


i


, which is also fed back to z-generator


42


.




It will be appreciated that the present invention is also operative for more than two taps. The structure of the channel estimator is similar to that of FIG.


3


B.




The channel estimator of the present invention can also be implemented in a sequential (or adaptive) manner. For these implementations, the channel estimator updates the estimate one sample at a time. This amounts to finding a sequential solution to Equation 16 and it typically takes some time to converge. Adaptive solutions inherently assume a slowly time-varying channel so that channel variations can be tracked. Initialization for these implementations is as described hereinabove.




Reference is now made to

FIG. 4

, which illustrates a general adaptive channel estimator


100


. Estimator


100


is similar to estimator


30


of FIG.


2


and comprises an adaptive channel tap determiner


102


in place of channel tap determiner


36


.




Adaptive channel tap determiner


102


sequentially solves Equation 27 (hereinbelow) where, for each new time instance t, a new solution is obtained.











h
^

t

=




m
=
1

t








y
_








(
m
)

·
z









(

m
;


h
^

t


)

*

·

λ

t
-
m









Equation





27













λ is an exponential forgetting factor. With the special choice of λ=1, Equation 27 reduces to Equation 16 up to a scalar gain.




There are a variety of sequential algorithms, two of which are presented hereinbelow.




A first approach uses anchors and linear interpolation between adjacent anchors similar to the one described in the following documents that are incorporated herein by reference:




H. Andoh, M. Sawahashi, and F. Adachi, “Channel Estimation Using Time Multiplexed Pilot Symbols for Coherent Rake Combining for DS-CDMA Mobile Radio,”


Proceedings of the IEEE Vehicular Technology Conference


, 1997, pp. 954-958.




F. Adachi and M. Sawahashi, “Wideband Wireless Access Based on DS-CDMA,”


IEEE Transactions on Communications


, pp. 1305-1316, July 1998.




F. Adachi, M. Sawahashi, and H. Suda, “Wideband DS-CDMA for Next Generation Mobile Communications Systems,”


IEEE Communications Magazine


, September 1998.




In the prior art anchor approach, illustrated in

FIG. 5

to which reference is now briefly made, the channel estimator averages a few pilot symbols from the beginning of each of a series of successive time-slots to generate a sequence of “anchors”


50


and


52


. Then, the channel estimator linearly interpolates between the anchor at the beginning of one slot to that at the beginning of the next slot to generate the channel estimates


54


.




In accordance with a preferred embodiment of the present invention, the channel estimator computes a pilot anchor ĥ


p


using the N


p


pilot symbols of one time slot and a data anchor ĥ


s


using N


s


data symbols, as follows:











h
^

p

=


1

2


N
p



·




k
=
1


N
p









y
_








(
k
)

·
s








(
k
)

*








Equation





28








h
^

s

=


1

2


N
s



·




k
=
1


N
p








y







(
k
)

·
z








(

k
;


h
^

p


)

*








Equation





29













where N


s


is a user-defined parameter determining the number of data symbols to be used. One may set N


s


=2N


p


so that N


p


of the data symbols are taken from before the pilot symbols and N


p


of the data symbols are taken from after the pilot symbols. The channel estimator then averages the two values:











h
^

anchor

=




h
^

p

+


h
^

s


2





Equation





30













The channel estimator linearly interpolates between adjacent anchors ĥ


anchor


(n−1) and ĥ


anchor


(n) to obtain the channel estimates for the n-th slot. In accordance with a preferred embodiment of the present invention, the channel estimator separately interpolates the amplitudes and phases of the adjacent anchors.




In order to improve upon the statistical variability of the anchors, the older anchor can be averaged, as follows:












H
^

anchor







(

n
-
1

)


=





k
=

-
M


M









h
^

anchor








(

n
-
1
-
k

)

·

β
k








k
=

-
M


M







β
k







Equation





31













and, as before, phase and amplitude linear interpolations between Ĥ


anchor


(n−1) and ĥ


anchor


(n) generate the n-th slot channel estimator. Both M and the β


k


's are user defined parameters. For example, the values M=1, β


−1





1


=0.8 and β


0


=1 were used in H. Andoh, M. Sawahashi, and F. Adachi, “Channel Estimation Using Time Multiplexed Pilot Symbols for Coherent Rake Combining for DS-CDMA Mobile Radio,”


Proceedings of the IEEE Vehicular Technology Conference


, 1997, pp. 954-958.




Reference is now made to

FIG. 6

, which illustrates another adaptive channel estimator, labeled


60


. Channel estimator


60


is similar to channel estimator


30


of

FIG. 3A

except that summer


39


is replaced by an infinite impulse response (IIR) filter


62


.




In this embodiment, the product {overscore (y)}(t)·z(t;{overscore (h)}) is filtered with some pre-specified IIR filter. Here, we have the channel estimator given by:








ĥ


(


t


)=−






ĥ(


t


−1)




a


1




−, . . . , −ĥ


(




t−p)


a




p




+{overscore (y)}


(


t







z(


t;ĥ


(


t


−1))*


b








0




+{overscore (y)}


(


t


−1)·


z


(


t






−1





(


t


−2))*


b




1






+, . . . , {overscore (y)}−(


t−q









z(


t−q;ĥ


(


t−q


−1))*


b




q


  Equation 32






where z(t;ĥ(t−1)) is given by Equation 17 for pilot symbols, and by Equation 19 for data symbols (or by a similar expression for TPC bits). The filter coefficients a


i


and b


i


are user-defined parameters as are the filter orders p and q. Note that taking p=q=1 reduces to the well known exponential forgetting factor sequential solution of Equation 32 where the iterations are performed sequentially in time. In general, the specific choice of filter parameters, should represent the best compromise between noise rejection and filter delay. In order to maintain a low complexity implementation, the data should be decimated prior to applying Equation 32. For example, for a constant input rate of 16 ksps, one of 4 samples is used in Equation 32 when the symbol rate is 64 ksps. However, the pilot symbols should not be decimated. Thus, for a slot containing 4 pilot symbols and 36 data symbols, the estimator uses 10 samples per slot, 4 of which correspond to pilot symbols and the other 6 correspond to data symbols. The data can also be averaged prior to the filtration operation, rather than decimated. A further alternative is to combine the two approaches and use averaged symbols only at the feedback part of Equation 32 (i.e. the terms multiplied by the a


i


). This produces a very slowly varying, adaptive channel estimator but does not increase the estimator's delay. Such slowly varying estimators can be utilized to track slowly fading channels.




The methods and apparatus disclosed herein have been described without reference to specific hardware or software. Rather, the methods and apparatus have been described in a manner sufficient to enable persons of ordinary skill in the art to readily adapt commercially available hardware and software as may be needed to reduce any of the embodiments of the present invention to practice without undue experimentation and using conventional techniques.




It will be appreciated by persons skilled in the art that the present invention is not limited by what has been particularly shown and described herein above. Rather the scope of the invention is defined by the claims that follow after the appendix.




APPENDIX A




There are several simple approximations that can be used in Equation 19 in order to simplify the implementation. First we may replace the operands of the sinh operator as follows:












2

σ
2



Real






{


<


y
_



(
t
)



,



h
_

*

>

(

1
-
j

)



}





2

σ
2




Max
i




&LeftBracketingBar;

Real


{




y
_

i



(
t
)


·


h
_

i
*

·

(

1
-
j

)


}


&RightBracketingBar;

·





Sign


[

Real


{




y
_

i



(
t
)


·

h
i
*

·

(

1
-
j

)


}


]













2

σ
2



Real






{


<


y
_



(
t
)



,



h
_

*

>

(

1
+
j

)



}





2

σ
2




Max
i




&LeftBracketingBar;

Real


{




y
_

i



(
t
)


·


h
_

i
*

·

(

1
+
j

)


}


&RightBracketingBar;

·





Sign


[

Real


{




y
_

i



(
t
)


·


h
_

i
*

·

(

1
-
j

)


}


]









Equation  A-1













Note that this approximation simply uses the finger with the highest temporal SNR to estimate the transmitted symbol. This is a well-known selection criterion used in numerous diversity combining scenarios and contrasts with the original criterion of Equation 19, which is a maximal ratio diversity combination criterion. If we further approximate and consider only the maximum of the two terms in Equation A-1, then Equation 19 reduces to








z


(


t;ĥ




ML


)≈


ŝ


(


t


)·tan


h


(


x


(


t


))  Equation A-2






where










x


(
t
)





2

σ
2



Max


{



Max
i



&LeftBracketingBar;

Real


{




y
_

i



(
t
)


·



h
_

i
*



(

1
-
j

)



}


&RightBracketingBar;


,


Max
i



&LeftBracketingBar;

Real


{




y
_

i



(
t
)






h
_

i
*



(

1
-
j

)



}


&RightBracketingBar;









Equation  A-3













A further approximation can be implemeted when considering the case of unequal noise variance, i.e. the case where each component of {overscore (n)}(t) possesses a different variance. The log-likelihood function of equation 10 should, in this case, be replaced by













P


(



y
_



(
t
)


;

h
_


)


=





c
[




p
1



(
t
)


·



-




k
=
1


Dim


(

y
_

)











&LeftBracketingBar;



y
k



(
t
)


-


h
k

·

(

1
+
j

)



&RightBracketingBar;

2

/

σ
i
2






+
















p
2



(
t
)


·



-




k
=
1


Dim


(

y
_

)











&LeftBracketingBar;



y
k



(
t
)


-


h
k

·

(

1
-
j

)



&RightBracketingBar;

2

/

σ
i
2






+















p
3



(
t
)


·



-




k
=
1


Dim


(

y
_

)











&LeftBracketingBar;



y
k



(
t
)


-


h
k

·

(


-
1

+
j

)



&RightBracketingBar;

2

/

σ
i
2






+














p
4



(
t
)


·



-




k
=
1


Dim


(

y
_

)











&LeftBracketingBar;



y
k



(
t
)


-


h
k

·

(


-
1

-
j

)



&RightBracketingBar;

2

/

σ
i
2






]







Equation  A-4












Claims
  • 1. A channel estimator to operate on at least one received signal, the channel estimator comprising:a symbol probability generator to generate a priori probabilities only of transmitted symbols found in said at least one received signal; a noise variance estimator to estimate at least one noise variance corrupting said at least one received signal; a channel tap estimator to generate channel estimates from said at least one received signal, said a priori probabilities and said at least one noise variance; and wherein said channel tap estimator is able to solve the following equation: hML=12⁢T·∑t=1T⁢ ⁢y_⁡(t)·z⁡(t;hML)*where {overscore (y)}(t) is a vector of downconverted and demodulated received signal of said at least one received signal, t is the time variable, hML is a ML channel estimator where ML denotes Maximum Likelihood, T is the sampling time, z(t;hML) is a mathematical scalar process, and (·)* denotes the conjugate of the bracketed expression.
  • 2. A channel estimator according to claim 1 and wherein said channel tap estimator comprises:z-means for generating a z-value for z(t;ĥML) from said a priori probabilities, said at least one noise variance and said channel estimates; combining means for combining said z-value with said at least one received signal; and channel tap means for determining channel tap values from the output of said combining means.
  • 3. A channel estimator according to claim 2 and wherein said z-means is able to calculate the following equation for a quadrature phase shift keying (QPSK) channel: &AutoLeftMatch;z⁡(t;h_)≡ ⁢[p1⁡(t)⁢(1+j)⁢ⅇ2σ2⁢Real⁢{<y_⁡(t),h_*>(1-j)}+ ⁢p2⁡(t)⁢(1-j)⁢ⅇ2σ2⁢Real⁢{<y_⁡(t),h_*>(1+j)}+ ⁢p3⁡(t)⁢(-1+j)⁢ⅇ2σ2⁢Real⁢{<y_⁡(t),h_*>(-1-j)}+ ⁢p4⁡(t)⁢(-1-j)⁢ⅇ2σ2⁢Real⁢{<y_⁡(t),h_*>(-1+j)}]× ⁢[p1⁡(t)⁢ⅇ2σ2⁢Real⁢{<y_⁡(t),h_*>(1-j)}+ ⁢p2⁡(t)⁢ⅇ2σ2⁢Real⁢{<y_⁡(t),h_*>(1+j)}+ ⁢p3⁡(t)⁢ⅇ2σ2⁢Real⁢{<y_⁡(t),h_*>(-1-j)}+ ⁢p4⁡(t)⁢ⅇ2σ2⁢Real⁢{<y_⁡(t),h_*>(-1+j)}]-1where {overscore (y)}(t) is a vector of downconverted and demodulated received signal resulting from said at least one received signal, {overscore (h)} is a vector of said channel tap estimates, (·)* denotes the conjugate of the bracketed expression, σ is the noise variance estimate and p1, p2, p3 and p4 are said quadrant symbol probabilities, and where s(t) is a sequence of independent and identically distributed random variables of data symbols with time varying, a priori symbol probabilities.
  • 4. A channel estimator according to claim 3 and wherein, when s(t) is a pilot symbol, then {overscore (p)}(t)={overscore (e)}i where the {overscore (e)}i's are the normal basis vectors having a one (1) in their i-th component and zero otherwise.
  • 5. A channel estimator according to claim 2 and wherein said channel tap means is a summer over a window of received symbols.
  • 6. A channel estimator according to claim 3 and wherein, when s(t) is a data symbol, thenp1(t)=p2(t)=p3(t)=p4(t)=0.25.
  • 7. A channel estimator according to claim 3 and wherein, when s(t) is a transmit power control (TPC) symbols, then p1(t)=p4(t)=0.5, p2(t)=p3(t)=0.
  • 8. A channel estimator according to claim 2 and wherein said channel tap means includes means for determining a pilot anchor hp using Np pilot symbols of one time slot n and a data anchor hs using Ns data symbols of said time slot n, means for averaging said pilot anchor and said data anchor to produce a slot anchor hanchor(n) and means for linearly interpolating between adjacent anchors hanchor(n−1) and hanchor(n) to obtain channel estimates for the n-th slot.
  • 9. A channel estimator according to claim 8 wherein Ns=2Np and Np of the data symbols are taken from before said pilot symbols of said time slot and Np of the data symbols are taken from after said pilot symbols.
  • 10. A channel estimator according to claim 8 and wherein said means for linearly interpolating includes means for separately interpolating amplitudes and phases of said adjacent anchors.
  • 11. A channel estimator according to claim 8 and also including means for averaging slot anchors as follows: Hanchor⁢(n-1)=∑k=-MM⁢ ⁢hanchor⁢(n-1-k)·βk∑k=-MM⁢βkwhere Hanchor(n−1) is an averaged older anchor, hanchor is an anchor channel estimator of the nth slot, βk is a user defined weight factor and M is the averaging limit.
  • 12. A channel estimator according to claim 2 and wherein said z-means include lookup table means.
  • 13. A channel estimator according to claim 2 and wherein said channel tap means is an infinite impulse response (IIR) filter given by:h(t)=−h(t−1)a1−, . . . , −h(t−p)ap+{overscore (y)}(t)·z(t;h(t−1))*b0+{overscore (y)}(t−1)·z(t−1;h(t−2))*b1+, . . . , {overscore (y)}(t−q)·z(t−q;h(t−q−1))*bq where ai and bi are user-defined parameters as are the filter orders p and q, and h(t) is the channel estimator.
  • 14. A channel estimator operating on at least one received signal, the channel estimator comprising:a symbol probability generator to generate a priori probabilities only of transmitted symbols found in said at least one received signal; a noise variance estimator to estimate at least one noise variance corrupting said at least one received signal; a channel tap estimator to generate channel estimates from said at least one received signal, said a priori probabilities and said at least one noise variance, and wherein said noise variance estimator is able to generate a noise variance {overscore (σ)}2 as follows: σk2(n)=(1−α)·σk2(n−1)+α·{tilde over (σ)}k2(n) where {overscore (σ)}2 is the noise variance vector, σk2 is the noise variance for the k-th element, k is the element numerator, the time index n is in units of slot, α is a user selectable exponential forgetting factor and {tilde over (σ)}k2 is defined by σ~k2⁢(n)≡1NP⁢∑t=1NP⁢ ⁢&LeftBracketingBar;y_k⁢(t)G⁢(t)·(s⁢(t))*&RightBracketingBar;2-&LeftBracketingBar;1NP⁢∑t=1NP⁢ ⁢y_k⁢(t)G⁢(t)·(s⁢(t))*&RightBracketingBar;2where Np is the number of pilot symbols per slot, G(t) is an automatic gain control (AGC) level and {overscore (y)}k(t) is the k-th element of the vector {overscore (y)}(t), s(t) is a sequence of independent and identically distributed random variables of data symbols with time varying, a priori symbol probabilities and (·)* denotes the conjugate of the bracketed expression.
  • 15. A method of estimating a channel using at least one received signal, the method comprising:generating a priori probabilities only of transmitted symbols found in said at least one received signal; estimating at least one noise variance corrupting said at least one received signal; generating channel estimates from said at least one received signal, said a priori probabilities and said at least one noise variance, wherein generating said channel estimates solves the following equation: hML=12⁢T·∑t=1T⁢ ⁢y_⁡(t)·z⁡(t;hML)*where {overscore (y)}(t) is a vector of downconverted and demodulated received signal of said at least one received signal, t is the time variable, hML is a ML channel estimator where ML denotes Maximum Likelihood, T is the sampling time, z(t;hML) is a mathematical scalar process, and (·)* stands to denote the conjugate of the bracketed expression.
  • 16. A method according to claim 15 and wherein said second step of generating comprises the steps of:generating a z-value for z(t;ĥML) from said a priori probabilities, said at least one noise variance and said channel estimates; combining said z-value with said at least one received signal; and determining channel tap values from the output of said step of combining.
  • 17. A method according to claim 16 and wherein said step of generating said z value comprising calculating the following equation for a quadrature phase shift keying (QPSK) channel: &AutoLeftMatch;z⁡(t;h_)≡ ⁢[p1⁡(t)⁢(1+j)⁢ⅇ2σ2⁢Real⁢{<y_⁡(t),h_*>(1-j)}+ ⁢p2⁡(t)⁢(1-j)⁢ⅇ2σ2⁢Real⁢{<y_⁡(t),h_*>(1+j)}+ ⁢p3⁡(t)⁢(-1+j)⁢ⅇ2σ2⁢Real⁢{<y_⁡(t),h_*>(-1-j)}+ ⁢p4⁡(t)⁢(-1-j)⁢ⅇ2σ2⁢Real⁢{<y_⁡(t),h_*>(-1+j)}]× ⁢[p1⁡(t)⁢ⅇ2σ2⁢Real⁢{<y_⁡(t),h_*>(1-j)}+ ⁢p2⁡(t)⁢ⅇ2σ2⁢Real⁢{<y_⁡(t),h_*>(1+j)}+ ⁢p3⁡(t)⁢ⅇ2σ2⁢Real⁢{<y_⁡(t),h_*>(-1-j)}+ ⁢p4⁡(t)⁢ⅇ2σ2⁢Real⁢{<y_⁡(t),h_*>(-1+j)}]-1where {overscore (y)}(t) is a vector of downconverted and demodulated received signal of said at least one received signal, {overscore (h)} is a vector of said channel tap estimates, (·)* denotes the conjugate of the bracketed expression, σ is the noise variance estimate and p1, p2, p3 and p4 are said quadrant symbol probabilities, and where s(t) is a sequence of independent and identically distributed random variables of data symbols with time varying, a priori symbol probabilities.
  • 18. A method according to claim 17 and wherein, when s(t) is a pilot symbol, then {overscore (p)}(t)={overscore (e)}i where the {overscore (e)}i's are the normal basis vectors having a one (1) in their i-th component and zero otherwise.
  • 19. A method according to claim 16 and wherein said step of determining sums over a window of received symbols.
  • 20. A method according to claim 17 and wherein, when s(t) is a data symbol, thenp1(t)=p2(t)=p3(t)=p4(t)=0.25.
  • 21. A method according to claim 17 and wherein, when s(t) is a transmit power control (TPC) symbols, thenp1(t)=p4(t)=0.5, p2(t)=p3(t)=0.
  • 22. A method according to claim 16 and wherein said step of determining includes the steps of determining a pilot anchor ĥp using Np pilot symbols of one time slot n and a data anchor ĥs using Ns data symbols of said time slot n, averaging said pilot and data anchors to produce a slot anchor ĥanchor(n) and linearly interpolating between adjacent anchors ĥanchor(n−1) and ĥanchor(n) to obtain channel estimates for the n-th slot.
  • 23. A method according to claim 22 wherein Ns=2Np and Np of the data symbols are taken from before said pilot symbols of said time slot and Np of the data symbols are taken from after said pilot symbols.
  • 24. A method according to claim 22 and wherein said step of linearly interpolating includes the step of separately interpolating amplitudes and phases of said adjacent anchors.
  • 25. A method according to claim 22, further comprising averaging slot anchors as follows: Hanchor⁢(n-1)=∑k=-MM⁢ ⁢hanchor⁢(n-1-k)·βk∑k=-MM⁢βkwhere Hanchor(n−1) is an averaged older anchor, hanchor is an anchor channel estimator of the nth slot, βk is a user defined weight factor and M is the averaging limit.
  • 26. A method according to claim 16 and wherein determining said channel tap values comprises filtering said channel tap values with an infinite impulse response (IIR) filter given by:h(t)=−h(t−1)a1−, . . . , −h(t−p)ap+{overscore (y)}(t)·z(t;h(t−1))*b0+{overscore (y)}(t−1)·z(t−1;h(t−2))*b1+, . . . , {overscore (y)}(t−q)·z(t−q;h(t−q−1))*bq where ai and bi are user-defined parameters as are the filter orders p and q, and h(t) is the channel estimator.
  • 27. A method of estimating a channel using at least one received signal, the method comprising:generating a priori probabilities only of transmitted symbols found in said at least one received signal; estimating at least one noise variance corrupting said at least one received signal; generating channel estimates from said at least one received signal, said a priori probabilities and said at least one noise variance, and wherein estimating said at least one noise variance comprises generating a noise variance {overscore (σ)}2 a as follows: σk2(n)=(1−α)·σk2(n−1)+α·{tilde over (σ)}k2(n) where {overscore (σ)}2 is the noise variance vector, {overscore (σ)}k2 is the noise variance for the k-th element, k is the element numerator, the time index n is in units of slot, α is a user selectable exponential forgetting factor and {tilde over (σ)}k2 is defined by σ~k2⁢(n)≡1NP⁢∑t=1NP⁢ ⁢&LeftBracketingBar;y_k⁢(t)G⁢(t)·(s⁢(t))*&RightBracketingBar;2-&LeftBracketingBar;1NP⁢∑t=1NP⁢ ⁢y_k⁢(t)G⁢(t)·(s⁢(t))*&RightBracketingBar;2where Np is the number of pilot symbols per slot, G(t) is an automatic gain control (AGC) level and {overscore (y)}k(t) is the k-th element of the vector {overscore (y)}(t), s(t) is a sequence of independent and identically distributed random variables of data symbols with time varying, a priori symbol probabilities and (·)* denotes the conjugate of the bracketed expression.
US Referenced Citations (4)
Number Name Date Kind
5867538 Liu Feb 1999 A
5887035 Molnar Mar 1999 A
6377607 Ling et al. Apr 2002 B1
6442218 Nakamura et al. Aug 2002 B1
Non-Patent Literature Citations (7)
Entry
3GPP RAN 25.214, v1.1.1, (Sep. 1999) Physical Layer Procedures.
Turkboylari et al., “An Efficient Algorithm for Estimating the Signal-to-Interference Ration in TDMA Cellular Systems”, IEEE Trasactions on Communications, vol. 46, No. 6, Jun. 1998, pp. 728-731.
Press et al., Numerical Recipes in C: The Art of Scientific Computing, 2nd Edition, Cambridge University Press, 1992.
Adachi et al., “Wideband Wireless Access Based on DS-CDMA”, IEEE Transactions on Communications, pp. 1305-1316, Jul. 1998.
Adachi et al., “Wideband DS-CDMA for Next-Generation Mobile Communications Systems”, IEEE Communications Magazine, Sep. 1998, pp. 56-69.
3GPP RAN TS 25.215, v0.0.1 (Sep. 1999) Physical Layer—Measurements.
Schramm et al., “Pilot Symbol Assisted BPSK on Rayleigh Fading Channels with Diversity: Performance Analysis and Parameter Optimization”, IEEE Transactions on Communications, vol. 46, No. 12, Dec. 1998, pp. 1560-1563.