# Patent

## Title
Estimation of doppler shift compensation in a mobile communication system

## Abstract

A system and method for estimating Doppler shift compensation in a mobile communication system is described. A channel impulse response determination circuit determines a channel impulse response for the channel on which the signal is received. A reference vector is generated using a set of known symbols and the channel impulse response, and an error vector is then generated by comparing the reference vector with received samples of the signal. In addition, the noise variance of the incoming signal can be determined. Then, a Doppler correction factor is estimated having a real part representing amplitude correction and an imaginary part representing phase correction.

## Background
BACKGROUND OF THE INVENTION
The present invention relates to estimating a Doppler shift compensation in a mobile communication system.
In a mobile communication system, signals which are transmitted from mobile stations moving relative to a base station are subject to the well-known Doppler effect, which causes a frequency shift in the frequency received at the base station relative to that which was transmitted by the mobile station. This frequency shift is referred to herein as the Doppler shift. The Doppler shift is dependent upon the speed and direction of movement of the mobile station relative to the base station. Thus, the Doppler effect can provide an increase or a decrease in the frequency, depending on the direction of movement of the mobile station relative to the base station. The magnitude of the Doppler shift is dependent on the speed with which the mobile station is moving relative to the base station.
Another area of frequency offsets arises when the transmitter unit and the receiver unit are wrongly synchronised.
Existing mobile communication installations provide a form of Doppler compensation, in that the frequency detection circuitry within the base station which selects a particular signal on a particular channel can take into account a certain amount of Doppler shift in the signal.
AU 664626 relates to a method and circuit arrangement for compensating for the Doppler shift in a radio signal propagating between a base station and a mobile station when the mobile station approaches and moves past the base station. As a mobile station approaches the base station with a decreasing propagating time delay, the propagating time delay is integrated at intervals to determine how the propagating time delay varies with time. This information is used to effect a change in the radio signal frequency at a particular time to compensate for the sudden Doppler shift as the mobile station moves past the base station. In a TDMA system, the interrogation occurs at intervals equal to an integral number of time frames. In the GSM standard a time frame comprises eight consecutive time slots and a single transmission burst passes between a particular mobile station and base station in any one time frame.
Thus, in this method of Doppler compensation decisions are made in response to past and incoming signals to improve the reception at a future time, i.e. it is a reactive system. It would be desirable to implement a system which can actively compensate for Doppler shifts in an incoming signal in real time.
Moreover, due to fading a signal subject to the Doppler effect may have a variation in amplitude as well as frequency. It would be desirable to estimate the Doppler effect on amplitude as well as frequency.
BRIEF SUMMARY OF THE INVENTION
According to one aspect of the invention there is provided a system for generating a Doppler correction factor for compensating for Doppler shift in a signal transmitted between a mobile station and a base station in a mobile communication system, the system comprising: a channel impulse response determination circuit for determining a channel impulse response for the channel on which the signal is received; reference circuitry for generating a reference vector from a set of known symbols and the channel impulse response; means for generating an error vector from the reference vector and received samples of the signal; means for determining noise variance of the incoming signal; and an estimator for generating a Doppler correction factor having a real part representing amplitude correction and an imaginary part representing phase correction, the estimator utilising the noise variance, the error vector, the samples of the received signal and the sampling times.
According to the GSM standard, a TDMA transmission burst comprises a training sequence which is normally used to determine the channel impulse response for the channel on which the signal is received. This is done by a convolution of the received training sequence with a stored version of the training sequence. Thus, the training sequence can constitute the set of known symbols for use in generating the reference vector. Alternatively, the set of known symbols can comprise estimated symbols from the received signal samples.
In a TDMA system, the signal comprises a sequence of transmission bursts in respective time slots. The Doppler correction factor can be generated for each transmission burst and used to correct signal samples in that burst.
In addition for correcting for the Doppler effect, the Doppler correction factor also corrects for frequency offsets arising from wrong frequency synchronisation between transmitter and receiver units.
According to a further aspect of the present invention there is provided a method for compensating said Doppler shift in a signal transmitted between a mobile station and a base station in a mobile communication system, the method comprising: determining a channel impulse response for the channel on which the signal is received; generating a reference vector from a set of known symbols in the channel impulse response; generating an error vector from the reference vector and received samples of the signals; determining noise variance of the incoming signals; estimating a Doppler correction factor having a real part representing amplitude correction and an imaginary part representing phase correction, the estimating step using the noise variance, the error vector, the samples of the received signals and the sampling times; and applying the Doppler correction factor to the received signal samples thereby to compensate for Doppler shift.
For a better understanding of the present invention and to show how the same may be carried into effect, reference will now be made by way of example to the accompanying drawings in which:



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a diagram of a signal burst in a mobile communication system;
FIG. 2 is a block diagram of circuitry for implementing Doppler shift compensation; and
FIG. 3 is a diagram illustrating the Estim β block.



