# Patent

## Title
Equalisation processing

## Abstract

A method and apparatus for processing a signal in a wireless communication system. The method comprises: receiving a signal at a receiver over a wireless channel; sampling the signal to produce a plurality of signal samples; and supplying the samples to an equaliser implemented in software running on a processor of the receiver, the equaliser being configured to process the samples using at least one equaliser time period having a nominal length. The method further comprises dynamically determining one or more characteristics of the channel; in dependence on the determined channel characteristics, dynamically selecting between a first operational state of the equaliser in which the nominal length is used and a second operational state of the equaliser in which an alternative length is used in place of the nominal length; and processing the samples in the equaliser using the determined equaliser time period length.

## Background
CROSS REFERENCE TO RELATED APPLICATION
This application is the National Stage of, and therefore claims the benefit of International Application No. PCT/EP2009/053603 filed on Mar. 26, 2009, entitled “EQUILISATION PROCESSING,” which was published in English under International Publication Number WO 2009/121795 on Oct. 8, 2009, and has priority based on GB 0806064.2 filed on Apr. 3, 2008. Each of the above applications is commonly assigned with this National Stage application and is incorporated herein by reference in their entirety.
FIELD OF THE INVENTION
The present invention relates to equalisation processing of a signal in a receiver of a wireless communication system.
BACKGROUND
In a Code-Division Multiple Access (CDMA) cellular communication system, one of the main impairments to system performance is the presence of multipath propagation. Multipath can cause deep fading of the signal envelope, and, intersymbol interference (ISI) in the case for which the multipath delay spread is significant compared with the transmission interval (for example, the chip interval in a CDMA communication system). Additionally, in the downlink, multipath propagation destroys the orthogonality between the desired signal to the mobile in question and the signals to other users on the base station serving this mobile. The resulting interference is referred to as Multiple Access Interference (MAI).
One approach to mitigating the effects of ISI and MAI is to use an equaliser at the mobile receiver. This can be used to some extent to “undo” the effects of multipath propagation on the transmitted signal, and hence go some way to restoring the orthogonality of same-cell signals prior to despreading.
In recent years there has been increasing interest in the use of “software modem” techniques in the field of cellular mobile telecommunications. The principle behind the software modem approach is to move a significant portion of the signal processing functionality from dedicated hardware, as it would have been implemented previously, into software running on a processor of the mobile terminal or other transmitter or receiver. One such function is the equalisation processing.
However, a price in terms of processing complexity must be paid for the use of a software equaliser, both in the calculation of the equaliser coefficients and in the actual equalisation of the received signal, e.g. filtering in the case of linear equalisation. It is therefore desirable to keep the equaliser design constrained to some extent, to avoid excess complexity and its attendant problems with processing capacity and power consumption.
It is an aim of the present invention to find an efficient way of constraining the processing cost of equalisation without unduly reducing performance.
SUMMARY OF THE INVENTION
According to one aspect of the present invention, there is provided a method of processing a signal in a wireless communication system, the method comprising: receiving a signal at a receiver over a wireless channel; sampling the signal to produce a plurality of signal samples; supplying the samples to an equaliser implemented in software running on a processor of the receiver, the equaliser being configured to process the samples using at least one equaliser time period having a nominal length; dynamically determining one or more characteristics of said channel; in dependence on the determined channel characteristics, dynamically selecting between a first operational state of the equaliser in which the nominal length is used and a second operational state of the equaliser in which an alternative length is used in place of said nominal length; and processing the samples in said equaliser using the determined equaliser time period length.
Thus the present invention is able to avoid unnecessary processing cost by dynamically deciding on a time period of the equaliser as appropriate to channel conditions. The adjustment is performed dynamically, i.e. “on the fly” during ongoing reception by the receiver, meaning it can adapt to channel conditions as required.
The problem of the processing complexity of the equaliser is addressed in UK patent application number GB 0721424.0 (corresponding to U.S. application Ser. No. 12/016,640), titled “radio receiver in a wireless communication system”, in the name of Icera. Amongst other embodiments, that application relates to a length-varying algorithm for continuously varying equaliser parameters such as the equaliser length or the estimated channel length, based on an estimation of channel energy outside a predefined window. Although this reduces the processing cost of the equalisation, the length-varying algorithm is complex to implement and parameterise, and will itself incur some degree of processing burden.
However, in the present case, the inventors have found that there is not necessarily any need to always try to calculate a continuously variable relationship between the equaliser time period and channel characteristics, e.g. between channel estimate length or equaliser length and out-of-window energy measurement. Instead, an adequate performance of the equaliser can still be achieved by making a “yes or no” decision as to whether an alternative (e.g. shorter) length can be used or would be preferred at all. The equaliser uses the nominal length in the equalisation unless the criterion for using the alternative length is met. This is more efficient to implement and parameterise than the algorithm of GB 0721424.0, and may also allow for a reduction in the processing cost of the length-varying algorithm itself.
In preferred embodiments, one of said at least one equaliser time periods may be an estimated channel length, corresponding to a range of times beyond which a channel impulse response of said wireless channel is estimated to be negligible; and said processing by the equaliser may be performed using estimates of the channel impulse response only within said estimated channel length. And/or one of said at least one equaliser time periods may be an equalisation length, corresponding to a range of times for which equaliser coefficients are to be estimated; and said processing by the equaliser may be performed, using estimates of those coefficients, over the samples having times only within said equalisation length.
The method may comprise estimating a delay profile of said channel, the delay profile comprising an estimation of received signal energy over a delay period; and said determination of a characteristic may comprise determining the signal energy falling within a predetermined delay window within said delay interval.
The method may comprises estimating a delay profile of said channel, the delay profile comprising an estimation of received signal energy over a delay period; and said determination of a characteristic may comprise determining the ratio of the energy of a strongest component of said delay profile to the sum of the energy of the remaining components.
Said sampling may comprise sampling the signal at an integer over-sampling ratio of M times per binary element of the signal, so as to produce samples m=1 to M for each binary element, each value of m corresponding to a respective subchannel; the method may comprise determining a subchannel to use in the decision; and said determination of a characteristic and making of a decision may be performed using the samples of the selected subchannel.
Said sampling may comprise sampling the signal at an integer over-sampling ratio of M times per binary element of the signal, so as to produce samples m=1 to M for each binary element, each value of m corresponding to a respective subchannel; the method may comprises summing the energy of each subchannel to produce a plurality of summed samples; and said determination of a characteristic and making of a decision may be performed using the summed samples.
The received signal may be a CDMA signal, and each binary element of the signal is a chip.
The equalisation may involve a transform from the time domain to the frequency domain.
The alternative length may be shorter than the nominal length.
According to another aspect of the present invention, there is provided a receiver comprising: an antenna for receiving a signal over a wireless channel; sampling circuitry coupled to said antenna and arranged to take a plurality of samples of said signal, each sample corresponding to a respective time; and a processor coupled to said sampling circuitry and arranged to receive said samples, the processor being programmed to implement an equaliser for processing the samples using at least one equaliser time period having a nominal length; wherein the processor is further programmed to: dynamically estimate one or more characteristics of said channel; in dependence on the determined channel characteristics, dynamically select between a first operational state of the equaliser in which the nominal length is used and a second operational state of the equaliser in which an alternative length is used in place of said nominal length; and process the samples in said equaliser using the determined equaliser time period length.
According to another aspect of the present invention, there is provided a computer program product for processing a signal in a wireless communication system, the program comprising code which when executed by a processor performs the steps of: inputting a plurality of signal samples of a signal received over a wireless channel; supplying the samples to an equaliser implemented in the code, the equaliser being configured to process the samples using at least one equaliser time period having a nominal length; dynamically determining one or more characteristics of said channel; in dependence on the determined channel characteristics, dynamically selecting between a first operational state of the equaliser in which the nominal length is used and a second operational state of the equaliser in which an alternative length is used in place of said nominal length; and processing the samples in said equaliser using the determined equaliser time period length.
According to another aspect of the present invention, there is provided a mobile terminal comprising: an antenna for receiving a signal over a wireless channel; sampling circuitry coupled to said antenna and arranged to take a plurality of samples of said signal, each sample corresponding to a respective time; and a processor coupled to said sampling circuitry and arranged to receive said samples, the processor being programmed to implement an equaliser for processing the samples using at least one equaliser time period having a nominal length; wherein the processor is further programmed to: dynamically estimate one or more characteristics of said channel; in dependence on the determined channel characteristics, dynamically select between a first operational state of the equaliser in which the nominal length is used and a second operational state of the equaliser in which an alternative length is used in place of said nominal length; and process the samples in said equaliser using the determined equaliser time period length.



