CHANNEL IMPULSE RESPONSE ESTIMATION USING SINGULAR VALUE DECOMPOSITION FIELD OF INVENTION
The present invention relates to the estimating of CIR (channel impulse response) and SINR (signal-to-iπterference-plus-noise ratio) in CDMA receivers. Particularly, the present invention is directed to a method of determining the channel impulse response (CIR) of a communication system, such as the CIR of radio channels of a digital mobile radio network (GSM network). In particular, the present invention relates to determining the CIR based on the reception of a known training sequence. The present invention also has application in interference cancellation and use in CDMA receivers. BACKGROUND
In order to determine CIR, a portion of the transmit signal must be known. For a GSM network. Synchronisation bursts (S3) are a useful portion of the signal. The SB are transmitted on at least one channel from every base station, and they are transmitted in a regular pattern. Decoding of the GSM protocols is not necessary. Both the data in the SB and the pattern with which they occur is fixed and substantially identical for all base stations.
The advantage of using SB for determining the CIR is that they represent a relatively long, noise-like predetermined transmitted signal. Typically, 64 bits are transmitted over a period of 237μsec. The determination of the CIR thus requires sufficient synchronisation to the bursts in the received signal to enable the extraction of the SB which is then processed to determine the CIR.
The processing is done by using estimation techniques. In order to estimate the CIR, a known training sequence is transmitted S (t), and this is corrupted by a communications channel producing the received signal Sra(t).
The problem in estimating the CIR is to determine tap-weights {α} of a FIR filter (which is used to approximate the CIR), so that the known Stx(t) after passing through the filter is as close as possible to the received signal S,x(t).
Given the that the transmitted Signal Su(t) and the received signal S„{\) is known, the CIR can be estimated from:
1. known samples of the transmitted signal Tk = Stχ (t0 + kt), - Nc< k < N (note that N + Nc samples represent the whole training sequence, the numbering has been arranged to start from the known clean samples of the received signal which occur Nc samples after the start of the training sequence.), and
2. measured samples of the received signal Rk = Sr (to + kτ), 0 < k < N (the first Nc samples of the training sequence are assumed corrupted and are ignored).
The tap weights {αi are determined by simple correlation as
This algorithm relies on the noise-like properties of the transmitted signal whereby its autocorrelation function should have low time sidelobes. The sidelobe performance of this algorithm, however, has been found to be limited due to the correlation properties of the "clean" part of the training sequence and the fact that only partial correlations are performed for later weights.
US 5,473,632 estimates CIR by the use of a "least square approach", where the Complex Pulse Response (CIR) is predicted by minimising the square of the error between what the channel actually outputs and what the estimated predicted model outputs. This approach gives rise to the equation at Column 6, line 35 of US 5, 473,632 which is known from various text books.
There is considered to be a problem with the US 5,473,632 approach. Basically, US 5,473,632 produces a matrix. The problem really relates to what is done to the matrix to calculate the CIR. In US 5,473,632, referring to column 5 lines 27 to 61 and claim 2 thereof, a "factor α" is added to the matrix before the matrix is inverted, and then after the
"factor α" is added, the matrix is inverted. In practice it has been found that the inversion of the matrix causes problems in calculating the CIR.
SUMMARY OF INVENTION
The present invention seeks to alleviate the problems experienced in determining CIR and SINR with prior art techniques.
In essence, the present invention stems from the realisation that the problems associated with the prior art can be alleviated by initially transforming the matrix obtained by virtue of network analysis into a 'diagonal matrix' and then inverting the resultant diagonal matrix. Thus there is no "factor α" added.
An advantage of using a diagonal matrix is that it is possible to remove or ignore some eigenvalues (such as some" of the small problematic eigenvalues) and in this way avoid the magnified errors and noise of US 5,473,632 when the matrix is inverted.
Another advantage of using a diagonal matrix is attributable to the nature of a diagonal matrix and that is, the matrix can be inverted by inverting only the diagonal elements. This exposes the difficulty caused by small eigenvalues - they lead to very large elements in the inverse.
However, by ignoring or removing some eigenvalues a further problem may develop as shown in figure 1 , that is the production of large sidelobes.
Thus, the present application discloses a still further invention which is directed to alleviating the problem of the production of large side lobes. This further invention is considered an improvement on the invention noted above and is based on, not discarding small eigenvalues (which is the approach noted above) but instead to multiply the reciprocal of the eigenvalue in the inverse matrix by a decreasing number until the sidelobes are removed or so small that they have little effect. DETAILED DESCRIPTION AND BEST MODE
A preferred embodiment of the inventions disclosed above will now be described with reference to the accompanying drawings, in which:
Figure 1 illustrates CIR estimated using the algorithm disclosed in US 5,473,632 using ε = 200. S/N = OdB, Figure 2 illustrates CIR estimated using the algorithm disclosed in US
5,473,632 using ε = 400, no noise,
Figure 3 illustrates CIR estimated using SVD and including 10 largest
eigenvalues,
Figure 4 illustrates CIR estimated using SVD and including 16 largest eigenvalues,
Figure 5 illustrates CIR estimated using SVD and including 25 largest eigenvalues,
Figure 6 illustrates CIR estimated using SVD and including 36 largest eigenvalues,
Figure 7 illustrates CIR estimated using SVD and using ramping function with n-ι=4, n2=25 and no added noise, Figure 8 illustrates CIR estimated using SVD and using ramping function with n1=!4. n2=25 S/N - OdB,
Figure 9 illustrates CIR estimated using SVD and using ramping function with ^=4, n2=20 no noise,
Figure 10 illustrates CIR estimated using SVD and using ramping function with n-|=4, n2=20 S/N = OdB,
Figure 1 1 illustrates CIR estimated using SVD and using ramping function with n-,=1 , n2=25 no noise,
Figure 12 illustrates CIR estimated using SVD and using ramping function with n^l , n2=25 S/N = OdB, Figure 13 illustrates CIR estimated using SVD and using ramping function with ^=1 , π2=64 no noise (Note dB scale to -60dB),
Figure 14 illustrates CIR estimated using SVD and using ramping function with n1=1 , n2=64 S/N - 40dB.
Figure 15 illustrates CIR estimated using SVD and using ramping function with n1=1 , n2=25 S/N = 40dB,
Figure 16 illustrates CIR estimated using SVD and using ramping function with m=1 , n2=25 Path 1 at 6.9μs OdB, Path 2 at 18.5μs -20dB, Path 3 at 29.5μs -10dB no noise,
Figure 17 illustrates CIR estimated using SVD and using ramping function with riη-1 , n2=25 Path 1 at 6.9μs -10dB, Path 2 at 18.5μs OdB, Path 3 at 29.5μs OdB, Path 4 at 40.4μs -6dB S/N - 20dB. and
Figure 18 illustrates CIR estimated using SVD and using ramping
function with n1 =1 , n2=25 Path 1 at 6.9μs OdB, Path 2 at 12.2μs OdB no noise.
One method of estimating the tap weights is to determine the weights which predict a received signal most closely matching the measured signal.
Given the transmitted Signal S^t) with known samples: TιrSκ(to+kτ). -M <k<N
(M is the assumed extend of the CIR - the number of "dirty" samples) and a received Signal Srχ(t) with measured samples: rVSrx(to+k-c), 0 < k<N
The desired FIR tap weights (otκ) are estimated by requiring that the cumulative square error between the measured received signal and the estimate of the received signal (i.e. the known transmitted signal passed through the FIR approximating the channel) is minimised, i.e. minimise
this may be reduced to the following system of simultaneous equations
M-1 / N-1 \ N-1
Σ (αi∑Tn-i Tn, ) =∑RkTk, 0 < i <M (2.3) j«0 \ k»0 / k«0 or using matrix notation
Ac = TR (2.4) where the matrix A is the MxM correlation matrix given by
a,ιi- ∑Tn.jTn.j (2.5)
and T is the MxN matrix of conjugated delayed signals t jj -Tjj O≤i ≤ M O≤j ≤ N (2,6)
and vector c is the required CIR (αk)
Note that simple correlation corresponds to c = TR (2.7)
The matrix equation (2.4) has the formal solution
C = (A -1T)R (2.8) showing that the CIR. may be determined from the samples of the received signal using a simple matrix multiplication. Least Squares Estimation using US 5,473,532 Equation (2.8) equates to the equation disclosed in US 5.473,632 at col
6, line 35.
The complication with the use of this equation arises when the equations are solved directly in that they are generally poorly conditioned. In fact, it has been found that for the GSM training sequence in the SB the eigenvalues of the matrix vary over a range exceeding 10io. This is considered to make the inverse of the matrix extremely susceptible to roundoff error and the result extremely susceptible to noise on the measured signal.
It has been found that by applying conventional techniques to invert this matrix or to solve the equations, the results are not considered useful, even when using IEEE double precision arithmetic.
US 5,473,632 discloses an algorithm which stabilises the inversion of the matrix and produces results reasonably resilient to noise. US 5,473,632 estimates the CIR by c - ((A + e!)-rT)R (2.9) where I is the identity matrix and ε is a constant (they call a noise term). This equation equates to the equation disclosed in US 5,473,632 at col. 6, line 44. The results of using this algorithm follow:
The performance of this algorithm critically depends on the choice of the variable ε. For the matrix A which has diagonal elements with magnitude 192, the following figures show the performance of US 5,473,632 algorithm using difference values of ε in determining a CIR consisting of a single path.
Referring to Figures 1 and 2,for example, it can be seen that there is a trade-off between the resolution (width of the main lobe) and the noise performance. The sidelobe level of approximately -18dB seems a characteristic of this algorithm.
We achieved a best comparable performance by using ε= 100, and on
this basis comparisons with US 5,473,632 are made. Least Squares Estimation using SVD
In the present invention, we have chosen to apply the use of Singular
Value Decomposition (SVD) to the poorly conditioned matrix for performing least squares estimation. In this way, it has been found that we transform the matrix that is to be inverted to a diagonal matrix and then the new created diagonal matrix is inverted.
Using the SVD the matrix A (which is positive definite) may be represented by
where U and V are orthogonal and S is diagonal. In fact the diagonal elements of S are the eigenvalues (all positive) of A and these are arranged in decreasing order: s1>1 > s2,2 .>sn,π (2.1 1 ) If the matrix is singular, some of these are zero. The inverse of A is then
A-1 = VS-1U' (2.12) where S-1 is formed by inverting the (diagonal) elements of S. The effects of a poorly conditioned matrix are clear here, the (almost zero) eigenvalues are inverted and produce an extremely large contribution to the inverse. These amplify the noise.
Traditional SVD techniques only invert some of the eigenvalues and stop at some point. Instead of placing 1/λ-j into the inverse of S, the present invention uses zero instead. The performance of these techniques along with others are evaluated below. The coefficients in the matrix in equation (2.8) are purely functions of the known training sequence, hence they can be computed beforehand. This matrix can be inverted once and then the solution at any time requires a matrix multiplication. Thus to obtain the CIR estimate from a set of signal samples requires M * N complex multiplications and M * (N-1 ) complex additions, a total of 6 * M * N + 2 * M * (N-1) operations.
The application of SVD to the overdetermined least squares problem requires only including the contribution from the N largest eigenvalues in the
pseudo-inverse of the matrix. In the case being modelled, the matrix has dimension 64, hence N is in the range 1 to 64. The following plots show the performance of the SVD algorithm for N = 10, 16, 25, 36. The effect of increasing the number of eigenvalues is to increase the resolution of the estimator, that is reducing the width of the main lobe.
Although not shown, simulations were performed which showed that the noise performance degrades rapidly in the range of 10 to 20 eigenvalues.
The present SVD approach should yield good performance in noise as the rank of the pseud-inverse is minimised. The most bothersome aspect of the results is the persistent time sidelobes at approximately -13dB. By analogy with Fourier theory, where a truncated time waveform will give frequency sidelobes of -13dB, it was discovered that the ramping down of the contribution from successive eigenvalues instead of simply cutting off after a certain number proved very beneficial in providing control over the time sidelobes. A number of ramping functions may be used such as Bartlett, Blackman-
Harris, Poisson, Riesz, Hamming, Kaiser-Bessel, Lanczos, Tukey and other well known windowing functions. The function chosen in this embodiment has been derived from the Hanning window although the raised cosine ramp defined as below proved most successful:
where wf weight applied to the contribution from the i th eigenvalue. As an example. Figure 7 shows the effect of n-ι=4, n2=25.
Note that the -l3dB sidelobes have been reduced to approximately-
22dB (already significantly better than the performance of US 5,473,632). The width of the main lobe is narrower than the ε=100 US 5,473,632 algorithm with lower sidelobes, The performance with a S/N ration of OdB is shown in figure 8.
This performance is similar to that achieved with the ε=l00 US 5,473,632 solution, however note that the main lobe is narrower, this will degrade this noise performance.
Noise performance can be improved at the expense of the lobe width, as illustrated in Figures 9 and 10 which have n1= , π2=20.
Considerable trials have taken place to find a satisfactory solution. The goals were: • greater than 20dB dynamic range (preferably 25dB) to give a significant edge over the performance of US 5.473,632 noise performance similar to correlation at S/N - OdB. (This says that we don't want the solution to unnecessarily magnify the noise contributions). The results determined from the above uses the weighting factors obtained with n-ι=1. n2=25 and the performance is shown in figures 1 1 and 12.
Performance of the present algorithm on more complicated CIR's will be shown shortly. It is interesting to see how much dynamic range the ramping algorithm can provide as illustrated in the example shown in Figure 13. This example is extremely sensitive to noise. Figure 14 shows the performance with S/N = 40dB. Note that even this small amount of noise is greatly magnified. This same amount of noise produces no perceptible noise on the preferred results as determined above and as shown in Figure 15.
Figures 16 and 17 illustrate the results for some more complex CIR's. It has also been found that the present embodiment has the ability to enable the algorithm to discriminate between peak, and Figure 18 shows close peaks split with time separations greater than about 5μs.
Matrix inversion as described above is also required when estimating the channel impulse response vector h. in context of interference cancellation Φ h = Ψ (2.14) where Φ is the crosscorrelation matrix between locally generated signals and Ψ is the crosscorrelation matrix between locally generated signals and the received signal.' The principles and method as described above are equally applied in this situation. Similarly, in interference limited environment CDMA is applied usually using optimum combining of signals received from multiple sensors (antenna array). Optimum combining maximises the signal-to-interference-plus-noise
ratio (SINR). The weight vector for the antenna array to maximise SINR is obtained, for example from w = α R-i ud* • (2.15) where w is the weight vector for antenna elements, α is a constant, R is the received interference-plus-noise correlation matrix, and ud * is the conjugate of the desired signal vector. We have found an efficient way of getting the weight vector by first calculating the CIR, Some optimum combining techniques calculate first the CIR (and the noise covariance matrix Q) which is then used in multidimensional MLSE to combine signals from the antenna array. Usually the matrix inversion is problematic in mobile radio channels. The embodiment as described above can be applied directly to matrix inversion. To obtain the weight vectors or employ the inverse of Q to optimally combine the signal.
In summary, whilst alternatives and variants are intended to be encompassed by the present application, the preferred implementation of the inventions disclosed is to generate a CIR using the matrix multiplication as specified in equation (2.8) and to then use SVD to determine the inverse of the matrix A. The eigenvalues included in the inverse are ramped (weighted) according to equation (2.13) with n-ι=1 , n =25.