DETAILED DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates a normal burst in a mobile communication system according to the GSM standard. This figure represents a burst received at a base station. For a TDMA system according to the GSM standard, mobile stations transmit bursts as modulated signals on frequency channels allocated by a base station controller. One frequency channel may support up to eight bursts, each burst associated with a respective call, where each call is allocated a time slot in which to send the burst. Further details of a TDMA system according to the GSM standard are not described herein because they are known to a person skilled in the art.
The normal burst contains two packets of 58 bits (DATA) surrounding a training sequence (TRS) of 26 bits. Three tail bits (TS) are added at each end of the normal burst. The training sequence (TRS) is a predetermined sequence of bits which is sent by the mobile station (MS) and is known at the base station controller (BSC). In FIG. 1, it is assumed that a received signal sample yk represents the kth bit of the burst, in this instance the start of the training sequence. The training sequence is utilised at the base station controller to estimate the impulse response of the channel over which the burst is sent, and, at least in one embodiment of the invention to estimate a Doppler compensation factor. The actual information which is transmitted is located in the data bits (DATA) of the burst.
As explained earlier, the environment through which a signal passes from a mobile station to a base station can vary considerably, depending, amongst other things, on the distance between the mobile station and the base station, and interference caused by buildings and other structures in the area. As a result, the signal strength and signal quality of the signal received at the base station varies widely. Moreover, for moving mobile stations, the signal received by the base station is subject to a Doppler shift which should be corrected.
FIG. 2 illustrates a circuit 1 suitable for implementing a Doppler compensation in a GSM system. It should be understood that the various blocks in FIG. 2, although illustrated as separate interconnected entities, do not necessarily represent separate physical entities, but are intended to represent diagrammatically the various steps which are carried out. The blocks could be implemented as circuits or a suitably programmed microprocessor may effect each of the functions which is individually assigned to the blocks.
An antenna 20 receives signals 11 from the mobile stations MS. The antenna 20 is connected to RF circuitry 22. This circuitry 22 operates on the received burst to downshift the frequency to the baseband frequency and to sample the burst to provide from the analogue signal digital sampled values yi where i is the sample index. The RF circuitry 22 outputs the sampled values y0 . . . yn for each burst together with the sampling times t0 . . . tn, typically at the expected bit rate of the transmitted signal. The output of RF circuitry 22 is supplied along line 24 to a channel impulse response (C.I.R.) block 10, to a variance and error calculator 16 to filtering and equalisation circuitry 12, to an Estim β block 36 for estimating a Doppler correction factor and to transforming circuitry 40 to enable the application of the Doppler correction factor to the burst.
A memory 32 holds the training sequence x which is the predetermined sequence of bits which is sent by the mobile station MS as a training sequence and received at the base station and converted into samples yTRS=Yk→yk+25. The reference training sequence x is supplied to a reference generator 14 and to the channel impulse response (C.I.R.) block 10. The reference generator 14 also receives the estimated channel impulse response h from the channel impulse response block 10.
The C.I.R. block 10 receives the burst, including the received training sequence yTRS and calculates an estimated channel impulse response h for example by calculating the cross correlation between the received training sequence yTRS and the known training sequence x according to equation 1. There are other types of estimation methods which could be used.

h=xcorr(x,yTRS)  (equation 1)