BRIEF DESCRIPTION OF THE DRAWINGS
For a better understanding of the present invention and to show how it may be carried into effect, reference will now be made by way of example to the accompanying drawings in which:
FIG. 1 is a schematic block diagram of a telecommunications system,
FIG. 2 is a schematic illustration of a channel impulse response,
FIG. 3 is a schematic representation of a sequence of signal samples,
FIG. 4 is a schematic block diagram of a part of a receiver,
FIG. 5 is a schematic illustration of a multipath power delay profile,
FIG. 6 is a schematic illustration of a dynamic decision process,
FIG. 7 is a schematic illustration of a multipath power delay profile, and
FIG. 8 is a schematic illustration of a multipath power delay profile.



DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
FIG. 1 is a schematic block diagram of part of a wireless cellular communications system, comprising a mobile terminal 1 and a base station 3.
The mobile terminal 1 comprises transceiver circuitry for transmitting signals to the base station 3 over a wireless channel (the uplink) and receiving signals from the base station 3 over a wireless channel (the downlink). Such circuitry can be realised in a number of different ways, but in the example of FIG. 1 it comprises one or more antennas 14, an RF interface (or “front-end”) 12 comprising a series of radio frequency (RF) and intermediate frequency (IF) stages, a data transfer engine 10, a data memory 6, an instruction memory 4 and a processor 2. The one or more antennas 14 are coupled to the RF interface 12, which is coupled to the data transfer engine 10. The data transfer engine 10 is coupled to the data memory 6 and instruction memory 4, which are both coupled to the processor 2.
The front-end 12 is arranged to receive and transmit wireless signals (Rx and Tx) via the one or more antennas 14. The front-end 12 includes components for processing the received analogue radio signals Rx and providing digital signal samples. This can be achieved in different ways which are known in the art.
The samples are supplied to a data transfer engine 10 which communicates with a processor 2, an instruction memory 4 and a data memory 6. The processor 2 is responsible for processing the samples. The processor 2 can execute a number of different functions which are held in the instruction memory 4 in the form of code sequences.
The above transceiver of the mobile terminal 1 may be referred to as a software modem, or soft modem. Preferably, the software modem is a soft baseband modem. That is, on the receive side, all the radio functionality from receiving RF signals from the antenna 14 up to and including mixing down to baseband is implemented in dedicated hardware in the front-end 12. Similarly, on the transmit side, all the functionality from mixing up from baseband to outputting RF signals to the antenna 14 is implemented in dedicated hardware in the front-end 12. However, all functionality in the baseband domain is implemented in software stored on the memory 4 and executed by the processor 2. While this is a preferred implementation, solutions where the RF/IF stage is not implemented by dedicated hardware are also envisaged.
In the preferred implementation, the dedicated hardware in the receive part of the front-end 12 may comprise a low noise amplifier, (LNA), mixers for downconversion of the received RF signals to IF and for downconversion from IF to baseband, RF and IF filter stages, and an analogue to digital conversion (ADC) stage. An ADC is provided on each of in-phase and quadrature baseband branches for each of a plurality of receive diversity branches. The dedicated hardware in the transmit part of the front-end 12 may comprise a digital to analogue conversion (DAC) stage, mixers for upconversion of the baseband signals to IF and for upconversion from IF to RF, RF and IF filter stages, and a power amplifier (PA). Details of the required hardware for performing such basic radio functions will be known to a person skilled in the art.
The software running on the processor 2 may then handle functions such as: modulation and demodulation, interleaving and deinterleaving, rate matching and dematching, channel estimation, equalisation, rake processing, bit log-likelihood ratio (LLR) calculation, transmit diversity processing, receive diversity processing, multiple transmit and receive antenna processing (Multiple-Input Multiple-Output, or MIMO processing), voice codecs, link adaptation through power control or adaptive modulation and coding, and cell measurements. Particularly in the present invention, it handles the equalisation.
In a preferred embodiment, the data transfer engine 10, data memory 6, instruction memory 4, processor 2 and at least a portion of the front-end 12 are all implemented on the same chip. Preferably the chip used is made by Icera and sold under the trade name Livanto®. Such a chip has a specialised processor platform described for example in WO2006/117562.
As will be familiar to a person skilled in the art, if a theoretical instantaneous impulse was transmitted from the transmitter, then due to the effects of the channel the received signal r would be spread out over time. The received signal corresponding to this theoretical impulse is referred to as the impulse response h(t) of the channel. This is illustrated schematically in FIG. 2.
For a real, non-instantaneous signal x(t), the signal r(t) received at some time t will be the convolution of the transmitted signal with the channel impulse response.

