FIELD OF THE INVENTION
[0001]
This invention relates generally to communication systems, and more particularly to a detector for use in a receiver of multiuser communication system.
BACKGROUND OF THE INVENTION
[0002]
Wireless communication systems have an everincreasing use in transferring voice and data services. Such communication systems include the Code Division Multiple Access (CDMA) standard IS95. The CDMA system is unique in that signals from several users overlap one another in one channel simultaneously. As a result, a receiver must process the combined signal from the one channel and extract the information sent to the user of interest. This process is known as multiuser detection or joint detection. Optimal multiuser detection schemes exist, but are computationally intensive.
[0003]
Various suboptimal receiver techniques have arisen to reduce the calculations necessary to extract the original user's signal while addressing the interference issue so as to limit error. These detection techniques include, among others, zeroforcing linear equalization, decision feedback equalization, and minimum meansquareerror equalization, used alone or in various combinations. Of these it has been reported by Klein et al. that minimum meansquareerror equalization provides the best performance in the paper “ZeroForcing and Minimum MeanSquareError Equalization for Multiuser Detection in CodeDivision MultipleAccess Channels”, IEEE Transactions on Vehicular Technology, Vol. 45, No. 2, pp. 276287, May 1996, hereinafter referred to as MMSEBLE (Minimum Mean Squares Error Block Linear Equalizer) useful in a CDMA system where the scrambling code is symbolperiodic.
[0004]
The MMSEBLE technique still requires extensive manipulation and calculation relating to the full system matrix defining the CDMA block transmission system channel, such as for the downlink of the proposed CDMA Third Generation Time Division Duplex (3G TDD) standard.
[0005]
There is a need for improved multiuser detection in a CDMA communication system that further reduces computational complexity without sacrificing performance. It would also be of benefit to use existing hardware and to reduce processor resources.
BRIEF DESCRIPTION OF THE DRAWINGS
[0006]
[0006]FIG. 1 shows a simplified block diagram 3G TDD downlink channel;
[0007]
[0007]FIG. 2 shows a simplified block diagram of an equivalent block matrix filter representation of the 3G TDD downlink channel.;
[0008]
[0008]FIG. 3 shows a simplified block diagram of finiteimpulseresponse matrix filtering of an input sequence to obtain an estimated data sequence, in accordance with the present invention;
[0009]
[0009]FIG. 4 shows a block diagram of the finiteimpulseresponse matrix equalizer, in accordance with the present invention; and
[0010]
[0010]FIG. 5 shows a graphical representation the performance improvement provided by the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
[0011]
The present invention provides multiuser detection in a CDMA communication system using a finiteimpulseresponse matrix filter equalization that reduces computational complexity without sacrificing performance. No additional hardware is required and processor resources are freed up. A matrix filter estimator can be used to further reduce computations. Advantageously, by limiting the number of calculations to be performed in order to detect a user signal reliably, the present invention conserves power in the receiving communication device and saves calculation complexity.
[0012]
In a CDMA block transmission system, such as the 3G TDD downlink channel shown in FIG. 1, several users have concurrent access to the same channel within the same time window. The vector d^{(k) }represents a N (bits/frame) data point sequence transmitted on k^{th }code in the channel during one TDD frame duration of length W. The vector c^{(k) }represents the k^{th }signature sequence comprising the spreading and scrambling codes of length Q (chips in one period of a code) for each corresponding active code. In the 3GCDMA TDD system sixteen chips are used per code. K signifies the number of active codes being used on the channel. For purposes of this invention each active code corresponds to data being input for one user, in that, typically, one user has one active code assigned. However, a user can have more than one code active such as in a multimedia application. In the description below quantities (.)^{T},(.)^{H},(.)^{−1 }represent the transposition, conjugate transposition, and inversion of matrices, respectively.
[0013]
The data stream d^{(k) }on the k^{th }signature sequence c^{(k) }are given by
d ^{(k)}=(d _{1} ^{(k)} ,d _{2} ^{(k)} , . . . ,d _{N} ^{(k)})^{T }for k=1,2, . . . ,K
[0014]
respectively, where each data symbol d_{n }of each active code is repeated Q times resulting in a Qdimensional matrix multiplied element by element by the signature sequence
c ^{(k)}=(c _{1} ^{(k)} ,c _{2} ^{(k)} , . . . ,c _{Q} ^{(k)})^{T }for k=1,2, . . . ,K
[0015]
The channel impulse response (CIR) for the downlink channel is given by
h=(h _{1} ,h _{2} , . . . ,h _{W})^{T }
[0016]
having W samples at the chip interval. The combined CIR, b^{(k) }is the convolution of the signature sequence with the CIR
b ^{(k)} =c ^{(k)} {circle over (x)}h=(b _{1} ^{(k)} , b _{2} ^{(k)} , . . . , b _{Q+W−1} ^{(k)})^{T }for k=1,2, . . . ,K,
[0017]
and the combined data vector of length K·N is the concatenation of all K data vectors in the following manner
d=(d _{1} ^{(1)} ,d _{1} ^{(2)} , . . .d _{1} ^{(K)} , . . . ,d _{k} ^{(1)} , d _{K} ^{(2)} , . . . ,d _{k} ^{(k)} , . . . ,d _{N} ^{(1)} ,d _{N} ^{(2)} , . . . , d _{N} ^{(K)})^{T}
[0018]
which is basically the multiplexing of data from the different data streams. Noise is assumed to be Additive White Gaussian Noise (AWGN) with variance σ^{2}, an is defined as the zeromean noise vector
n=(n _{1} ,n _{2} , . . . ,n _{N·Q+W−1})^{T }
[0019]
is subsequently added to the combined data vector resulting in a received signal vector
e=(e _{1} ,e _{2} , . . . ,e _{N·Q+W−1})^{T} =Ad+n
[0020]
where A is the (N·Q+W−1)×(K·N) system matrix given by
${A}_{Q\xb7\left(n1\right)+l,k+K\xb7\left(n1\right)}=\{\begin{array}{cccc}\text{\hspace{1em}}\ue89e{b}_{l}^{\left(k\right)}& \text{\hspace{1em}}\ue89e\mathrm{for}\ue89e\text{\hspace{1em}}\ue89ek=1\ue89e\text{\hspace{1em}}\ue89e\dots \ue89e\text{\hspace{1em}}\ue89eK,& \text{\hspace{1em}}\ue89en=1\ue89e\text{\hspace{1em}}\ue89e\dots \ue89e\text{\hspace{1em}}\ue89eN,& l=1\ue89e\text{\hspace{1em}}\ue89e\dots \ue89e\text{\hspace{1em}}\ue89eQ+W1\\ \text{\hspace{1em}}\ue89e0& \text{\hspace{1em}}\ue89e\mathrm{otherwise}& \text{\hspace{1em}}& \text{\hspace{1em}}\end{array}$
[0021]
For example, where K=2, N=3, Q=3 and W=4 the system matrix A has the structure shown below.
$A=\underset{\underset{12\ue89e\left(N*Q+W1\right)\times 6\ue89e\left(\mathrm{KN}\right)}{\uf613}}{\left[\begin{array}{cccccc}{b}_{1}^{\left(1\right)}& {b}_{1}^{\left(2\right)}& 0& 0& 0& 0\\ {b}_{2}^{\left(1\right)}& {b}_{2}^{\left(2\right)}& 0& 0& 0& 0\\ {b}_{3}^{\left(1\right)}& {b}_{3}^{\left(2\right)}& 0& 0& 0& 0\\ {b}_{4}^{\left(1\right)}& {b}_{4}^{\left(2\right)}& {b}_{1}^{\left(1\right)}& {b}_{1}^{\left(2\right)}& 0& 0\\ {b}_{5}^{\left(1\right)}& {b}_{5}^{\left(2\right)}& {b}_{2}^{\left(1\right)}& {b}_{2}^{\left(2\right)}& 0& 0\\ {b}_{6}^{\left(1\right)}& {b}_{6}^{\left(2\right)}& {b}_{3}^{\left(1\right)}& {b}_{3}^{\left(2\right)}& 0& 0\\ 0& 0& {b}_{4}^{\left(1\right)}& {b}_{4}^{\left(2\right)}& {b}_{1}^{\left(1\right)}& {b}_{1}^{\left(2\right)}\\ 0& 0& {b}_{5}^{\left(1\right)}& {b}_{5}^{\left(2\right)}& {b}_{2}^{\left(1\right)}& {b}_{2}^{\left(2\right)}\\ 0& 0& {b}_{6}^{\left(1\right)}& {b}_{6}^{\left(2\right)}& {b}_{3}^{\left(1\right)}& {b}_{3}^{\left(2\right)}\\ 0& 0& 0& 0& {b}_{4}^{\left(1\right)}& {b}_{4}^{\left(2\right)}\\ 0& 0& 0& 0& {b}_{5}^{\left(1\right)}& {b}_{5}^{\left(2\right)}\\ 0& 0& 0& 0& {b}_{6}^{\left(1\right)}& {b}_{6}^{\left(2\right)}\end{array}\right]}.$
[0022]
The received sequence e is processed in a receiver to detect and obtain decisions on the transmitted data vectors d^{(k) }wherein the user signature sequences c^{(k) }is known by the receiver, and the CIR, described by system matrix A, is known or calculated using techniques known in the art.
[0023]
In the prior art MMSEBLE technique, the solution for the transmitted user data sequences is estimated by
d ^{est}=(A ^{H} A+σ ^{2} I)^{−1} A ^{H} e
[0024]
as described in Klein et al., “ZeroForcing and Minimum MeanSquareError Equalization for Multiuser Detection in CodeDivision MultipleAccess Channels”, IEEE Transactions on Vehicular Technology, Vol. 45, No. 2, pp. 276287, May 1996.
[0025]
A straightforward solution to this equation is to force through all the equations, which includes taking the inverse operator of a matrix, and multiply those rows of this operator, which correspond to the codes assigned to a user of interest, with the vector A^{H}e. However effective, this will be computationally complex because it involves the inversion of a large matrix.
[0026]
The MMSEBLE technique solves the above equation by using Cholesky decomposition on the infiniteimpulseresponse matrix filter (A^{H}A+σ^{2}I). Cholesky decomposition is achieved by first defining
z=A^{H}e
[0027]
Substituting this in the MMSEBLE solution results in
d ^{est}=(A ^{H} A+σ ^{2} I)^{−1} z
[0028]
The Cholesky decomposition step is represented as shown below
A
^{H}
A+σ
^{2}
I=LL
^{H}
[0029]
Substituting this in the MMSEBLE solution results in
LL^{H}d^{est}=z
Defining
L^{H}d^{est}=w
[0030]
and substituting this in the above equation results in
Lw=z
[0031]
avoiding the calculation of an inversion of a large matrix. Some of the terms used in the above equation are elaborated below.
${d}^{\mathrm{est}}=\left[\begin{array}{c}{d}_{1}^{\mathrm{est}}\\ {d}_{2}^{\mathrm{est}}\\ \dots \\ \dots \\ {d}_{N}^{\mathrm{est}}\end{array}\right]\ue89e\text{\hspace{1em}}\ue89ew=\left[\begin{array}{c}{w}_{1}\\ {w}_{2}\\ \dots \\ \dots \\ {w}_{N}\end{array}\right]\ue89e\text{\hspace{1em}}\ue89e{d}_{k}^{\mathrm{est}}=\left[\begin{array}{c}{d}_{k}^{\left(1\right)\ue89e\mathrm{est}}\\ {d}_{k}^{\left(2\right)\ue89e\mathrm{est}}\\ \dots \\ \dots \\ {d}_{k}^{\left(K\right)\ue89e\mathrm{est}}\end{array}\right]\ue89e\text{\hspace{1em}}\ue89e{w}_{k}=\left[\begin{array}{c}{w}_{k}^{\left(1\right)}\\ {w}_{k}^{\left(2\right)}\\ \dots \\ \dots \\ {w}_{k}^{\left(3\right)}\end{array}\right]$
[0032]
where d_{k} ^{(t)est }is the estimate of the k^{th }symbol of the i^{th }user.
[0033]
In the MMSEBLE technique, to obtain d_{k} ^{(j)est }for all 1 ≦k≦N, i.e. all the symbols of user j, it is first necessary to solve for w. In particular, all of w must be solved for since an infiniteimpulseresponse (IIR) filter is used which does not only include those components of w that are relevant to user j. Therefore, all of the components are needed for solving d^{est}. This is backward substitution. To determine d^{est }it is again necessary to solve for all the components of d^{est }for the same reasons. This is forward substitution. Both forward and backward substitution are similar to IIR Matrix filtering operations as are known in the art and involve feedback of vectors which need to be calculated wholly and not partially, and hence the prior art MMSEBLE technique does not solve for particular components of w and d^{est}.
[0034]
In the present invention the system matrix A can be written in the form
$A=\left[\begin{array}{ccc}{A}_{0}& 0& 0\\ {A}_{1}& {A}_{0}& 0\\ 0& {A}_{1}& {A}_{0}\\ 0& 0& {A}_{1}\end{array}\right]$
[0035]
where A_{0 }and A_{1 }are blocks of size Q×K, and the matrix is a block convolution matrix.
[0036]
In the general case, the system matrix A will have ρ+1 blocks, where ρ is defined as
$\rho =\left[\frac{W1}{Q}\right].$
[0037]
This is because the length of the sequences b^{(k) }is Q+W−1 . If this is split into blocks of size Q, there will be ρ+1 blocks after appending the requisite number of zeros to make Q+W−1 evenly divisible by Q.
[0038]
Referring to FIG. 2, premultiplication by matrix A can be treated as convolution of a matrix filter (A filter whose taps between delay blocks D are matrices) of size ρ+1 and the b
^{(k) }sequence of vectors of size K×1. Also in the above equation e and n are the
[0039]
output and the noise vectors respectively and are both of size (N+ρ)Q. Following the filtering interpretation, we can think of e as a sequence of (N+ρ) vectors of size Q×1. Thus we can describe the downlink of the TDD CDMA system in the form of a matrix filter. The filtering operation is shown below.
[0040]
In contrast to the previously described MMBEBLE technique, the present invention only calculates using those components that are relevant to a user. This solution is similar to the formation of an FIR filter from the IIR filter (A^{H}A+σ^{2}I)^{−1 }with the impulse response being truncated to the length of the observation vector. The IIR filter can be truncated to a few taps while forming the FIR filter with minimal loss in performance. In other words, the previously described IIR Matrix operation is converted to an FIR Matrix operation. This is advantageous because FIR Matrix filtering does not involve feedback and hence only the Q codes assigned to a user of interest need to be demodulated, resulting in a reduction of the computational complexity. Also, it is advantageous to truncate the IIR filter in order to avoid computing all the coefficients most of which will be insignificant and hence truncation will result in minimal performance loss.
[0041]
The system can be modeled as shown in the FIG. 3 where FIR matrix filter coefficients F are determined such that the error variance is minimized. A novel aspect of the present invention is, instead of trying to equalize the whole block of length N as in the case of the prior art MMSEBLE technique, a smaller block of length L is equalized. Typically, L is on the order of ρ+1. The system equation then would be
e=Cd+n
[0042]
Here, the matrix C is defined as shown below and has L columns.
$C=\left[\begin{array}{ccccc}{A}_{0}& 0& \dots & 0& 0\\ {A}_{1}& {A}_{0}& \dots & 0& 0\\ \text{\hspace{1em}}& \text{\hspace{1em}}& \dots & \text{\hspace{1em}}& \text{\hspace{1em}}\\ 0& 0& \dots & {A}_{\rho}& {A}_{\rho 1}\\ 0& 0& \dots & 0& {A}_{\rho}\end{array}\right]$
[0043]
In this case, the block length has been reduced from N to L. The vector d can be any block of L vectors of size K×l from the N available vectors from the frame, and ^{e }is the corresponding output. This equation is not exact because it assumes that the data points before and after the data block under consideration are zeros and some of the top and bottom equations resulting out of the matrix equation are not exact. The solution to this equation is now
d ^{est}=(C ^{H} C+σ ^{2} I)^{−1} C ^{H} e
[0044]
wherein the matrix (C^{H}C+σ^{2}I)^{−1}C^{H }is a block convolution matrix because it is the product of two block convolution matrices.
[0045]
A novel aspect of the present invention is to take a row or column of the combined block convolution matrix to obtain a finiteimpulse response (FIR) matrix filter equalizer for equalizing a block smaller or equal to a frame length of input data. In particular, the FIR filter equalizer is obtained by taking either one of the middle rows or one of the middle columns of the combined block convolution matrix since edge rows and columns do not have all the filter coefficients and hence they are not taken. A parameter, δ, is defined to decide which column (or row) is to be chosen to serve as an FIR matrix filter equalizer. If we define
h _{δ}=[0 . . . I _{Q×Q }. . . 0]^{H}
[0046]
where the identity matrix in h_{δ} is in the δ^{th }row, the required filter can be written as
f ^{opt}=(C ^{H} C+σ ^{2} I)^{−1} C ^{H} h _{δ}
[0047]
The equalization procedure is shown in the FIG. 4 representing a block diagram of the FIR matrix equalizer of the present invention. The matrix blocks f
^{opt }are the equalizer taps of size K×Q which operate on (are convolved with) sequence e through delay blocks D to obtain the estimated data sequence d
^{est}.
[0048]
In a preferred embodiment, and in order to gain computational efficiency, the FIR filter equalizer can be split into two FIR matrix filters
f_{1}=C^{H}h_{δ1}
and
f _{2}=(C ^{H} C+σ ^{2} I)^{−1} h _{δ2}
where
h _{δ1}=[0 . . . I _{Q×Q }. . . 0]^{H}
and
h _{δ2}=[0 . . . I _{K×K }. . . 0]^{H}
[0049]
In this case, convolving the two filters, f_{1 }and f_{2}, has the same result as taking a row or column of the combined convolution matrix as described above, but uses less computations. In particular, at least one of the filters includes multiplying a conjugate transposition of an identity matrix, in the row of the matrix filter taps which correspond to the codes assigned to a particular user of interest, with the conjugate transposition of the matrix C. For example, while performing the second filtering operation a particular user can demodulate their own data without demodulating the data of the other users. Specifically, when performing the second filtering, a matrix X of size K×K is multiplied with a vector y of size K×1 to get a vector d of size K×1, i.e. d=Xy. However, if only the k^{th }element in K is required, all that is needed is to multiply the k^{th }row of X with y. Hence the computational savings. This can be done by convolving only those rows of the matrix filter taps, which correspond to the codes assigned to that particular user (using knowledge of the active codes), with the input vector sequence e. Basically, d^{est }is obtained by first convolving e with f_{1}. Let us call the result of this x. Then to complete the process, x is convolved with f_{2}. It is while convolving with f_{2 }that the computational gain is obtained, as has been explained above.
[0050]
In summary, the present invention provides a method for multiuser detection in a CDMA communication system using a finiteimpulseresponse matrix filter. The method includes a first step of inputting a received sequence of multiuser data from a channel of the communication system, wherein active codes identify each particular user of the channel. A next step includes truncating a block convolution matrix representing an infiniteimpulseresponse filter defining a system equation of the channel so as to provide a finiteimpulseresponse filter. A next step includes operating on the received sequence of multiuser data with the finiteimpulseresponse filter so as to provide an estimate of user data for any particular user.
[0051]
Preferably, the truncating step includes a step of taking one of a middle column and a middle row of the infiniteimpulse response (IIR) filter to define a finiteimpulse response equalizer, and the operating step includes operating on the received sequence of multiuser data with the finiteimpulseresponse filter with a smaller block length than the IIR filter. Particularly, this step includes using a system matrix with smaller number of columns than the frame length of input code by taking a smaller size system matrix with L columns of blocks of size Q×K.
[0052]
More preferably, the taking step includes splitting the FIR matrix filter equalizer into two FIR matrix filters in order to reduce the computational complexity. The reduction is achieved during the second FIR matrix filtering by convolving the output vector sequence of the first FIR matrix filtering operation with only those rows of the second FIR matrix filter that will result in the estimating the data of the user of interest. The operating step includes operating on the received sequence of multiuser data with the first filter, which includes a conjugate transposition of the smaller sized system matrix C multiplied by a conjugate transposition of an identity matrix located in a row of a user of interest and then operating on the result by convolving only those rows of the second filter which correspond to the active codes of the user of interest, which results in the estimation of data of the user of interest. The rows used are determined through the knowledge of which codes have been assigned to the user among the active codes.
[0053]
Advantageously, the present invention provides an improvement in terms of computational complexity when the ratio of the number of codes assigned to a user of interest and the total number of active codes is small. Overall, the present invention is an improvement over the prior art due to the lesser number of matrix coefficients that have to be computed. In particular, because the matrix that is inverted is of smaller dimensions than in the prior art, the present invention is better suited for fixedpoint implementation. This is because matrix inversion in these cases using Cholesky decomposition is essentially a feedback operation, which has an inherent problem of error propagation. Therefore, inversion of a smaller matrix has less error propagation.
EXAMPLE
[0054]
A data sequence undergoes several processing steps in the prior art and as described above for the present invention. These include one or more of matched filtering, calculation of A^{H}A, fast Cholesky decomposition, forward/backward recursions, and FIR matrix filtering. The number of calculations for each operation is represented below. The complexity of calculating all of the matrix operation described above can be estimated. The operations involved comprise one or more of multiply and accumulated (MAC) operations, square root operations, and division operations. The matched filtering operation consists of MAC operations totaling 2NK(Q+W−1). The calculation of A^{H}A requires MAC operations totaling 0.5K(K+1)(Q+W−1)+ρK^{2}(W−0.5Q(ρ−1)−1). Fast Cholesky decomposition requires MAC operations totaling (2ρ+⅔)K^{3}+ρK^{2}−2K/3, square root operations totaling 2K, and division operations totaling NK((ρ+0.5)K−1). The forward and backward recursions require MAC operations totaling (LK−1)K((2ρ+1)K−2) and division operations totaling LK^{2}. Lastly, FIR matrix filtering requires MAC operation totaling 2NLKK′, where K′ is the number of codes assigned to a user of interest.
[0055]
Table 1 shows the total number of operations necessary to perform the present invention FIR matrix filter equalization in comparison to the prior art MMSEBLE method. Assuming ρ=1 and
L=2ρ+1, several user scenarios are presented.
TABLE 1 


MOPS (millions of operations per second) 
 MMSE  BLE  FIR matrix filter 
 
12.2  kbps  82915500  64453500 
4  users 
12.2  kbps  31117500  28219500 
2  users 
64  kbps  117052500  104146500 
2  users 
144  kbps  99277500  110139000 
1  user 
384  kbps  82915500  90805500 
1  user 

[0056]
It can be observed from Table 1 that when the ratio of the number of codes assigned to a user of interest to the total number of active codes is small, the present invention provides a reduction in computational complexity.
[0057]
A numerical simulation was performed using the finiteimpulseresponse matrix filter equalization, in accordance with the present invention. The results are provided below. Channel—ITU Pedestrian B simulation data, as is known in the industry, was used in the numerical simulation for all simulations.
[0058]
[0058]FIG. 5 shows a graph of the results indicating biterrorrate (BER) versus E_{b}/N_{o }(energy per bit/noise power density) in an operating environment of five active codes (out of sixteen possible), for the prior art MMSEBLE model and the FIR equalizer (L=5, δ=2) of the present invention. As can be seen, the present invention provides improved bit error rate (shown as the lower curve) at lower E_{b}/N_{o }over the prior art method (shown as the upper curve). In addition, this is accomplished with fewer calculations as described previously. Increasing FIR matrix size (e.g. L>5) results in better performance at the expense of more calculations. However, in an environment with a higher number of active codes, the performance of the present invention start to fall off, which must be balanced against the processing savings made available by the reduction in processing requirements.
[0059]
In review, the present invention provides multiuser detection in a CDMA communication system using a finiteimpulseresponse matrix filter equalization that reduces computational complexity without sacrificing performance. No additional hardware is required and processor resources are freed up.
[0060]
While specific components and functions of the present invention are described above, fewer or additional functions could be employed by one skilled in the art and be within the broad scope of the present invention. The invention should be limited only by the appended claims.