It will be appreciated that, prior to effecting the cross correlation, the known training sequence x, which is stored in digital form, is i,q modulated similarly to the manner in which the training sequence has been modulated at the MS for transmission, according to the GSM standard. The cross correlation is done in a known manner to produce a channel impulse response in the form of five tap values (h(j)j=0to4).
As is known, the estimated impulse response h is used to calculate the expected estimate of the data in the received burst, as though the data has been subject to the same average noise.
The C.I.R. block also generates timing advance information τ, which is used to determine where in the allocated time slot the received burst is located.
For each burst, the estimated channel impulse response h for that burst is calculated by the CIR block 10 and is supplied to filtering/equalising circuitry which allows the data, DATA(r), in that burst to be recovered. As is known, the filtering/equalising circuit 12 receives the channel impulse response h and timing information τ for the received burst to allow the signal to be demodulated, filtered and decoded, to recover the data in a known manner.
The reference generator 14 produces a reference vector, z, which is calculated using the convolution of the impulse response and the known training sequence. The reference generator 14 performs the following calculation:

z=h*x  (equation 2)

where x represents the known symbol values depending o the used modulation.

zk represents the kth sample of the vector z and z denotes a diagonal matrix of the vector samples zk, that is, z=xh, where x is the diagonal matrix of the known training sequence symbols.
The reference vector z is supplied from the reference generator to the variance and error calculator 16. As described above, the variance calculator also receives the samples yi, including the received training sequence yTRS. The variance calculator calculates a variance var (σ2) according to the following equation: 



  
    
      
        var
        =
        
          
            (
            
              
                ∑
                
                  i
                  =
                  4
                
                25
              
              ⁢
              
                
              
              ⁢
              
                (
                
                  
                    
                      
                      
                        
                          y
                          i
                        
                        -
                        
                          z
                          i
                        
                      
                      
                    
                    ^
                  
                  ⁢
                  2
                
                )
              
            
            )
          
          ref_length
        
      
    
    
      
        (
        
          equation
          ⁢
          
            
          
          ⁢
          4
        
        )
      
    
  




The term ref_length is a constant representing the length of the reference vector, z. This is calculated by multiplying the number of samples (22) by the bit separation.
In equation 4, the values of yi are the sampled values of the received training sequence for the burst (yk→yk+25).
The variance and error calculator also generates an error vector z−y (i.e. error values zi−yi for each sample).
The error vector z−y and the variance σ2 are supplied to the Estim β block 36. The Estim β block 36 also receives the signal samples and times yi,ti from the RF circuitry 22. The Estim β block can be implemented as a processor executing a program or by other suitable means. It operates to generate a Doppler compensation factor β which is a complex number having real and imaginary parts. Thus, β may be represented as:

α+jφt

where α represents amplitude variations due to fading and φ is the Doppler angle. The Estim β block 36 also includes a memory for holding values required to generate the Doppler correction factor β, including Cβ, E(β) and E(z−y). These terms are explained later with reference to FIG. 3.

The Doppler correction factor β together with the signal samples yi and times ti for each burst are supplied to the transforming circuitry 40 to implement Doppler correction according to the following equation:

yn-compensated=yn(1−βtn).

Another implementation of the transforming circuitry 40 is to separate the amplitude and phase components into separate correction steps. The phase can be corrected by multiplying the samples with e−j*imag(β)tn and the amplitude can be corrected in a separate step:

yn-phase-compensated=yn*e−j*imag(β)tn 

yn-compensated=y-phase-compensated(1−real(β)tn)  (equation 5)