r(t)=∫h(τ)x(t−τ)dτ

It is the task of the equaliser to try to undo the effect of this “spreading out” of the signal over time.
The above has been described theoretically by considering a continuous integral, but of course a digital receiver will work by taking discrete samples of the received signal. Consider the downlink transmission of a synchronous CDMA system. As illustrated schematically in FIG. 3, the received CDMA signal comprises a plurality of binary chips each of lasting for a period Tc (the chip period). The signal may be over-sampled at an integer ratio M relative to the chip period, such that the receiver takes a sample once every Tc/M (the sampling period), i.e. at a rate of M/Tc. Or if the signal is not over-sampled, M effectively equals one such that the receiver takes a sample once per chip.
Time can then be measured in terms of a chip index which is the integer number of chip periods offset from some reference time, i.e. such that for a chip index k then t=kTc. Time can also be measured in terms of a sampling index which is the integer number of sampling periods offset from the reference time, i.e. such that for a chip index i then t=iTc/M.
The above integral can then be approximated as a finite sum of discrete samples, giving the received discrete-time signal model:




  
    
      
        
          r
          i
        
        =
        
          
            
              ∑
              n
            
            ⁢
            
              
                x
                n
              
              ⁢
              
                h
                
                  i
                  -
                  nM
                
              
            
          
          +
          
            n
            i
          
        
      
    
    
      
        (
        1
        )
      
    
  




where ri=r(iTc/M) are the received signal samples taken at rate M/Tc at sampling indices i, with Tc denoting the chip interval and M the over-sampling ratio; hl=h(lTc/M) is the M/Tc rate sample of the complex equivalent channel impulse response at sampling index l, which is assumed stationary for the time interval of interest; xn represents the complex multiuser transmitted chip sequence, and ni=n(iTc/M) is a complex additive Gaussian process, which models thermal noise and intercell interference.

In the model of equation (1), the channel impulse response includes the effect of the transmit and receive equivalent filters, which in the case of a Wideband-CDMA receiver are assumed root raised cosine filters with roll-off 0.22. It is also assumed that the channel impulse response samples hl are appreciably different from zero only for l=0, . . . , LM−1 and that the channel is normalized so that its average energy is equal to 1. L is the modelled channel length measured in an integer number of chips.
The noise samples ni are assumed to derive from an additive white Gaussian intercell interference-plus-noise process νi=νi(iTc/M) with zero mean and variance σn2, filtered by a low-pass filter with impulse response gl=g(lTc/M) representing the equivalent receive filter, which in the case of a Wideband-CDMA receiver is a root raised cosine filter with roll-off 0.22.
The oversampled sequence ri can be decomposed into M chip rate subsequences relative to M distinct subchannels. In vector notation, we define for the k-th chip interval:

rk(m)=[rkM+mr(k+1)M+m . . . r(k+N-1)M+m]T, m=0, . . . , M−1  (2)

where (•)T indicates vector transpose and m is an integer. From equations (1) and (2), it can also be written:

rk(m)=H(m)xk+nk(m), m=0, . . . , M−1  (3)

with:

xk−[xk−L+1 . . . xk . . . xk+N-1]T,

and:





  
    
      
        
          H
          
            (
            m
            )
          
        
        =
        
          
            [
            
              
                
                  
                    h
                    
                      L
                      -
                      1
                    
                    
                      (
                      m
                      )
                    
                  
                
                
                  
                    h
                    
                      L
                      -
                      2
                    
                    
                      (
                      m
                      )
                    
                  
                
                
                  ...
                
                
                  
                    h
                    0
                    
                      (
                      m
                      )
                    
                  
                
                
                  0
                
                
                  ...
                
                
                  0
                
              
              
                
                  0
                
                
                  
                    h
                    
                      L
                      -
                      1
                    
                    
                      (
                      m
                      )
                    
                  
                
                
                  ...
                
                
                  
                    h
                    1
                    
                      (
                      m
                      )
                    
                  
                
                
                  
                    h
                    0
                    
                      (
                      m
                      )
                    
                  
                
                
                  ...
                
                
                  0
                
              
              
                
                  ⋮
                
                
                  ⋮
                
                
                  ⋱
                
                
                  ⋮
                
                
                  ⋮
                
                
                  ⋱
                
                
                  ⋮
                
              
              
                
                  0
                
                
                  0
                
                
                  ...
                
                
                  0
                
                
                  0
                
                
                  ...
                
                
                  
                    h
                    0
                    
                      (
                      m
                      )
                    
                  
                
              
            
            ]
          
          T
        
      
    
    
      
        (
        4
        )
      
    
  




where:

hl(m)=hlM+m 

and:

nk(m)=[nkM+mn(k+1)M+m . . . n(k+N-1)M+m]T.

The equaliser attempts to recover the transmitted signal x from the received symbols r which have been corrupted by noise and multipath according to equation (3). It does this by filtering r with a a set of coefficients producing an output denoted by the symbols yk. Denoting the N-dimensional vector of equaliser coefficients relative to the mth subchannel by:

wk(m)=[wkM+mw(k+1)M+m . . . w(k+N-1)M+m]T 

Then the equaliser output at chip index k can be written as:




  
    
      
        
          y
          k
        
        =
        
          
            y
            ⁡
            
              (
              
                kT
                c
              
              )
            
          
          =
          
            
              
                ∑
                
                  l
                  =
                  0
                
                
                  MN
                  -
                  1
                
              
              ⁢
              
                
                  w
                  l
                
                ⁢
                
                  r
                  
                    k
                    -
                    l
                  
                
              
            
            =
            
              
                
                  w
                  k
                  
                    
                      (
                      0
                      )
                    
                    ⁢
                    T
                  
                
                ⁢
                
                  r
                  k
                  
                    (
                    0
                    )
                  
                
              
              +
              ...
              +
              
                
                  w
                  k
                  
                    
                      (
                      
                        M
                        -
                        1
                      
                      )
                    
                    ⁢
                    T
                  
                
                ⁢
                
                  r
                  k
                  
                    (
                    
                      M
                      -
                      1
                    
                    )
                  
                
              
            
          
        
      
    
    
      
        (
        5
        )
      
    
  




