Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberUS20020146062 A1
Publication typeApplication
Application numberUS 09/778,556
Publication dateOct 10, 2002
Filing dateFeb 7, 2001
Priority dateFeb 7, 2001
Also published asCN1224198C, CN1457568A, EP1360783A1, EP1360783A4, US6466611, WO2002063802A1
Publication number09778556, 778556, US 2002/0146062 A1, US 2002/146062 A1, US 20020146062 A1, US 20020146062A1, US 2002146062 A1, US 2002146062A1, US-A1-20020146062, US-A1-2002146062, US2002/0146062A1, US2002/146062A1, US20020146062 A1, US20020146062A1, US2002146062 A1, US2002146062A1
InventorsRaja Bachu, James McCoy
Original AssigneeMotorola, Inc.
Export CitationBiBTeX, EndNote, RefMan
External Links: USPTO, USPTO Assignment, Espacenet
Multi-user detection using a finite-impulse-response matrix filter
US 20020146062 A1
Abstract
A method for multi-user detection in a CDMA communication system using a finite-impulse-response matrix filter includes a first step of inputting a received sequence of multi-user data from a channel of the communication system. A next step includes truncating a block convolution matrix representing an infinite-impulse-response matrix filter so as to provide a finite-impulse-response matrix filter equalizer by using a system matrix with smaller number of columns than the frame length. A next step includes operating on the received sequence of multi-user data with the finite-impulse-response filter so as to provide an estimate of user data for any particular user.
Images(4)
Previous page
Next page
Claims(13)
What is claimed is:
1. A method for multi-user detection in a CDMA communication system using a finite-impulse-response matrix filter, the method comprising the steps of:
inputting a received sequence of multi-user data from a channel of the communication system, active codes identifying particular users of the channel;
truncating a block convolution matrix representing an infinite-impulse-response filter defining a system equation of the channel so as to provide a finite-impulse-response filter; and
operating on the received sequence of multi-user data with the finite-impulse-response filter so as to provide an estimate of user data for any particular user.
2. The method of claim 1, wherein the truncating step includes a step of taking one of a middle column and a middle row of the infinite-impulse response filter to define a finite-impulse response (FIR) matrix filter equalizer, and the operating step includes operating on the received sequence of multi-user data with the finite-impulse-response filter.
3. The method of claim 2, wherein the taking step includes splitting the FIR matrix filter equalizer into two FIR matrix filters, at least one of the filters includes convolving only those rows of the matrix filter taps, which correspond to the codes assigned to a particular user of interest, and wherein the operating step includes operating on the received sequence of multi-user data with the first filter and then operating on the result with the second filter.
4. The method of claim 1, wherein the truncation step includes taking a smaller size system matrix with a smaller number of columns than a frame length of code.
5. The method of claim 4, wherein the truncating step includes defining the finite-impulse-response filter to be one of the rows or columns of the matrix (CHC+σ2I)−1CH.
6. The method of claim 1, wherein the truncation step includes splitting the finite-impulse-response filter into a first filter CHhδ1 where hδ1=[0 . . . IQQ . . . 0]H and a second filter (CHC+σ2I)−1hδ2 where hδ2=[0 . . . IKK . . . 0]H, and wherein the operating step includes operating on the received sequence of multi-user data with the first and second filters sequentially.
7. A method for multi-user detection in a CDMA communication system using a finite-impulse-response matrix filter, the method comprising the steps of:
inputting a received sequence of multi-user data from a channel of the communication system, active codes identifying particular users of the channel;
truncating a block convolution matrix representing an infinite-impulse-response filter, defining a system equation of the channel so as to provide a finite-impulse-response matrix filter equalizer;
providing two filters from the finite-impulse-response filter, at least one of the filters includes convolving only those rows of the matrix filter taps, which correspond to the codes assigned to a particular user of interest using knowledge of the active codes, with the received sequence; and operating on the received sequence of multi-user data with the first filter and then operating on the result with the second filter so as to provide an estimate of user data for any particular user.
8. The method of claim 7, wherein the truncation step includes taking a smaller size system matrix with a smaller number of columns than a frame length of code.
9. The method of claim 7, wherein the truncating step includes defining the finite-impulse-response filter to be one of the rows or columns of the matrix (CHC+σ2I)−1CH.
10. The method of claim 7, wherein the truncation step includes splitting the finite-impulse-response filter into a first filter CHhδ1 where hδ1=[0 . . . IQQ . . . 0]H and a second filter (CHC+σ2I)−1hδ2 where hδ2=[0 . . . IKK . . . 0]H, and wherein the operating step includes operating on the received sequence of multi-user data with the first and second filters sequentially.
11. A method for multi-user detection in a CDMA communication system using a finite-impulse-response matrix filter, the method comprising the steps of:
inputting a received sequence of multi-user data from a channel of the communication system, active codes identifying particular users of the channel;
truncating a block convolution matrix representing an infinite-impulse-response filter defining a system equation of the channel so as to provide a finite-impulse-response matrix filter equalizer;
splitting the finite-impulse-response filter into a first filter CHhδ1 where hδ1=[0 . . . IQQ . . . 0]H and a second filter (CHC+σ2I)−1hδ2 where hδ2=[0 . . . IKK . . . 0]H; and
operating on the received sequence of multi-user data with the first filter and then operating on the result with the second filter so as to provide an estimate of user data for any particular user.
12. The method of claim 11, wherein the truncating step includes a step of taking one of a middle column and a middle row of the infinite-impulse response filter to define a finite-impulse response (FIR) matrix filter equalizer, and the operating step includes operating on the received sequence of multi-user data with the finite-impulse-response filter.
13. The method of claim 12, wherein the taking step includes splitting the FIR matrix filter equalizer into two FIR matrix filters, at least one of the filters includes convolving only those rows of the matrix filter taps, which correspond to the codes assigned to a particular user of interest using knowledge of the active codes, with the received sequence, and wherein the operating step includes operating on the received sequence of multi-user data with the first filter and then operating on the result with the second filter.
Description
    FIELD OF THE INVENTION
  • [0001]
    This invention relates generally to communication systems, and more particularly to a detector for use in a receiver of multi-user communication system.
  • BACKGROUND OF THE INVENTION
  • [0002]
    Wireless communication systems have an ever-increasing use in transferring voice and data services. Such communication systems include the Code Division Multiple Access (CDMA) standard IS-95. 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 multi-user detection or joint detection. Optimal multi-user detection schemes exist, but are computationally intensive.
  • [0003]
    Various sub-optimal 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, zero-forcing linear equalization, decision feedback equalization, and minimum mean-square-error equalization, used alone or in various combinations. Of these it has been reported by Klein et al. that minimum mean-square-error equalization provides the best performance in the paper “Zero-Forcing and Minimum Mean-Square-Error Equalization for Multiuser Detection in Code-Division Multiple-Access Channels”, IEEE Transactions on Vehicular Technology, Vol. 45, No. 2, pp. 276-287, May 1996, hereinafter referred to as MMSE-BLE (Minimum Mean Squares Error Block Linear Equalizer) useful in a CDMA system where the scrambling code is symbol-periodic.
  • [0004]
    The MMSE-BLE 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 multi-user 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 finite-impulse-response 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 finite-impulse-response 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 multi-user detection in a CDMA communication system using a finite-impulse-response 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 kth code in the channel during one TDD frame duration of length W. The vector c(k) represents the kth 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 3G-CDMA 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 kth 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 dn of each active code is repeated Q times resulting in a Q-dimensional 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 KN 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 zero-mean noise vector
  • n=(n 1 ,n 2 , . . . ,n NQ+W−1)T
  • [0019]
    is subsequently added to the combined data vector resulting in a received signal vector
  • e=(e 1 ,e 2 , . . . ,e NQ+W−1)T =Ad+n
  • [0020]
    where A is the (NQ+W−1)(KN) system matrix given by A Q ( n - 1 ) + l , k + K ( n - 1 ) = { b l ( k ) for k = 1 K , n = 1 N , l = 1 Q + W - 1 0 otherwise
  • [0021]
    For example, where K=2, N=3, Q=3 and W=4 the system matrix A has the structure shown below. A = [ b 1 ( 1 ) b 1 ( 2 ) 0 0 0 0 b 2 ( 1 ) b 2 ( 2 ) 0 0 0 0 b 3 ( 1 ) b 3 ( 2 ) 0 0 0 0 b 4 ( 1 ) b 4 ( 2 ) b 1 ( 1 ) b 1 ( 2 ) 0 0 b 5 ( 1 ) b 5 ( 2 ) b 2 ( 1 ) b 2 ( 2 ) 0 0 b 6 ( 1 ) b 6 ( 2 ) b 3 ( 1 ) b 3 ( 2 ) 0 0 0 0 b 4 ( 1 ) b 4 ( 2 ) b 1 ( 1 ) b 1 ( 2 ) 0 0 b 5 ( 1 ) b 5 ( 2 ) b 2 ( 1 ) b 2 ( 2 ) 0 0 b 6 ( 1 ) b 6 ( 2 ) b 3 ( 1 ) b 3 ( 2 ) 0 0 0 0 b 4 ( 1 ) b 4 ( 2 ) 0 0 0 0 b 5 ( 1 ) b 5 ( 2 ) 0 0 0 0 b 6 ( 1 ) b 6 ( 2 ) ] 12 ( N * Q + W - 1 ) 6 ( KN ) .
  • [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 MMSE-BLE 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., “Zero-Forcing and Minimum Mean-Square-Error Equalization for Multiuser Detection in Code-Division Multiple-Access Channels”, IEEE Transactions on Vehicular Technology, Vol. 45, No. 2, pp. 276-287, 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 AHe. However effective, this will be computationally complex because it involves the inversion of a large matrix.
  • [0026]
    The MMSE-BLE technique solves the above equation by using Cholesky decomposition on the infinite-impulse-response matrix filter (AHA+σ2I). Cholesky decomposition is achieved by first defining
  • z=AHe
  • [0027]
    Substituting this in the MMSE-BLE 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 MMSE-BLE solution results in
  • LLHdest=z
  • Defining
  • LHdest=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 est = [ d 1 est d 2 est d N est ] w = [ w 1 w 2 w N ] d k est = [ d k ( 1 ) est d k ( 2 ) est d k ( K ) est ] w k = [ w k ( 1 ) w k ( 2 ) w k ( 3 ) ]
  • [0032]
    where dk (t)est is the estimate of the kth symbol of the ith user.
  • [0033]
    In the MMSE-BLE technique, to obtain dk (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 infinite-impulse-response (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 dest. This is backward substitution. To determine dest it is again necessary to solve for all the components of dest 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 MMSE-BLE technique does not solve for particular components of w and dest.
  • [0034]
    In the present invention the system matrix A can be written in the form A = [ A 0 0 0 A 1 A 0 0 0 A 1 A 0 0 0 A 1 ]
  • [0035]
    where A0 and A1 are blocks of size QK, 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 ρ = [ W - 1 Q ] .
  • [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, pre-multiplication 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 K1. 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 Q1. 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 MMBE-BLE 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 (AHA+σ2I)−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 MMSE-BLE 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 = [ A 0 0 0 0 A 1 A 0 0 0 0 0 A ρ A ρ - 1 0 0 0 A ρ ]
  • [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 Kl 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 (CHC+σ2I)−1CH 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 finite-impulse 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 QQ . . . 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 fopt are the equalizer taps of size KQ which operate on (are convolved with) sequence e through delay blocks D to obtain the estimated data sequence dest.
  • [0048]
    In a preferred embodiment, and in order to gain computational efficiency, the FIR filter equalizer can be split into two FIR matrix filters
  • f1=CHhδ1
  • and
  • f 2=(C H C+σ 2 I)−1 h δ2
  • where
  • h δ1=[0 . . . I QQ . . . 0]H
  • and
  • h δ2=[0 . . . I KK . . . 0]H
  • [0049]
    In this case, convolving the two filters, f1 and f2, 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 KK is multiplied with a vector y of size K1 to get a vector d of size K1, i.e. d=Xy. However, if only the kth element in K is required, all that is needed is to multiply the kth 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, dest is obtained by first convolving e with f1. Let us call the result of this x. Then to complete the process, x is convolved with f2. It is while convolving with f2 that the computational gain is obtained, as has been explained above.
  • [0050]
    In summary, the present invention provides a method for multi-user detection in a CDMA communication system using a finite-impulse-response matrix filter. The method includes a first step of inputting a received sequence of multi-user 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 infinite-impulse-response filter defining a system equation of the channel so as to provide a finite-impulse-response filter. A next step includes operating on the received sequence of multi-user data with the finite-impulse-response 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 infinite-impulse response (IIR) filter to define a finite-impulse response equalizer, and the operating step includes operating on the received sequence of multi-user data with the finite-impulse-response 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 QK.
  • [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 multi-user 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 fixed-point 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 AHA, 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 AHA requires MAC operations totaling 0.5K(K+1)(Q+W−1)+ρK2(W−0.5Q(ρ−1)−1). Fast Cholesky decomposition requires MAC operations totaling (2ρ+⅔)K3+ρK2−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 LK2. 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 MMSE-BLE 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 finite-impulse-response 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 bit-error-rate (BER) versus Eb/No (energy per bit/noise power density) in an operating environment of five active codes (out of sixteen possible), for the prior art MMSE-BLE 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 Eb/No 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 multi-user detection in a CDMA communication system using a finite-impulse-response 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.
  • FIELD OF THE INVENTION
  • [0001]
    This invention relates generally to communication systems, and more particularly to a detector for use in a receiver of multi-user communication system.
  • BACKGROUND OF THE INVENTION
  • [0002]
    Wireless communication systems have an ever-increasing use in transferring voice and data services. Such communication systems include the Code Division Multiple Access (CDMA) standard IS-95. 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 multi-user detection or joint detection. Optimal multi-user detection schemes exist, but are computationally intensive.
  • [0003]
    Various sub-optimal 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, zero-forcing linear equalization, decision feedback equalization, and minimum mean-square-error equalization, used alone or in various combinations. Of these it has been reported by Klein et al. that minimum mean-square-error equalization provides the best performance in the paper “Zero-Forcing and Minimum Mean-Square-Error Equalization for Multiuser Detection in Code-Division Multiple-Access Channels”, IEEE Transactions on Vehicular Technology, Vol. 45, No. 2, pp. 276-287, May 1996, hereinafter referred to as MMSE-BLE (Minimum Mean Squares Error Block Linear Equalizer) useful in a CDMA system where the scrambling code is symbol-periodic.
  • [0004]
    The MMSE-BLE 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 multi-user 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 finite-impulse-response 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 finite-impulse-response 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 multi-user detection in a CDMA communication system using a finite-impulse-response 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 kth code in the channel during one TDD frame duration of length W. The vector c(k) represents the kth 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 3G-CDMA 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 kth 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 dn of each active code is repeated Q times resulting in a Q-dimensional 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 KN 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 zero-mean noise vector
  • n=(n 1 ,n 2 , . . . ,n NQ+W−1)T
  • [0019]
    is subsequently added to the combined data vector resulting in a received signal vector
  • e=(e 1 ,e 2 , . . . ,e NQ+W−1)T =Ad+n
  • [0020]
    where A is the (NQ+W−1)(KN) system matrix given by A Q ( n - 1 ) + l , k + K ( n - 1 ) = { b l ( k ) for k = 1 K , n = 1 N , l = 1 Q + W - 1 0 otherwise
  • [0021]
    For example, where K=2, N=3, Q=3 and W=4 the system matrix A has the structure shown below. A = [ b 1 ( 1 ) b 1 ( 2 ) 0 0 0 0 b 2 ( 1 ) b 2 ( 2 ) 0 0 0 0 b 3 ( 1 ) b 3 ( 2 ) 0 0 0 0 b 4 ( 1 ) b 4 ( 2 ) b 1 ( 1 ) b 1 ( 2 ) 0 0 b 5 ( 1 ) b 5 ( 2 ) b 2 ( 1 ) b 2 ( 2 ) 0 0 b 6 ( 1 ) b 6 ( 2 ) b 3 ( 1 ) b 3 ( 2 ) 0 0 0 0 b 4 ( 1 ) b 4 ( 2 ) b 1 ( 1 ) b 1 ( 2 ) 0 0 b 5 ( 1 ) b 5 ( 2 ) b 2 ( 1 ) b 2 ( 2 ) 0 0 b 6 ( 1 ) b 6 ( 2 ) b 3 ( 1 ) b 3 ( 2 ) 0 0 0 0 b 4 ( 1 ) b 4 ( 2 ) 0 0 0 0 b 5 ( 1 ) b 5 ( 2 ) 0 0 0 0 b 6 ( 1 ) b 6 ( 2 ) ] 12 ( N * Q + W - 1 ) 6 ( KN ) .
  • [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 MMSE-BLE 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., “Zero-Forcing and Minimum Mean-Square-Error Equalization for Multiuser Detection in Code-Division Multiple-Access Channels”, IEEE Transactions on Vehicular Technology, Vol. 45, No. 2, pp. 276-287, 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 AHe. However effective, this will be computationally complex because it involves the inversion of a large matrix.
  • [0026]
    The MMSE-BLE technique solves the above equation by using Cholesky decomposition on the infinite-impulse-response matrix filter (AHA+σ2I). Cholesky decomposition is achieved by first defining
  • z=AHe
  • [0027]
    Substituting this in the MMSE-BLE 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 MMSE-BLE solution results in
  • LLHdest=z
  • Defining
  • LHdest=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 est = [ d 1 est d 2 est d N est ] w = [ w 1 w 2 w N ] d k est = [ d k ( 1 ) est d k ( 2 ) est d k ( K ) est ] w k = [ w k ( 1 ) w k ( 2 ) w k ( 3 ) ]
  • [0032]
    where dk (t)est is the estimate of the kth symbol of the ith user.
  • [0033]
    In the MMSE-BLE technique, to obtain dk (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 infinite-impulse-response (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 dest. This is backward substitution. To determine dest it is again necessary to solve for all the components of dest 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 MMSE-BLE technique does not solve for particular components of w and dest.
  • [0034]
    In the present invention the system matrix A can be written in the form A = [ A 0 0 0 A 1 A 0 0 0 A 1 A 0 0 0 A 1 ]
  • [0035]
    where A0 and A1 are blocks of size QK, 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 ρ = [ W - 1 Q ] .
  • [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, pre-multiplication 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 K1. 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 Q1. 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 MMBE-BLE 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 (AHA+σ2I)−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 MMSE-BLE 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 = [ A 0 0 0 0 A 1 A 0 0 0 0 0 A ρ A ρ - 1 0 0 0 A ρ ]
  • [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 Kl 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 (CHC+σ2I)−1CH 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 finite-impulse 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 QQ . . . 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 fopt are the equalizer taps of size KQ which operate on (are convolved with) sequence e through delay blocks D to obtain the estimated data sequence dest.
  • [0048]
    In a preferred embodiment, and in order to gain computational efficiency, the FIR filter equalizer can be split into two FIR matrix filters
  • f1=CHhδ1
  • and
  • f 2=(C H C+σ 2 I)−1 h δ2
  • where
  • h δ1=[0 . . . I QQ . . . 0]H
  • and
  • h δ2=[0 . . . I KK . . . 0]H
  • [0049]
    In this case, convolving the two filters, f1 and f2, 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 KK is multiplied with a vector y of size K1 to get a vector d of size K1, i.e. d=Xy. However, if only the kth element in K is required, all that is needed is to multiply the kth 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, dest is obtained by first convolving e with f1. Let us call the result of this x. Then to complete the process, x is convolved with f2. It is while convolving with f2 that the computational gain is obtained, as has been explained above.
  • [0050]
    In summary, the present invention provides a method for multi-user detection in a CDMA communication system using a finite-impulse-response matrix filter. The method includes a first step of inputting a received sequence of multi-user 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 infinite-impulse-response filter defining a system equation of the channel so as to provide a finite-impulse-response filter. A next step includes operating on the received sequence of multi-user data with the finite-impulse-response 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 infinite-impulse response (IIR) filter to define a finite-impulse response equalizer, and the operating step includes operating on the received sequence of multi-user data with the finite-impulse-response 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 QK.
  • [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 multi-user 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 fixed-point 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 AHA, 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 AHA requires MAC operations totaling 0.5K(K+1)(Q+W−1)+ρK2(W−0.5Q(ρ−1)−1). Fast Cholesky decomposition requires MAC operations totaling (2ρ+⅔)K3+ρK2−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 LK2. 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 MMSE-BLE 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 finite-impulse-response 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 bit-error-rate (BER) versus Eb/No (energy per bit/noise power density) in an operating environment of five active codes (out of sixteen possible), for the prior art MMSE-BLE 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 Eb/No 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 multi-user detection in a CDMA communication system using a finite-impulse-response 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.
Referenced by
Citing PatentFiling datePublication dateApplicantTitle
US7203181 *Oct 3, 2002Apr 10, 2007Interdigital Technology CorporationCDMA system transmission matrix coefficient calculation
US7693113Apr 9, 2007Apr 6, 2010Interdigital Technology CorporationCDMA system transmission matrix coefficient calculation
US20040001465 *Oct 3, 2002Jan 1, 2004Interdigital Technology CorporationCDMA system transmission matrix coefficient calculation
US20040229567 *Apr 5, 2004Nov 18, 2004Attila BilgicMethod and device for iterative JD equalization
US20070189238 *Apr 9, 2007Aug 16, 2007Interdigital Technology CorporationCDMA system transmission matrix coefficient calculation
Classifications
U.S. Classification375/144, 375/E01.025, 375/E01.027, 375/232, 375/148
International ClassificationH04B1/7105, H04L25/03
Cooperative ClassificationH04B1/71052, H04L2025/03375, H04B1/7105, H04L2025/03477, H04B1/71055, H04L2025/03605
European ClassificationH04B1/7105, H04B1/7105C
Legal Events
DateCodeEventDescription
Feb 7, 2001ASAssignment
Owner name: MOTOROLA, INC., ILLINOIS
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BACHU, RAJA S.;MCCOY, JAMES W.;REEL/FRAME:011583/0985
Effective date: 20010131
Mar 18, 2003CCCertificate of correction
Mar 28, 2006FPAYFee payment
Year of fee payment: 4
Mar 23, 2010FPAYFee payment
Year of fee payment: 8
Dec 13, 2010ASAssignment
Owner name: MOTOROLA MOBILITY, INC, ILLINOIS
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MOTOROLA, INC;REEL/FRAME:025673/0558
Effective date: 20100731
Oct 2, 2012ASAssignment
Owner name: MOTOROLA MOBILITY LLC, ILLINOIS
Free format text: CHANGE OF NAME;ASSIGNOR:MOTOROLA MOBILITY, INC.;REEL/FRAME:029216/0282
Effective date: 20120622
Mar 26, 2014FPAYFee payment
Year of fee payment: 12
Nov 24, 2014ASAssignment
Owner name: GOOGLE TECHNOLOGY HOLDINGS LLC, CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MOTOROLA MOBILITY LLC;REEL/FRAME:034432/0001
Effective date: 20141028