According to the above, imag(β)=φ, and real (β)=α. Thus, the received signal is either amplified or alternated during the burst depending whether real (β) is negative or positive.
This generates a set of compensated signal samples ycomp which can be fed to the filtering/equalising circuitry 12 to generate refined values for the data of the burst.
As an alternative to the above, in which the training sequence x is used to supply known symbols as a reference, bits estimated in an equalisation circuit 30 can be used. The equalisation circuit 30, for example of Viterbi equaliser, receives the filtered, demodulated and equalised signal DATA (r) from the filtering and equalisation circuitry 12. The equalisation circuit 30 operates on a part of the data sequence data of the burst (that part having been derived from Estim.block in FIG. 1) to estimate output bits which were sent from the mobile station. This output is referred to herein as estim_bits. The equalisation circuit 30 operates to make decisions of the bits as in known mobile communication systems and thus it will not be described further herein. These estimated bits can be used in place of the training sequence to supply known values for calculating the reference vector z. The estim_bits are supplied to a reference circuit 34 with the channel impulse response h which generates an error vector z′−y, where z′=estim_bits*h.
The theory underlying the generation of the Doppler correction factor β will now be outlined.
The problem of (pure) Doppler frequency estimation can be written as:

    
    
        Xh=Yr+w, where r is a rotation vector,
        Y is a diagonal sample matrix, and
        w is noise. 



  
    Y
    =
    
      (
      
        
          
            
              y
              0
            
          
          
            0
          
          
            ...
          
          
            0
          
        
        
          
            0
          
          
            
              y
              1
            
          
          
            ...
          
          
            0
          
        
        
          
            ...
          
          
            ...
          
          
            ...
          
          
            ...
          
        
        
          
            0
          
          
            ...
          
          
            ...
          
          
            
              y
              
                n
                -
                1
              
            
          
        
      
      )
    
  
  ,
  
    
  
  ⁢
  
    r
    =
    
      (
      
        
          
            
              e
              
                jφ
                ⁢
                
                  
                
                ⁢
                
                  t
                  0
                
              
            
          
        
        
          
            
              e
              
                jφ
                ⁢
                
                  
                
                ⁢
                
                  t
                  1
                
              
            
          
        
        
          
            
              
            
          
        
        
          
            
              e
              
                jφ
                ⁢
                
                  
                
                ⁢
                
                  t
                  
                    n
                    -
                    1
                  
                
              
            
          
        
      
      )
    
  




    
    


Xh corresponds to convolution between known symbols (diagonal matrix x of training sequence symbols) and impulse response h.
So, in the Doppler frequency estimation, the Doppler angle φ is to be estimated. This problem is nonlinear and therefore a bit tricky to be solved, particularly for implementation in real time. A linearisation step can be performed assuming ejφt0≈1+jφt0. Due to fading the required Doppler frequency correction cannot be assumed to be constant in amplitude.
If the term jφt0 has also a real component, the amplitude variations can roughly estimated. Thus, the term jφt0, is replaced by a more general assumption 1+βt0, where β is complex (α+jφt).
The linear problem can be written as (for simplification z=Xh=[z0z1 . . . zn-1]T).

zi=yi(1+βti)+wi,

which can be reformatted in matrix notation as

z−y=pβ+w  (equation 6)

where p=[y0t0y1t1 . . . yn-1tn-1]T and β is to be estimated.

A solution to equation 6 can be found by using an LMMSE estimator

β=E(β)+Cβ(z-y)C(z-y)(z-y)−1(z−y−E(z−y))