N is the equaliser length, i.e. the integer number of chips over which the equalisation is performed. Note that in an oversampled system with oversampling factor M, an equaliser time span of N chips corresponds to MN samples.
So defining the MN×1 vectors as:

wk=[wk(0)T . . . wk(M-1)T]T,

rk=[rk(0)T . . . rk(M-1)T]T, and

nk=[nk(0)T . . . nk(M-1)T]T,

and introducing the MN×(N+L−1) channel matrix:

H=[H(0)T . . . H(M-1)T]T.

then with this notation, it can be written:

rk=Hxk+nk  (6)

and the output of the chip-level channel equaliser results:

yk=wkTrk  (7)

This signal is a composite chip rate sequence, which is then further processed to separately descramble and despread the data associated to the different downlink codes.
The above equaliser model corresponds to a Baud-spaced linear equaliser for M=1, and to a fractionally-spaced linear equaliser with Tc/M spaced coefficients for M>1. Note that the model also formalizes the operation of a receive diversity equaliser, in the case where all or some of the M chip-rate subchannels correspond to the signal samples obtained from multiple receive antennas.
From equation (7), once the equaliser has computed the weighting coefficients then it can obtain the output y. A common strategy for the computation of the MN equaliser coefficients of the vector wk is based on the minimization of the Mean-Square Error (MSE) at the equaliser output.
In principle, this can be achieved by block processing or by means of an adaptive algorithm. Such adaptive algorithms are discussed in: M. Heikkila, P. Komulainen and J. Lilleberg, “Interference Suppression in CDMA Downlink through Adaptive Channel Equalization”, in Proc. IEEE Vehicular Technology Conference, vol. 2, Amsterdam, The Netherlands, September 1999, pp. 978-982; and K. Hooli, M. Latva-aho and M. Juntti, “Performance Evaluation of Adaptive Chip-Level Channel Equalizers in WCDMA Downlink”, in Proc. IEEE International Conference on Communications, vol. 6, Helsinki, Finland, June 2001, pp. 1974-1979.
In the case of a synchronous CDMA receiver, the application of adaptive processing based for example on a Normalized Least Mean-Square (NLMS) updating rule of the equaliser coefficients suffers from the non-orthogonality of the downlink codes in the presence of multipath. This results in a relatively large error signal, which requires a small adaptation step size to provide sufficient averaging, and hence slows down convergence.
In the case of a block linear equaliser, the optimum vector wk(opt) according to the Minimum Mean-Square Error (MMSE) criterion is obtained as:




  
    
      
        
          w
          
            k
            ⁡
            
              (
              opt
              )
            
          
        
        =
        
          arg
          ⁢
          
            
          
          ⁢
          
            
              min
              
                w
                k
              
            
            ⁢
            
              E
              ⁢
              
                {
                
                  
                    
                    
                      
                        
                          w
                          k
                          T
                        
                        ⁢
                        
                          r
                          k
                        
                      
                      -
                      
                        x
                        
                          k
                          +
                          D
                        
                      
                    
                    
                  
                  2
                
                }
              
            
          
        
      
    
    
      
        (
        8
        )
      
    
  




where E{•} denotes statistical expectation and D is the overall delay at the equaliser output. From equation (8) straightforward calculation gives:





  
    
      
        
          w
          
            k
            ⁡
            
              (
              opt
              )
            
          
        
        =
        
          
            E
            ⁢
            
              
                {
                
                  
                    r
                    k
                    *
                  
                  ⁢
                  
                    r
                    k
                    T
                  
                
                }
              
              
                -
                1
              
            
            ⁢
            E
            ⁢
            
              {
              
                
                  r
                  k
                  *
                
                ⁢
                
                  x
                  
                    k
                    +
                    D
                  
                
              
              }
            
          
          =
          
            
              
                (
                
                  
                    
                      H
                      *
                    
                    ⁢
                    
                      H
                      T
                    
                  
                  +
                  
                    
                      1
                      
                        σ
                        x
                        2
                      
                    
                    ⁢
                    
                      C
                      nn
                    
                  
                
                )
              
              
                -
                1
              
            
            ⁢
            
              h
              
                k
                +
                D
              
              *
            
          
        
      
    
    
      
        (
        9
        )
      
    
  




where (•)* denotes complex conjugation, σx2=E{|xk|2} is the variance of the transmitted composite chip sequence, Cnn=E{nk*nkT} is the noise-plus-interference covariance matrix, and hk+D indicates the MN×1 column of the channel matrix H corresponding to the multiuser chip xk+D.

The calculation of the optimum MMSE equaliser coefficients requires the availability of an estimate of the channel matrix H and of the noise covariance matrix Cnn. In a WCDMA receiver, channel estimation can be performed based on the downlink common pilot symbols (see later). For the calculation of the noise covariance matrix, denoting by G the receive filter matrix we have:

Cnn=σn2G*GT  (10)

Since the receive filter is part of the receiver design, it is possible to pre-compute and store the matrix G*GT to be used in (equation 10). Note that, if the receive filter frequency response is the exact square root of a Nyquist filter response, then G*GT=I (the unit matrix) and from equation (10) it follows that Cnn=σn2I.
Based on equation (9), equation (10) can be rewritten as:




  
    
      
        
          w
          
            k
            ⁡
            
              (
              opt
              )
            
          
        
        =
        
          
            
              (
              
                
                  
                    H
                    *
                  
                  ⁢
                  
                    H
                    T
                  
                
                +
                
                  
                    
                      σ
                      n
                      2
                    
                    
                      σ
                      x
                      2
                    
                  
                  ⁢
                  
                    G
                    *
                  
                  ⁢
                  
                    G
                    T
                  
                
              
              )
            
            
              -
              1
            
          
          ⁢
          
            h
            
              k
              +
              D
            
            *
          
        
      
    
    
      
        (
        11
        )
      
    
  




