The invention generally relates to wireless communication systems. In particular, the invention relates to joint detection of multiple user signals in a wireless communication system.
In some communication systems, such as code division multiple access (CDMA) and time division duplex using code division multiple access (TDD/CDMA), multiple communications are sent over the same frequency spectrum. These communications are typically differentiated by their chip code sequences. To more efficiently use the frequency spectrum, TDD/CDMA communication systems use repeating frames divided into time slots for communication. A communication sent in such a system will have one or multiple associated chip codes and time slots assigned to it based on the communication's bandwidth.
Since multiple communications may be sent in the same frequency spectrum and at the same time, a receiver in such a system must distinguish between the multiple communications. One approach to detecting such signals is matched filtering. In matched filtering, a communication sent with a single code is detected. Other communications are treated as interference. To detect multiple codes, a respective number of matched filters are used. Another approach is successive interference cancellation (SIC). In SIC, one communication is detected and the contribution of that communication is subtracted from the received signal for use in detecting the next communication.
In some situations, it is desirable to be able to detect multiple communications simultaneously in order to improve performance. Detecting multiple communications simultaneously is referred to as joint detection. Some joint detectors use Cholesky decomposition to perform a minimum mean square error (MMSE) detection and zero-forcing block equalizers (ZF-BLEs). These detectors have a high complexity requiring extensive receiver resources.
Accordingly, it is desirable to have alternate approaches to multi-user detection.
A time division duplex communication system using code division multiple access transmits a plurality of data signals over a shared spectrum in a time slot. A combined signal is received over the shared spectrum in the time slot. The plurality of data signals are grouped into a plurality of groups. The combined signal is matched filtered based on in part symbol responses associated with the data signals of one of the groups. Data from each data signal in the one group is jointly detected. An interference signal is constructed based on in part the one group detected data. The constructed interference signal is subtracted from the combined signal. Data from the other groups is detected by processing the subtracted signal.
Each transmitter 26 sends data over a wireless radio channel 30. A data generator 32 in the transmitter 26 generates data to be communicated over a reference channel to a receiver 28. Reference data is assigned to one or multiple codes and/or time slots based on the communications bandwidth requirements. A modulation and spreading device 34 spreads the reference data and makes the spread reference data time-multiplexed with a training sequence in the appropriate assigned time slots and codes. The resulting sequence is referred to as a communication burst. The communication burst is modulated by a modulator 36 to radio frequency. An antenna 38 radiates the RF signal through the wireless radio channel 30 to an antenna 40 of the receiver 28. The type of modulation used for the transmitted communication can be any of those known to those skilled in the art, such as direct phase shift keying (DPSK) or quadrature phase shift keying (QPSK).
A typical communication burst 16 has a midamble 20, a guard period 18 and two data bursts 22, 24, as shown in
The antenna 40 of the receiver 28 receives various radio frequency signals. The received signals are demodulated by a demodulator 42 to produce a baseband signal. The baseband signal is processed, such as by a channel estimation device 44 and a SIC-JD device 46, in the time slots and with the appropriate codes assigned to the communication bursts of the corresponding transmitters 26. The channel estimation device 44 uses the training sequence component in the baseband signal to provide channel information, such as channel impulse responses. The channel information is used by the SIC-JD device 46 to estimate the transmitted data of the received communication bursts as hard symbols.
The SIC-JD device 46 uses the channel information provided by the channel estimation device 44 and the known spreading codes used by the transmitters 26 to estimate the data of the various received communication bursts. Although SIC-JD is described in conjunction with a TDD/CDMA communication system, the same approach is applicable to other communication systems, such as CDMA.
One approach to SIC-JD in a particular time slot in a TDD/CDMA communication system is illustrated in
Each data burst 22, 24 of the communication burst 16 has a predefined number of transmitted symbols, such as Ns. Each symbol is transmitted using a predetermined number of chips of the spreading code, which is the spreading factor (SF). In a typical TDD communication system, each base station 121 to 125 has an associated scrambling code mixed with its communicated data. The scrambling code distinguishes the base stations from one another. Typically, the scrambling code does not affect the spreading factor. Although the terms spreading code and factor are used hereafter, for systems using scrambling codes, the spreading code for the following is the combined scrambling and spreading codes. As a result, each data burst 22, 24 has NS×SF chips. After passing through a channel having an impulse response of W chips, each received burst has a length of SF×Ns+W−1, which is also represented as Nc chips. The code for a kth burst of the K bursts is represented by C(k).
Each kth burst is received at the receiver and can be represented by Equation 1.
r(k)=A(k)d(k), k=1. . . K Equation 1
r(k) is the received contribution of the kth burst. A(k) is the combined channel response, being an Nc×Ns matrix. Each jth column in A(k) is a zero-padded version of the symbol response s(k) of the jth element of d(k). The symbol response s(k) is the convolution of the estimated response h(k) and spreading code C(k) for the burst. d(k) is the unknown data symbols transmitted in the burst. The estimated response for each kth burst, h(k), has a length W chips and can be represent by Equation 2.
h(k)=γ(k)·{tilde over (h)}(k) Equation 2
((k) reflects the transmitter gain and/or path loss. {tilde over (h)}(k) represents the burst-specific fading channel response or for a group of bursts experiencing a similarly channel, {tilde over (h)}(g) represents the group-specific channel response. For uplink communications, each h(k) as well as each ((k) and {tilde over (h)}(k) are distinct. For the downlink, all of the bursts have the same {tilde over (h)}(k) but each ((k) is different. If transmit diversity is used in the downlink, each ((k) and {tilde over (h)}(k) are distinct.
The overall received vector from all K bursts sent over the wireless channel is per Equation 3.
n is a zero-mean noise vector.
By combining the A(k) for all data bursts into matrix A and all the unknown data for each burst d(k) into matrix d, Equation 1 becomes Equation 4.
r=Ad+n Equation 4
SIC-JD determines the received power of each kth burst. This determination may be based on apriori knowledge at the receiver 28, burst-specific channel estimation from a burst-specific training sequence, or a bank of matched filters. The K bursts are arranged in descending order based on the determined received power.
Bursts having roughly the same power level, such as within a certain threshold, are grouped together and are arranged into G groups, 48. The G groups are arranged into descending order by their power, such as from group 1 to G with group 1 having the highest received power.
For the group with the highest received power, group 1, the symbol response matrix for only the bursts in group 1, Ag(1), is determined. Ag(1) contains only the symbol responses of the bursts in group 1. The received vector, r, is modeled for group 1 as xg(1). As a result, Equation 4 becomes Equation 5 for group 1.
xg(1)=Ag(1)dg(1)+n Equation 5
dg(1) is the data in the bursts of group 1. Equation 5 addresses both the effects of inter symbol interference (ISI) and multiple access interference (MAI). As a result, the effects of the other groups, groups 2 to G, are ignored.
The received vector, xg(1), is matched filtered to the symbol responses of the bursts in group 1 by a group 1 matched filter 661, such as per Equation 6, 50.
yg(1)=Ag(1)
yg(1) is the matched filtered result.
A joint detection is performed on group 1 by a group 1 joint detection device 681 to make a soft decision estimate of
using the matched filtered result yg(1). One JD approach is to compute the least-squares, zero-forcing, solution of Equation 7.
Ag(1)
I is the Identity matrix and F2 is the standard deviation.
One advantage to performing joint detection on only a group of bursts is that the complexity of analyzing a single group versus all the signals is reduced. Since Ag(1)
The soft decisions,
are converted into hard decisions,
by soft to hard decision block 701 as the received data for group 1, 54. To process the other weaker groups, the multiple access interference caused by group 1 onto the weaker groups is estimated by a group 1 interference construction block 721 using Equation 9, 56.
{circumflex over (r)}(1)=Ag(1){circumflex over (d)}g,hard(1) Equation 9
{circumflex over (r)}(1) is the estimated contribution of group 1 to r.
For the next group 2, the estimated contribution of group 1 is removed from the received vector, xg(1), to produce xg(2), such as by a subtractor 741, as per Equation 10, 58.
xg(2)=xg(1)−{circumflex over (r)}(1) Equation 10
As a result, multiple access interference from group 1 is effectively canceled from the received signal. The next strongest group, group 2, is processed similarly using xg(2), with group 2 matched filter 662, group 2 JD block 682, soft to hard decision block 702 and group 2 interference construction block 722, 60. The constructed group 2 interference, {circumflex over (r)}(2), is subtracted, such as by subtractor 242, from the interference cancelled signal for group 2, xg(2)−{circumflex over (r)}(2)=xg(3), 62. Using this procedure, each group is successively processed until the final group G. Since group G is the last group, the interference construction does not need to be performed. Accordingly, group G is only processed with group G matched filter 66G, group G JD block 68G and soft to hard decisions block 70G to recovery the hard symbols, 64.
When SIC-JD is performed at a UE 141, it may not be necessary to process all of the groups. If all of the bursts that the UE 141 is intended to receive are in the highest received power group or in higher received power groups, the UE 141 will only have to process the groups having its bursts. As a result, the processing required at the UE 141 can be further reduced. Reduced processing at the UE 141 results in reduced power consumption and extended battery life.
SIC-JD is less complex than a single-step JD due to the dimension Nc×K@Ns matrix being replaced with G JD stages of dimension Nc×ni@Ns, where i=1 to G. ni is the number of bursts in the ith group. The complexity of JD is proportional to the square to cube of the number of bursts being jointly detected.
An advantage of this approach is that a trade-off between computational complexity and performance can be achieved. If all of the bursts are placed in a single group, the solution reduces to a JD problem. The single grouping can be achieved by either forcing all the bursts into one group or using a broad threshold. Alternately, if the groups contain only one signal or only one signal is received, the solution reduces to a SIC-LSE problem. Such a situation could result using a narrow threshold or forcing each burst into its own group, by hard limiting the group size. By selecting the thresholds, an optional tradeoff between performance and complexity can be achieved.
FIGS. 6 to 12 are simulation results that compare the bit error rate (BER) performance of SIC-JD to full JD and RAKE-like receivers under various multi-path fading channel conditions. The parameters chosen are those of the 3G UTRA TDD CDMA system: SF=61 and W=57. Each TDD burst/time-slot is 2560 chips or 667 microseconds long. The bursts carry two data fields with NS QPSK symbols each, a midamble field and a guard period. Each simulation is run over 1000 timeslots. In all cases the number of bursts, K is chosen to be 8. All receivers are assumed to have exact knowledge of the channel response of each burst, which is used to perfectly rank and group the bursts. The channel response is assumed to be time-invariant over a time-slot, but successive time-slots experience uncorrelated channel responses. No channel coding was applied in the simulation. The JD algorithm jointly detects all K bursts. The RAKE-like receiver was a bank of matched filters, {circumflex over (d)}(i)=A(i)
The performance was simulated under fading channels with multi-path profiles defined by the ITU channel models, such as the Indoor A, Pedestrian A, Vehicular A models, and the 3GPP UTRA TDD Working Group 4 Case 1, Case 2 and Case 3 models. In Vehicular A and Case 2 channels, the SIC-JD suffered a degradation of up to 1 decibel (dB) as compared to the full JD in the 1% to 10% BER range. For all other channels, the SIC-JD performance was within 0.5 dB of that of the full JD. Since Vehicular A and Case 2 represent the worst-case amongst all cases studied, only the performance plots are shown. Amongst all channels simulated, Vehicular A and Case 2 have the largest delay spread. Vehicular A is a six tap model with relative delays of 0, 310, 710, 1090, 1730 and 2510 nanoseconds and relative average powers of 0, −1, −9, −10, −15 and −20 decibels (dB). Case 2 is a 3 tap model, all with the same average power and with relative delays of 0, 976 and 1200 nanoseconds.
The complexity of SIC-JD is less than full JD. The reduced complexity stems from the replacement of a single-step JD which is a dimension Nc×K·Ns with G JD stages of dimension Nc×ni·Ns, i=1 . . . G. Since, typically, JD involves a matrix inversion, whose complexity varies as the cube of the number of bursts, the overall complexity of the multi-stage JD can be significantly lower than that of the single-stage full JD. Furthermore, the complexity of the SIC part varies only linearly with the number of bursts, hence it does not offset this complexity advantage significantly. For instance, the complexity of the G-1 stages of interference cancellation can be derived as follows. Since successive column blocks of Ag(i) are shifted versions of the first block and assuming that elements of
belong to 1 of 4 QPSK constellation points, the 4·ni possible vectors can be computed that are needed in computing the product
This step requires
million real operations per sec (MROPS). α=4 is the number of real operations per complex multiplication or multiply and accumulate (MAC). Rate is the number of times the SIC-JD is performed per second With these 4·ni vectors already computed, the computation of xg(i+1) requires
The factor of
comes from the fact that only complex additions are involved. Hence, only 2 real operations are required for each complex operation. It then follows that the complexity of G−1 stages of interference cancellation can be expressed by Equation 11.
The complexity of converting soft to hard decisions is negligible.
There are several well-known techniques to solve the matrix inversion of JD. To illustrate the complexity, an approach using a very efficient approximate Cholesky factor algorithm with negligible loss in performance as compared to the exact Cholesky factor algorithm was used. The same algorithm can be employed to solve group-wise JD. The complexity of the full JD and the SIC-JD for the 3GPP UTRA TDD system is shown in Table 1. Table 1 compares their complexity for various group sizes. It can be seen that as K increases or as the group size decreases the complexity advantage of the SIC-JD over the full JD increases. The complexity for group size 1, of the SIC-LSE, varies linearly with K and is 33% that of the full JD for K=16. Note that maximum number of bursts in the UTRA TDD system is 16. The complexity advantage of the SIC-JD over full JD will be even more pronounced when the exact Cholesky decomposition is employed. Exact Cholesky decomposition's complexity exhibits a stronger dependence on K, leading to more savings as the dimension of the JD is reduced via SIC-JD.
As shown in Table 1, when the number and size of codes is made completely adaptive on an observation interval-by-observation interval basis, the SIC-JD provides savings, on average, over full JD. Since, on average, all bursts do not arrive at the receiver with equal power, depending upon the grouping threshold, the size of the groups will be less then the total number of arriving bursts. In addition, a reduction in peak complexity is also possible if the maximum allowed group size is hard-limited to be less than the maximum possible number of bursts. Such a scheme leads to some degradation in performance when the number of bursts arriving at the receiver with the roughly the same power exceeds the maximum allowed group size. Accordingly, SIC-JD provides a mechanism to trade-off performance with peak complexity or required peak processing power.
This application is a continuation of U.S. patent application Ser. No. 09/783,792, filed Feb. 15, 2001, which claims priority to U.S. Provisional Patent Application No. 60/189,680, filed on Mar. 15, 2000 and U.S. Provisional Patent Application No. 60/207,700, filed on May 26, 2000 which are incorporated by reference as if fully set forth.
Number | Date | Country | |
---|---|---|---|
60189680 | Mar 2000 | US | |
60207700 | May 2000 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09783792 | Feb 2001 | US |
Child | 11210946 | Aug 2005 | US |