where E (β) is an expected value for β, Cβ(z-y), C(z-y)(z-y) are covariance matrixes between the two elements, viz E(β(z−y)H) and E((z−y)(z−y)H and E(z−y) is the expected error in the received burst.

In this phase it can be assumed that the noise is white gaussian noise having a variance of δ2 and after some manipulation

β=E(β)+pH(z−y−E(z−y))/(δ2/Cβ+pHp), where  (equation 7)

Cβ=E((β−E(β))(β−E(β))H) (equation 8)

pH is the complex conjugate transpose matrix of p.

Equation 7 is used in the Estim β block 36 to generate β. The Estim β block is illustrated schematically in FIG. 3. In practice, it can be implemented as software executed by a processor with a memory for holding the required data. An Estimate_β block 50 operates on the data (Yi, ti) received in each time slots to generate a value for β which is used by the transforming circuitry 40. An Acc β block 52 accumulates and averages β values over preceding time slots to generate E(β) The Acc B function can be implemented by an adaptive filter. An Acc (z−y) block 54 generates an expected error E(z−y) To do this, it can use values for z−y from preceding time slots, or E(β) from the Acc β block 52 to estimate a frequency error. A Gen Cβ block 56 produces a value for Cβ. A number of possibilities exist for the parameters of equation 7.
If E(β) is set to zero, and δ2/Cβ is also set to zero, equation 7 resolves to a normal linear regression.
As mentioned above, it is intended that β will be generated for each time slot. The expected value E(β) can be generated by calculating the average of estimated β values from previous time slots. Thus, these values can be retained as they are calculated for each time slot, and used to produce an average value held in the E(β) block in the Estim β block 36.
Another simplification is to assume that the real part of E(β) is zero. This is a reasonable assumption because, in typical fading channel situations, no long time amplitude is expected. Thus, it is adequate to perform long time averages only in respect of error components of frequency. Also, the real part could be assumed to be zero if only phase variations are to be corrected.
It is possible to avoid having to calculate the expected error E(z−y) by derotating the received samples yi by e−j*imag(β)t. For this purpose, β can be an earlier estimated value of β from a previous time slot. In this case, equation 7 changes to

β=E(β)+pH(z−y)/(δ2/Cβ+pHp)  (equation 9)

Thus, this requires a preprocessing step (see 50a in FIG. 3) in which the sample values yi are derotated by e−j*imag(β)t prior to forming the vector p.
The value for C(β) can be generated by the GEN Cβ block using different approaches. It can be a constant value. I can be estimated using the information of previous time slots, using for example equation 8. It can be made a function of the expected value of β and/or the noise variance δ2. It can be estimated using an adaptive filter, or any combination of the preceding.
The technique is particularly suitable for short delay spread channels and pure frequency errors.

## Claims

1. A system of generating a Doppler correction factor for compensating for Doppler shift in a signal transmitted between a mobile station and a base station in a mobile communication system, the system comprising:
a channel impulse response determination circuit for determining a channel impulse response for the channel on which the signal is received;
reference circuitry for generating a reference vector from a set of known symbols and the channel impulse response;
means for generating an error vector from the reference vector and received samples of the signal;
means for determining noise variance of the incoming signal; and
an estimator for generating a Doppler correction factor having a real part representing amplitude correction and an imaginary part representing phase correction, the estimator utilizing the noise variance, the error vector, the samples of the received signal and the sampling times.

2. A system according to claim 1, wherein the Doppler correction factor β is generated according to the following equation;


β=E(β)+pII(z−y−E(z−y))/(δ2/Cβ+pHp)

wherein E(β) is an expected value of β,
pII is a complex conjugate transpose matrix of p, where p is the vector (yi, ti)T,
z−y is the error vector,
E(z−y) is the expected error in the received samples,
δ2 is the noise variance, and
Cβ is a constant.

3. A system according to claim 1, wherein E(β) and δ2/Cβ are set to zero.

4. A system according to claims 1, which comprises means for applying a Doppler correction to the received signal samples using the Doppler correction factor β.

5. A system according to claim 1 wherein the signal comprises a transmission burst in a time slot in a TDMA mobile communication system, and wherein a new Doppler correction factor β is generated for each time slot.

6. A system according to claim 5, which comprises means for estimating E(β) as an average of generated values for β from previous time slots.

7. A system according to claim 5 wherein the real part of E(β) is set to be zero.

8. A system according to claim 1, which comprises means for derotating the received signal samples by e−j+imag(F(β))t, where E(β) is an expected value for P the derotated received signal samples then being used to generate the Doppler correction factor β in the present time slot according to the following equation:


β−E(β)+pH(z−y)/(δ2/Cβ+pHp).

9. A method for compensating said Doppler shift in a signal transmitted between a mobile station and a base station in a mobile communication system, the method comprising:
determining a channel impulse response for the channel on which the signal is received;
generating a reference vector from a set of known symbols in the channel impulse response;
generating an error vector from the reference vector and received samples of the signals;
determining noise variance of the incoming signals;
estimating a Doppler correction factor having a real part representing amplitude correction and an imaginary part representing phase correction, the estimating step using the noise variance the vector, the samples of the received signals and the sampling times; and
applying the Doppler correction factor to the received signal samples thereby to the compensate for Doppler shift.

10. A method to claim 9, wherein the signal comprises a sequence of transmission bursts in a TDMA mobile communication system, and the Doppler correction factor is generated for each transmission burst.

11. A method according to claim 10, wherein the Doppler correction factor β is generated according t the following equation:


β=E(β)+pII(z−y−E(z−y)/(δ2/Cβ+pIIp)

wherein E(β) is an expected value of β,
pH is a complex conjugate transpose matrix of p, where p is the vector (yi, ti)T,
z−y is the error vector,
E(z−y) is the expected error in the received samples,
δ2 is the noise variance, and
Cβ is a constant.