After estimation of the channel response, the only additional parameter to be estimated in equation (11) is the ratio between the input intercell interference-plus-noise variance σn2 and the composite chip sequence variance σx2, which corresponds to the inverse of the cell geometry.
In order to avoid the calculation of the matrix inverse required by equation (11), the computation of the equaliser coefficients may be alternatively performed in the frequency domain. Denote by Wj, Hj and Nj, where j=0, . . . , Nf−1 the Discrete Fourier Transform (DFT) of the equaliser coefficients wl, the sampled equivalent channel impulse response hl and the noise autocorrelation function, respectively.
Then, for an MMSE frequency domain equaliser, one obtains the frequency domain equaliser coefficients:




  
    
      
        
          W
          j
        
        =
        
          
            
              H
              j
              *
            
            
              
                
                  
                  
                    H
                    j
                  
                  
                
                2
              
              +
              
                
                  1
                  
                    σ
                    x
                    2
                  
                
                ⁢
                
                  N
                  j
                
              
            
          
          .
        
      
    
    
      
        (
        12
        )
      
    
  




In this case, equalisation of a block of data is performed by computing the DFT of the received signal samples (equation 1), multiplying the frequency domain signal by the frequency domain equaliser coefficients Wk, and finally computing the inverse DFT of the resulting frequency domain equalised signal. The operations of DFT and inverse DFT can be efficiently implemented by means of Nf-point Fast Fourier Transform (FFT) and Inverse Fast Fourier Transform (IFFT). When combined with FFT processing and the use of a cyclic prefix, a single-carrier system with frequency domain equalisation has essentially the same performance and low complexity of an Orthogonal Frequency-Division Multiplexing (OFDM) system.
If the interference-plus-noise samples at the input of the receive filter are modelled as a white Gaussian process with zero mean and variance σn2, then denoting by Gj where j=0, . . . , Nf−1 the DFT of the sampled receive filter impulse response gl, one has:

Nj=σn2|Gj|2  (13)

and equation (12) becomes:





  
    
      
        
          W
          j
        
        =
        
          
            H
            j
            *
          
          
            
              
                
                
                  H
                  j
                
                
              
              2
            
            +
            
              
                
                  σ
                  n
                  2
                
                
                  σ
                  x
                  2
                
              
              ⁢
              
                
                  
                  
                    G
                    j
                  
                  
                
                2
              
            
          
        
      
    
    
      
        (
        14
        )
      
    
  




where |Gj|2=1 for j=0, . . . , Nf−1 if the receive filter impulse response is the exact square-root of a Nyquist filter response.

Now, as mentioned above, it would be desirable to reduce the processing cost of the equalisation. The complexity, processing requirements and power consumption of the equalisation processes are determined by three main components of the above process, namely:

    
    
        Estimation of channel coefficients h0(m), h1(m), . . . , hL-1(m) in the notation of equation (4);
        Computation of the equaliser tap vectors wk(m); and
        Filtering of the received data using the equaliser tap vectors.
    
    


In the situations where there is a dominant multipath component, the multipath propagation profile approximately corresponds to a single ray, and the other components are of negligible power compared with this component. In this case, the channel frequency response is practically non-frequency selective, or “flat”. A multipath propagation profile which fits these criteria is referred to herein as a “nearly flat fading” profile.
For a nearly flat fading profile, it is unnecessary and wasteful of processing resources to continue to estimate channel coefficients which are “far” (in delay terms), from the dominant component. Also, the estimation of channel coefficients inevitably introduces some errors due to finite precision effects, and the contribution of this imprecision is reduced when the shorter channel estimate is used. See for reference C. Luschi, M. Sandell, P. Strauch, and R. H. Yan, “Adaptive Channel Memory Truncation for TDMA Digital Mobile Radio”, in Proc. IEEE Int. Workshop on Intelligent Signal Processing and Communication Systems, Melbourne, Australia, November 1998, pp. 665-669.
Moreover, if a smaller set of channel coefficients is employed, the computation of the equaliser tap vector is generally simplified.
For a nearly flat fading profile, it may also be possible to reduce the equaliser filter length, thus achieving further complexity savings. However, the relationship between the required equaliser length and the multipath profile is complicated. In order to make a decision on whether it is possible to reduce the equaliser length with relatively low performance degradation, it may be necessary to introduce further information. This may be provided for example by the orthogonality factor β discussed below.
Thus, in addition to using the channel information to compute the MMSE coefficients, the preferred embodiments of the present invention advantageously reduce the processing cost of the equalisation by also using the channel information to make a decision on:

    
    
        a) the length of the estimated channel supplied to the equaliser coefficient computation; and/or:
        b) the length of the equaliser filter to be used.
    
    


