This invention relates to code division multiple access (CDMA) multi-path systems, and particularly to Single User Detectors for use in such systems.
In the field of this invention it is known that Single User detection is a method of applying signal processing to a received CDMA input signal to improve the signal quality before the CDMA signal is despread. A Single User detector typically consists of a channel equalizer to exploit the multipath diversity and a code matched filter which is matched to the spreading and scrambling codes of the codes to be despread. A Single User detector exploits the fact that all the codes originate from the same transmitter and so the codes will all be convolved by the same channel impulse response.
The idea behind this approach is to equalize the multipath channel such that the received CDMA codes are forced into orthogonality. The algorithm used is based on the Minimum Mean Squared Error (MMSE) criterion. This algorithm comprises the calculation of several parameters (commonly referred to as R, L, X, Y, and S values) which typically involves considerable complexity and compromises for the sake of efficiency.
A need therefore exists for a method and arrangement for a single user detector for use in a CDMA multi-path system wherein the above-mentioned disadvantage(s) may be alleviated.
In accordance with a first aspect of the present invention there is provided a method for use in a single user detector in a CDMA multi-path system, comprising:
providing a finite impulse response (FIR) filter; and
configuring the FIR filter to derive at least a first, then a second, of the following parameters for single user detection:
In accordance with a second aspect of the present invention there is provided an arrangement for use in a single user detector in a CDMA multi-path system, comprising:
a finite impulse response (FIR) filter; and
means for configuring the FIR filter to derive at least a first, then a second, of the following parameters for single user detection:
Such an arrangement may be comprised in a single user detector for use in a CDMA multi-path system.
Such an arrangement may be comprised in user equipment for use in a universal mobile telecommunications system (UMTS) system.
Such an arrangement may be comprised in a base station for use in a UMTS system.
One method and arrangement for a single user detector, based on calculation of R, L, X, Y, S parameters (functions and values), for use in a CDMA multi-path system incorporating the present invention will now be described, by way of example only, with reference to the accompanying drawings, in which:
Single User detection is a method of applying signal processing to a received CDMA input signal to improve the signal quality before the CDMA signal is despread. A Single User detector consists of a channel equalizer to exploit the multipath diversity and a code matched filter which is matched to the spreading and scrambling codes of the codes to be despread. A Single user detector exploits the fact that all the codes originate from the same transmitter and so will all be convolved by the same channel impulse response.
As represented schematically in
where
The output of the block linear equalizer can be written as
sd=(Hd*THd+ασ2I)−1Hd*Ted
which can be rewritten as
(Hd*THd+ασ2I)sd=Hd*Ted.
The left hand side of the above equation can be factorised by performing a Cholesky decomposition, which can be written as
Ly=X (A)
L*Tsd=y (B)
where X=Hd*Ted
and L is a lower triangular matrix of the form
and (Hd*THd+ασ2I)=LL*T. In the process of data estimation, the above equations are first solved for y and then solved for sd. In both cases, factorisation means that back substitution can be employed. Once sd has been determined, it is straightforward to obtain an estimate of the data using
The first step in the algorithm is to perform the Cholesky decomposition. Since (Hd*THd+ασ2I) is block Toeplitz in structure, and N (the order of the matrix) is quite large (>69), the elements of the matrix L converge quickly, consequently, it is only necessary to compute the first W block rows of the matrix L, where W is the length of the channel impulse response used in the Single User Detector.
Firstly, the first W×W elements of the matrix (Hd*THd+ασ2I) are computed. This is a simple procedure, as it is only necessary to compute the auto-correlation function of the channel estimate, and then fill in the appropriate elements of the matrix. The auto-correlation function is given by
and the W×W elements of the matrix (Hd*THd) are given by
In forming the elements of the matrix L it is only necessary to consider the lower triangular portion of the above matrix; in fact, by careful inspection it is found that only the first column of the above matrix is required, giving
Then for i=1 . . . W, j=(i+1) . . . W, and l11=√{square root over (R1)}; i=j=1, the elements of the matrix L up to the ith column are given by the recursive relationships:
which results in the sub-matrix
The complete NQ×NQ L matrix is constructed by taking the Wth row of the above sub-matrix, and inserting it row-wise at column positions given by i−W, where i is the current column position. In fact, when estimating the data, the complete L matrix need never be constructed. To solve for yj using eqn. (A), the following equations are used:
y
2=(x2−y1l21)/l22
y3=(x3−[y1l31+y2l32])/l33
y4=(x4−[y1l41+y2l42+y3l43])/l44
y5=(x5−[y2l41+y3l42+y4l43])/l44
y6=(x6−[y3l41+y4l42+y5l43])/l44
yj=(xj−[yj−3l41+yj−2l42+yj−1l43])/l44
where
xj=hd*Ted
and
ed
From the above, it can be observed that when j≧W, back substitution can be generalised for any W or NQ, such that
It is apparent that the second term in the brackets of this equation can be considered as an FIR filter function with coefficients given by lWt, over a span of W−1 chip periods. To determine the output of the channel equalizer, sd, eqn (B) is used, but the form of L*T is now upper triangular. This means that the order of processing has to be reversed. Again, the set of equations is written out, starting from the bottom up, as follows
s
NQ−1=(yNQ−1−sNQl43*)/l44
sNQ−2=(yNQ−2−[sNQ−1l43*+sNQl42*])/l44
sNQ−3=(yNQ−3−[sNQ−2l43*+sNQ−1l42*+sNQl41*])/l44
sNQ−4=(yNQ−4−[sNQ−3l43*+sNQ−2l42*+sNQ−1l41*])/l44
sNQ−5=(yNQ−5−[sNQ−4l43*+sNQ−3l42*+sNQ−2l41*])/l44
sNQ−(j−1)=(yNQ−(j−1)−[sNQ−(j−2)l43*+sNQ−(j−3)l42*+yNQ−(j−4)l41*])/l44
Here j=(1 . . . NQ−W+1), and again a generalisation can be made for W≦j≦NQ−W+1, such that
where the second term in the brackets can be considered as an FIR filter function with coefficients given by l*Wt, over a span over W−1 chip periods. For j>NQ−W+1, the W−1 values of the vector sd are computed using the modified L*T matrix with back substitution. This is generalised, such that
For Wf=4 and NQ=1104, this gives the set of equations:
s4=(y4−[l43*s5+l42*s6+l41*s7])/l44
s3=(y3−[l43*s4+l42*s5+l41*s6])/l33
s2=(y2−[l32*s3+l42*s4+l41*s5])/l22
s1=(y1−[l21*s2+l31*s3+l41*s4])/l11
Referring now also to
Here
y1=x1*c1
y2=x1*c2+x2*c1
y3=x1*c3+x2*c2+x3*c1
As shown in
For example,
Let n=4 giving a 4 tap filter
When x1 is input to the filter, the values into each of the 4 delay elements from left to right are
When x2 is input to the filter, the values into each of the 4 delay elements from left to right are
When x3 is input to the filter the values into each of the 4 delay elements from left to right are
When x4 is input to the filter the values into each of the 4 delay elements from left to right are
Thus, it will be understood, this is the same output as for the standard FIR filter structure.
The inventor of the present invention has realised, through examination of the steps required to implement the joint detection process, that there are a number of similarities which allow reuse of a common FIR filter structure. It can be shown that by using a single FIR filter structure with W taps it is possible to implement the auto correlation function (R), the Cholesky decomposition L, the X value calculation and to solve the Y and S matrixes. This is accomplished by modifying the filter structure and the way that the filter coefficients are applied to the filter.
The five different filter configurations are:
Auto-Correlation Function (R)
The autocorrelation function is given by
Which can be expanded to
R1=h1*h1*+ . . . +hW*hW*
RW−2=h1*hW−2*+h2*hW−1*+h3*hW*
RW−1=h1*hW−1*+h2*hW*
RW=h1*hW*
It can be seen from the above expansion that the auto-correlation function is a FIR filter of length W where the coefficients of the filter are given by h1*, h2*, . . . hW−1*, hW* which is the complex conjugate of the channel impulse response, and the input data is given by h1, h2, . . . hw which is the channel impulse response time reversed. The W outputs are the auto-correlation sequence, time reversed.
The auto-correlation function is performed in this manner so that the same filter taps can be used to calculate the X vector, as will be explained in more detail below.
Cholesky Decomposition L
Cholesky decomposition is concerned with solving the equations given below:
l11=√{square root over (R1)}; i=j=1, the elements of the matrix L up to the ith column are given by the recursive relationships:
which results in the following sub-matrix
This is a recursive algorithm where the matrix values are calculated a column at a time from left to right. j are the row indexes and i are the column indexes. The diagonal value lii cannot be calculated until the l values in the same row have been calculated.
Investigation of equation (F) above shows that for each column of Lji values (i.e., for a particular i value) and for each term (k) in the summation, the lik* value is the same.
Referring now to
For example:
W=5
The first column i=1 is calculated first and does not use the structure above since there is no summation term in equation (D).
For i=2
The expanded summation from equation (F) is given by
l32=(R2*−l31*l21*)/l22
l42=(R3*−l41*l21*)/l22
l52=(R4*−l51*l21*)/l22
so the input_data in
c1=l31
c2=l41
c3=l51
For i=3
The expanded summation from equation (F) is given by
l43=(R2*−[l41*l31*+l42*l32*])/l33
l53=(R3*−[l51*l31*+l52*l32*])/l33
so the input_data in
c1=0
c2=l41
c3=l51
Then the input_data in
c1=0
c2=l42
c3=l52
These results are added to the previous outputs giving the summation results.
For i=4
The expanded summation from equation (F) is given by
l54=(R2*−[l51*l41*+l52*l42*+l53*l43*])/l44
so the input_data in
c1=0
c2=0
c3=l51
Then the input_data in
c1=0
c2=0
c3=l52
These results are added to the previous outputs giving the summation results.
Then the input_data in
c1=0
c2=0
c3=l53
These results are added to the previous outputs giving the summation results.
Extra processing is required to take the summation output and subtract it from the R* value and divided it by the Lii value.
It will be understood that in the above procedure for generating outputs from the structure shown in
X Value Calculation
Equation (C) above gives
xj=hd*Ted
This is the complex conjugate of the channel Impulse response multiplied and summed with time shifted versions of the input data over the length of the input data.
Re writing this equation gives:
As referred to above, it can be shown that if the filter structure used in producing the auto-correlation function described above is loaded with the same coefficients as to produce the auto-correlation function, but the ed vector is inputted as data, then the j outputs after the first W−1 outputs have been ignored is xj.
This allows calculation of the X values using the same filter structure as the R vectors with the same filter coefficients.
Y Back Substitution
Examination of the following Y equations
y
2=(x2−y1l21)/l22
y3=(x3−[y1l31+y2l32])/l33
y4=(x4−[y1l41+y2l42+y3l43])/l44
y5=(x5−[y2l41+y3l42+y4l43])/l44
y6=(x6−[y3l41+y4l42+y5l43])/l44
yj=(xj−[yj−3l41+yj−2l42+yj−1l43])/l44
shows that to solve the y vector requires a FIR filter structure of W−1 taps with a feedback loop. This is shown in
As shown in the figure, in this configuration the FIR 510 uses W filter tap stages (520 (W) . . . 520 (1)), and the outputs of the stages' summation and delay elements 540 (W) . . . 540 (1) are respectively connected to the input of the summation and delay elements in the adjacent stage to the right. Additionally, for deriving the Y value a subtractor 550 and a divider 560 are provided. The filter coefficients are changed for each iteration of the feedback loop and are selected from the L matrix as described below.
As will be understood more fully from the detailed description below, for L, Y and S calculations a filter length of W−1 is used, and for X and R calculations a filter length of W is used.
The Lij divisor is changed for the first W iterations from L11 to Lww. Once W iterations have been completed the Ljj value is kept constant at Lww (L44 in the example above).
It is to be noted that the algorithm described below assumes that the filter is implemented as the inverse filter structure. There is a similar algorithm for selecting the filter coefficients for a normal filter structure.
The coefficients for the filter are selected by columns from the L matrix, starting with the left hand column at the row below the diagonal. The diagonal is not used. W−1 coefficients must be selected. For rows >1 when the bottom of the L matrix is reached the remaining tap coefficients in the filter are kept the same as the previous iteration. Once W−1 iterations have been completed the filter coefficients are not changed.
For y1:
This is simply given by y1=x1/l11.
For y2:
The filter coefficients are given the reading the first column of the L matrix top to bottom ignoring the first diagonal element, L21,L31,L41 . . . LW1. The divisor is l22.
This gives
y2=(x2−y1l21)/l22
For y3:
The filter coefficients are given by reading the second column of the L matrix top to bottom ignoring the first diagonal element, L32,L42,L52 . . . LW2,LW1 (it may be noted that the final coefficient is the last coefficient used in calculating y2 as there are only W−1 rows in column 2 of the L matrix below the diagonal). The divisor is l33. This gives
y3=(x3−[y1l31+y2l32])/l33
For y4:
The filter coefficients are given by reading the third column of the L matrix top to bottom ignoring the first diagonal element, L43,L53,L63 . . . LW−2 3,LW 2,LW 1 (it may be noted that the last 2 coefficients are the last 2 coefficients used in calculating y3 as there are only W−2 rows in column 3 of the L matrix below the diagonal). The divisor is l44.
This gives
y4=(x4−[y1l41+y2l42+y3l43])/l44
For j>W−1 the filter coefficients remain constant and Lww is used as the divisor.
S Back Substitution
As shown in the FIR configuration of
It is to be noted that the s results are computed from SNQ to S1. It is also to be noted that the algorithm described below assumes that the filter is implemented as the inverse filter structure. There is a similar algorithm for selecting the filter coefficients for a normal filter structure.
For the first NQ−W−1 iterations the Ljj value is set at Lwŵ.
The filter coefficients are L*w 1, L*w 2, L*w 3, . . . L*w w−1
For sw−1 the filter coefficients are not changed but the divisor used is Lw−1 w−1.
For the last W−2 values of s the divisor is changed from Lw−2 w−2 to L11
The filter coefficients are changed for each iteration by selecting the L matrix values by moving up diagonally to the left through the L matrix for each filter tap. When the left hand column has been reached, the filter taps can be set to any value as they no longer contribute to the output (Denoted by ‘?’ below).
For example
The L matrix for W=6 is shown below
The filter taps for the first NQ−W−1 values of s are L*6 1,L*62,L*63,L*64,L*65. The divisor is L66. For S5 the filter coefficients are not changed but the divisor used is L55.
For S4 the filter coefficients are ?,L*5 1,L*52, ,L*53,L*54. The divisor used is L44.
For S3 the filter coefficients are ?,L*41, L*42,L*43. The divisor used is L33.
For S2 the filter coefficients are ?,L*31, L*32. The divisor used is L22.
For S1 the filter coefficients are ?,?,?,?, L*21. The divisor used is L11.
It will be appreciated that although it is possible to remove the Cholesky decomposition value (L) from the above process, with some simplification, the L value calculation must then be performed separately, reducing the optimal quality of the process described above in allowing all the necessary values for single user detection to be performed by use of a single, re-configurable FIR scheme.
It will further be appreciated that the R, L, X, Y and S parameters may be derived in any order, provided that the values necessary for the certain calculations are available in advance of those calculations being performed, the requirements being as follows:
Referring now also to
It will be appreciated that the method described above for deriving the R, L, X, Y and S parameters for use in single user detection may be carried out in software running on a processor (not shown), and that the software may be provided as a computer program element carried on any suitable data carrier (also not shown) such as a magnetic or optical computer disc. It will also be appreciated that the method described above may alternatively be carried out in hardware such as an integrated circuit, e.g., a Field Programmable Gate Array (FPGA) or Application Specific Integrated Circuit (ASIC).
In conclusion, therefore, it will be understood that the method and arrangement described above for use in a single user detector for a CDMA multi-path system provides the advantages that the five parameters R, L, X, Y and S the steps required to implement the single user detector can be implemented using a single re-configurable FIR filter, simplifying the method and arrangement required to implement the single user detector.
Number | Date | Country | Kind |
---|---|---|---|
0123520.9 | Oct 2001 | GB | national |
Number | Name | Date | Kind |
---|---|---|---|
5717619 | Spurbeck et al. | Feb 1998 | A |
6078573 | Batalama et al. | Jun 2000 | A |
6314147 | Liang et al. | Nov 2001 | B1 |
6377611 | Hwang | Apr 2002 | B1 |
6411976 | Cesari et al. | Jun 2002 | B1 |
6459334 | Wright et al. | Oct 2002 | B2 |
6466611 | Bachu et al. | Oct 2002 | B1 |
6826226 | Sahlin et al. | Nov 2004 | B1 |
6870882 | Al-Dhahir et al. | Mar 2005 | B1 |
6999509 | Awad et al. | Feb 2006 | B2 |
7027536 | Al-Dhahir | Apr 2006 | B1 |
7079607 | Brunel | Jul 2006 | B2 |
20040047400 | Iinatti et al. | Mar 2004 | A1 |
Number | Date | Country |
---|---|---|
0926913 | Jun 1999 | EP |
WO-0122610 | Mar 2001 | WO |
Number | Date | Country | |
---|---|---|---|
20030095586 A1 | May 2003 | US |