In the case (a) of reducing the channel estimate length, this means reducing the range of times beyond which it is assumed that the channel impulse response is negligible. Referring to the exemplary working shown, that corresponds to reducing L in the above equations, e.g. see equations (3) and (4).
In the case (b) of reducing the equaliser length, this means reducing the number equaliser coefficients used in the equalisation and therefore the number of samples over which the equalisation is performed. Referring to the exemplary working shown, that corresponds to reducing N in the above equations, e.g. see equation (5).
FIG. 4 is a functional block diagram of a part of the receiver 1 including the chip-level equaliser processing, illustrating schematically the information flow in such a scheme. This part of the receiver comprises a receive filter 20, an equaliser 21, a plurality of descrambling and despreading blocks 26, a channel length selection block 28, a channel estimation block 30, an equaliser length selection block 32 and a β factor estimation block 34. The equaliser 21 comprises an equaliser filter 22 and a coefficient computation block 24. Preferably at least the equaliser 21, channel length selection block 28, channel estimation block 30, equaliser length selection block 32 and β factor estimation block 34 are functional blocks implemented in software arranged to run on the processor 2.
The output of receive filter 20 is coupled to an input of the equaliser filter 22 and an input of the channel estimation block 30. An output of the channel estimation block 30 is coupled to an input of the β factor estimation block 34, an input of the channel length selection block 28 and an input of the equaliser length selection block 32. The output of the factor estimation block 34 is also coupled to the equaliser length selection block 32. The output of the channel length selection block 30 and an output of the equaliser length selection block 32 are each coupled to an input of the coefficient computation block 24, an output of which is coupled to an input of the equaliser filter 22. The output of the equaliser filter 22 is coupled to the inputs of the respective descrambling and despreading blocks 26.
In operation, the equaliser filter 22 receives signal samples ri from the receive filter 20, receives equaliser coefficients W from the coefficient calculation block 24, uses the equaliser coefficients to process the received signal samples ri to recover chip values yk, and outputs the recovered chip values yk to the descrambling/despreading blocks 26.
The channel estimation block 30 also receives the signal samples ri from the receive filter 20 and outputs channel estimation information to the β factor estimation block 34, the channel length selection block 30 and the equaliser length selection block 32. The factor estimation block 34 uses the channel estimation information to estimate an orthogonality factor β, which it provides to the equaliser length selection block 32.
Based on the channel estimation information, the channel length selection block 28 selects a channel estimate length L for use in the equalisation and provides an indication of the selected channel length to the coefficient computation block 24. Based on the channel estimation information and the orthogonality factor β, the equaliser length estimation block selects an equaliser length N for use in the equalisation and provides an indication of the selected equaliser length to the coefficient computation block 24. The coefficient calculation block then uses the selected channel length and equalisation length to compute the equaliser coefficients W for use by the equalisation filter, for example in the manner described above. The decision as to channel estimate length L is between only two options, a shorter channel length and the “full” channel length. Similarly, the decision as to equaliser length N is between only two options, a shorter equaliser length and a “nominal” equaliser length.
An example of shortening of the estimated channel length based on channel estimation information is now discussed.
The decision on whether or not the multipath profile approximates a single ray can be made by examining the power delay profile of the estimated multipath channel. An example of this is shown schematically in FIG. 5.
Referring to FIG. 5, a short window on the delay axis can be defined, such that multipath energy falling inside the window is deemed to be sufficiently close (in delay terms) to energy that would be received in the single path case. Adopting the notation used above, the channel impulse response is denoted hl(m)=hlM+M, with l=0, . . . , L−1 and m=0, . . . , M−1. As a first example, attention is restricted to the single subchannel case, M=1, i.e. no fractionally spaced or receive diversity operation.
Defining a temporal window comprising the first P chip delays of the estimated channel impulse response (e.g. P=2 in FIG. 5), the channel energies inside the window (Ein) and outside the window (Eout) are given by:




  
    
      
        
          
            
              E
              in
            
            =
            
              
                ∑
                
                  l
                  =
                  0
                
                
                  P
                  -
                  1
                
              
              ⁢
              
                
                  
                  
                    h
                    l
                    
                      (
                      0
                      )
                    
                  
                  
                
                2
              
            
          
          ;
        
        ⁢
        
          

        
        ⁢
        
          
            E
            out
          
          =
          
            
              ∑
              
                l
                =
                P
              
              
                L
                -
                1
              
            
            ⁢
            
              
                
                
                  h
                  l
                  
                    (
                    0
                    )
                  
                
                
              
              2
            
          
        
      
    
    
      
        (
        15
        )
      
    
  




If most of the energy in the given multipath profile falls inside the window, then it can be postulated that the channel delay spread is sufficiently small, and that a shortened channel estimate can be used in this case.
There are many possibilities for the decision criterion, but one example is for some suitable energy ratio threshold:

If (Eout/Ein<threshold)

Use short channel estimate

Else

Use full channel estimate  (16)

In practice, the power delay profile shown in FIG. 5 would be the output of the channel estimation process. Since this profile can change as a function of time, the decision (16) on whether or not to use the shortened channel estimate needs to be revisited repeatedly. That is, the decision making process and any necessary corresponding adjustment to the estimated channel length is performed dynamically. As an example, the full channel estimation may be carried out with periodicity a fixed number of frames, and in the intervening time, either the full or shortened channel estimation may be carried out, depending upon the result of the decision process (16). This is illustrated schematically in FIG. 6, in which the channel estimation length check is carried out every two frames.
An example of shortening of the equalisation filter based on channel estimation information is now discussed. This example is again restricted to the case of single-channel chip-spaced equalisation (M=1).
As mentioned, preferably in addition to shortening the equalisation channel length, it is possible to go further with the process and actually shorten the equaliser filter itself (or potentially shorten the equaliser filter without varying the channel length). However, there are potential difficulties with basing the decision on whether to shorten the equaliser filter upon the same windowing process used to make the decision on shortening of the channel estimate. For example, if P=2, and there is a profile in which the first two rays are of similar, high power as illustrated schematically in FIG. 7, then the decision to use a shortened channel estimate is clear, but using a shortened equaliser may cause a significant performance degradation, because the two nearly equal power rays may represent a channel which requires a long equaliser.
To circumvent this problem, the decision on shortening of the equaliser could be always made with a window of different window of size Q=1, so only the contribution of the first ray was counted as “in window” power. However, this has the drawback that a multipath profile which has a strong, dominant ray which is not the earliest ray would fail the test. This is illustrated schematically in FIG. 8.
In order to accommodate such channels, the shortened equaliser decision can be made based on a window centred around the strongest channel tap. Alternatively or additionally, a decision could be considered based not only on the channel energy inside and outside the window, but also on the ratio of the energy in the strongest ray to the sum of the energy of the remaining channel components. If i denotes the index of the strongest ray, then this ratio is given by the orthogonality factor βi:




  
    
      
        
          β
          i
        
        =
        
          
            
              
                ∑
                
                  l
                  =
                  0
                
                
                  
                    L
                    0
                  
                  -
                  1
                
              
              ⁢
              
                
                  
                  
                    h
                    l
                  
                  
                
                2
              
            
            -
            
              
                
                
                  h
                  i
                
                
              
              2
            
          
          
            
              ∑
              
                l
                =
                0
              
              
                
                  L
                  0
                
                -
                1
              
            
            ⁢
            
              
                
                
                  h
                  l
                
                
              
              2
            
          
        
      
    
    
      
        (
        17
        )
      
    
  




The decision process then becomes, for some suitable β threshold value:

If (βi<threshold)

Use short equaliser

Else

Use nominal equaliser  (18)

The decision and corresponding adjustment of the equaliser filter length is also performed dynamically, for example as described in relation to FIG. 6.
The above examples have been considered for the case where M=1. The case in which a fractionally spaced or diversity equalisation is used (i.e. M>1) is now considered. In this case, a small modification to the criterion for the decision of using a shortened channel estimate is desirable. For the purposes of explanation, the example is restricted to M=2 and fractionally spaced operation will be referred to, but it will be appreciated that the principle can be extended. It is also assumed that there are thus two chip-spaced “subchannels” to consider in the equalisation process, corresponding to two half-chip spaced samples per chip. It is conceivable that at some instant, a given subchannel, say channel 0, has the strongest channel impulse response, and has a nearly flat fading profile. Subchannel 1 may have components with a high delay spread, but relatively low amplitudes. In this case, it could be desirable to choose the shortened channel estimate. In order to facilitate this, the decision process can first make a decision upon the subchannel to use, and then apply the window criterion to that subchannel.
Adopting the notation:




  
    
      
        
          
            E
            in
            
              (
              m
              )
            
          
          =
          
            
              ∑
              
                l
                =
                0
              
              
                W
                -
                1
              
            
            ⁢
            
              
                
                  
                  
                    h
                    l
                    
                      (
                      m
                      )
                    
                  
                  
                
                2
              
              ⁢
              
                
              
              ⁢
              
                (
                
                  Energy
                  ⁢
                  
                    
                  
                  ⁢
                  on
                  ⁢
                  
                    
                  
                  ⁢
                  subchannel
                  ⁢
                  
                    
                  
                  ⁢
                  m
                  ⁢
                  
                    
                  
                  ⁢
                  inside
                  ⁢
                  
                    
                  
                  ⁢
                  window
                
                )
              
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            E
            out
            
              (
              m
              )
            
          
          =
          
            
              ∑
              
                l
                =
                W
              
              
                L
                -
                1
              
            
            ⁢
            
              
                
                  
                  
                    h
                    l
                    
                      (
                      m
                      )
                    
                  
                  
                
                2
              
              ⁢
              
                
              
              ⁢
              
                (
                
                  Energy
                  ⁢
                  
                    
                  
                  ⁢
                  on
                  ⁢
                  
                    
                  
                  ⁢
                  subchannel
                  ⁢
                  
                    
                  
                  ⁢
                  m
                  ⁢
                  
                    
                  
                  ⁢
                  outside
                  ⁢
                  
                    
                  
                  ⁢
                  window
                
                )
              
            
          
        
      
    
    
      
        (
        19
        )
      
    
  




Then the decision process is:

if (Ein(0)+Eout(0)>Ein(1)+Eout(1))

Select channel 0

else

Select channel 1  (20)

And for the selected channel (denoted by the index m):

if (Eout(m)/Ein(m)<threshold)

Use short equaliser

else

Use nominal equaliser  (21)

An alternative strategy is to add the energies in the subchannels, and use an identical procedure to that described above for the M=1 case. Defining the first P chip delays to comprise the window, the energies inside the window (Ein) and outside the window (Eout) are given by:




  
    
      
        
          
            E
            in
          
          =
          
            
              ∑
              
                m
                =
                0
              
              
                M
                -
                1
              
            
            ⁢
            
              
                ∑
                
                  l
                  =
                  0
                
                
                  P
                  -
                  1
                
              
              ⁢
              
                
                  
                  
                    h
                    l
                    
                      (
                      m
                      )
                    
                  
                  
                
                2
              
            
          
        
        ,
        
          

        
        ⁢
        
          
            E
            out
          
          =
          
            
              ∑
              
                m
                =
                0
              
              
                M
                -
                1
              
            
            ⁢
            
              
                ∑
                
                  l
                  =
                  P
                
                
                  L
                  -
                  1
                
              
              ⁢
              
                
                  
                  
                    h
                    l
                    
                      (
                      m
                      )
                    
                  
                  
                
                2
              
            
          
        
      
    
    
      
        (
        22
        )
      
    
  




And the decision is:

if (Eout/Ein<threshold)

Use short channel estimate

else

Use full channel estimate  (23)

As in the M=1 case, the decision and corresponding adjustment of the estimated channel length and/or equaliser filter length for the case where M>1 is performed dynamically, for example as described in relation to FIG. 6.
It will be appreciated that the above embodiments are described only by way of example. In other embodiments for instance, although the above has been described in terms of selecting the length based on signal energy inside and outside a window, other channel conditions and/or criteria suitable for making a decision as to channel length may be apparent to a person skilled in the art. For example, a high error rate or low signal-to-interference ratio could be indicative of high intersymbol interference (ISI) or multiple-access interference (MAI) and therefore be used as a basis for overriding the decision to use a short equaliser filter length and/or channel estimate length and instead selecting larger values for these parameters. Further, for example, above a certain threshold a fixed full length channel length could used, but below the threshold a variable channel length could “kick in”. If there is a highly dispersive channel (energy ratio in equation 16 is above a certain threshold), a decision could be taken to either (i) wait a longer time before revisiting the channel estimate length decision or (ii) continue with the full length channel estimation and only revert to the periodic decisions when the energy ratio drops below another, lower, threshold. Other embodiments can be considered, for example, if information on how fast the multipath profile changes is made available to the decision making process (block 28 of FIG. 4), then the process can select the time period between decisions (depicted for example as 2 frames in FIG. 6) based upon this information. Further, the invention is not limited to the particular Livanto® platform described above, nor is it limited to CDMA systems or any particular standard or network. Other applications and configurations will be apparent to the person skilled in the art. The scope of the invention is not limited by the described embodiments, but only by the following claims.

## Claims

1. A method of processing a signal in a wireless communication system, the method comprising:
receiving a signal at a receiver over a wireless channel;
sampling the signal to produce a plurality of signal samples;
supplying the samples to an equalizer implemented in software running on a processor of the receiver, the equalizer being configured to process the samples using at least one equalizer time period having a nominal length;
dynamically determining one or more characteristics of said channel;
in dependence on the determined channel characteristics, dynamically selecting between a first operational state of the equalizer in which the nominal length is used and a second operational state of the equalizer in which an alternative length is used in place of said nominal length, whereby the equalizer time period length is selected between only two options, being the nominal length and the alternative length; and
processing the samples in said equalizer using the determined equalizer time period length.

2. The method of claim 1, wherein:
one of said at least one equalizer time periods is an estimated channel length, corresponding to a range of times beyond which a channel impulse response of said wireless channel is estimated to be negligible; and
said processing by the equalizer is performed using estimates of the channel impulse response only within said estimated channel length.

3. The method of claim 1, wherein:
one of said at least one equalizer time periods is an equalization length, corresponding to a range of times for which equalizer coefficients are to be estimated; and
said processing by the equalizer is performed, using estimates of those coefficients, over the samples having times only within said equalization length.

4. The method of claim 1, wherein:
the method comprises estimating a delay profile of said channel, the delay profile comprising an estimation of received signal energy over a delay period; and
said determination of a characteristic comprises determining the signal energy falling within a predetermined delay window within said delay interval.

5. The method of claim 1, wherein:
the method comprises estimating a delay profile of said channel, the delay profile comprising an estimation of received signal energy over a delay period; and
said determination of a characteristic comprises determining the ratio of the energy of a strongest component of said delay profile to the sum of the energy of the remaining components.

6. The method of claim 1, wherein:
said sampling comprises sampling the signal at an integer over-sampling ratio of M times per binary element of the signal, so as to produce samples m=1 to M for each binary element, each value of m corresponding to a respective subchannel;
the method comprises determining a subchannel to use in the decision; and
said determination of a characteristic and making of a decision are performed using the samples of the selected subchannel.

7. The method of claim 1, wherein:
said sampling comprises sampling the signal at an integer over-sampling ratio of M times per binary element of the signal, so as to produce samples m=1 to M for each binary element, each value of in corresponding to a respective subchannel;
the method comprises summing the energy of each subchannel to produce a plurality of summed samples; and
said determination of a characteristic and making of a decision are performed using the summed samples.

8. The method of claim 6, wherein the received signal is a CDMA signal, and each binary element of the signal is a chip.

9. The method of claim 1, wherein the equalization involves a transform from the time domain to the frequency domain.

10. The method of claim 1, wherein the alternative length is shorter than the nominal length.

11. A receiver, comprising:
an antenna for receiving a signal over a wireless channel;
sampling circuitry coupled to said antenna and arranged to take a plurality of samples of said signal, each sample corresponding to a respective time; and
a processor coupled to said sampling circuitry and arranged to receive said samples, the process or being programmed to implement an equalizer for processing the samples using at least one equalizer time period having a nominal length;
wherein the processor is further programmed to:
dynamically estimate one or more characteristics of said channel;
in dependence on the determined channel characteristics, dynamically select between a first operational state of the equalizer in which the nominal length is used and a second operational state of the equalizer in which an alternative length is used in place of said nominal length, whereby the equalizer time period length is selected between only two options, being the nominal length and the alternative length; and
process the samples in said equalizer using the determined equalizer time period length.

12. The receiver of claim 11, wherein the processor is programmed such that:
one of said at least one equalizer time periods is an estimated channel length, corresponding to a range of times beyond which a channel impulse response of said wireless channel is estimated to be negligible; and
said processing by the equalizer is performed using estimates of the channel impulse response only within said estimated channel length.

13. The receiver of claim 11, wherein the process or is programmed such that:
one of said at least one equalizer time periods is an equalization length, corresponding to a range of times for which equalizer coefficients are to be estimated; and
said processing by the equalizer is performed, using estimates of those coefficients, over the samples having times only within said equalization length.

14. The receiver of claim 11, wherein the processor is programmed:
to estimate a delay profile of said channel, the delay profile comprising an estimation of received signal energy over a delay period; and
such that said determination of a characteristic comprises determining the signal energy falling within a predetermined delay window within said delay interval.

15. The receiver of claim 11, wherein the processor is programmed:
to estimate a delay profile of said channel, the delay profile comprising an estimation of received signal energy over a delay period; and
such that said determination of a characteristic comprises determining the ratio of the energy of a strongest component of said delay profile to the sum of the energy of the remaining components.

16. The receiver of claim 11, wherein:
the sampling circuitry is configured to sample the signal at an integer over-sampling ratio of M times per binary element of the signal, so as to produce samples m=1 to M for each binary element, each value of m corresponding to a respective subchannel;
the processor is programmed to determine a subchannel to use in the decision; and
the processor is programmed such that said determination of a characteristic and making of a decision are performed using the samples of the selected subchannel.

17. The receiver of claim 11, wherein:
the sampling circuitry is configured to sample the signal at an integer over-sampling ratio of M times per binary element of the signal, so as to produce samples m=1 to M for each binary element, each value of m corresponding to a respective subchannel;
the processor is programmed to sum the energy of each subchannel to produce a plurality of summed samples; and
the processor is programmed such that said determination of a characteristic and making of a decision are performed using the summed samples.

18. The receiver of claim 16, wherein the receiver is a CDMA receiver configured for receiving a CDMA signal, and each binary element of the signal is a chip.

19. The receiver of claim 11, wherein the processor is programmed such that said equalization involves a transform from the time domain to the frequency domain.

20. The receiver of claim 11, wherein the alternative length is shorter than the nominal length.

21. A computer program product for processing a signal in a wireless communication system, the program comprising code embodied on a non-transitory computer readable medium which when executed by a processor performs the steps of:
inputting a plurality of signal samples of a signal received over a wireless channel;
supplying the samples to an equalizer implemented in the code, the equalizer being configured to process the samples using at least one equalizer time period having a nominal length;
dynamically determining one or more characteristics of said channel;
in dependence on the determined channel characteristics, dynamically selecting between a first operational state of the equalizer in which the nominal length is used and a second operational state of the equalizer in which an alternative length is used in place of said nominal length, whereby the equalizer time period length is selected between only two options, being the nominal length and the alternative length; and
processing the samples in said equalizer using the determined equalizer time period length.

22. A mobile terminal, comprising:
an antenna for receiving a signal over a wireless channel;
sampling circuitry coupled to said antenna and arranged to take a plurality of samples of said signal, each sample corresponding to a respective time; and
a processor coupled to said sampling circuitry and arranged to receive said samples, the process or being programmed to implement an equalizer for processing the samples using at least one equalizer time period having a nominal length;
wherein the processor is further programmed to: dynamically estimate one or more characteristics of said channel; independence on the determined channel characteristics, dynamically select between a first operational state of the equalizer in which the nominal length is used and a second operational state of the equalizer in which an alternative length is used in place of said nominal length, whereby the equalizer time period length is selected between only two options, being the nominal length and the alternative length; and process the samples in said equalizer using the determined equalizer time period length.