Abstract:
A method and wireless communication apparatus for receiving a plurality of communication signals transmitted in a wireless code division multiple access format. A channel response for each received communication signal is estimated. A system response matrix using codes and the channel responses of the received communication signals is constructed. The system response matrix is used in connection with matched filtering the received communication signals and to produce an objective matrix. The filtered communication signals are processed in a cancellation feedback loop to produce a set of symbols of the received communications including iterative processing with an interference cancellation matrix and processing with a feedback interference construction matrix. Preferably, the objective matrix is functionally related to the interference cancellation matrix and the feedback interference construction matrix.

Description:
CROSS REFERENCE TO RELATED APPLICATION(S)  
       [0001]     This application is a continuation of U.S. patent application Ser. No. 10/827,481, filed Apr. 19, 2004, which is a continuation of U.S. patent application Ser. No. 10/127,308, filed Apr. 22, 2002, which issued as U.S. Pat. No. 6,724,809 on Apr. 20, 2004, which is a continuation of PCT/US00/03537, filed Feb. 11, 2000, which claims priority from U.S. Provisional Application No. 60/160,259, filed Oct. 19, 1999, which are all incorporated by reference as if fully set forth. 
     
    
     BACKGROUND  
       [0002]     The present invention relates generally to multiple access digital communication systems. More specifically, the invention relates to a parallel interference cancellation receiver apparatus and method for the simultaneous reception of data from multiple users.  
         [0003]     A multiple-access communication system allows a plurality of users to access the same communication medium to transmit or receive information. The media may comprise, for example, a network cable in a local area network or LAN, a copper wire in the classic telephone system, or an air interface for wireless communication.  
         [0004]     A prior art multiple access communication system is shown in  FIG. 1 . The communication media is referred to as a communication channel. Communication techniques such as frequency division multiple access or FDMA, time division multiple access or TDMA, carrier sense multiple access or CSMA, code division multiple access or CDMA and others allow access to the same communication medium for more than one user. These techniques can be mixed together creating hybrid varieties of multiple access schemes. For example, time division duplex or TDD mode of the proposed third generation W-CDMA standard is a combination of TDMA and CDMA.  
         [0005]     An example CDMA prior art communication apparatus is shown in  FIG. 2 . CDMA is a communication technique in which data is transmitted with a broadened band (spread spectrum) by modulating the data to be transmitted with a pseudo-noise signal. The data signal to be transmitted may have a bandwidth of only a few thousand Hertz distributed over a frequency band that may be several million Hertz. The communication channel is being used simultaneously by K independent subchannels. For each subchannel, all other subchannels appear as interference.  
         [0006]     As shown, a single subchannel of a given bandwidth is mixed with a unique spreading code which repeats a predetermined pattern generated by a wide bandwidth, pseudo-noise (pn) sequence generator. These unique user spreading codes are typically pseudo-orthogonal to one another such that the cross-correlation between the spreading codes is close to zero. A data signal is modulated with the pn sequence producing a digital spread spectrum signal. A carrier signal is then modulated with the digital spread spectrum signal and transmitted in dependence upon the transmission medium. A receiver demodulates the transmission extracting the digital spread spectrum signal. The transmitted data is reproduced after correlation with the matching pn sequence. When the spreading codes are orthogonal to one another, the received signal can be correlated with a particular user signal related to the particular spreading code such that only the desired user signal related to the particular spreading code is enhanced while the other signals for all other users are not enhanced.  
         [0007]     Each value of the spreading code is known as a chip and has a chip rate that is the same or faster than the data rate. The ratio between the chip rate and the subchannel data rate is the spreading factor.  
         [0008]     To extend the possible range of values of the data signal, a symbol is used to represent more than two binary values. Ternary and quaternary symbols take on three and four values respectively. The concept of a symbol allows for a greater degree of information since the bit content of each symbol dictates a unique pulse shape. Depending upon the number of symbols used, an equal number of unique pulse or wave shapes exist. The information at the source is converted into symbols which are modulated and transmitted through the subchannel for demodulation at the destination.  
         [0009]     The spreading codes in a CDMA system are chosen to minimize interference between a desired subchannel and all other subchannels. Therefore, the standard approach to demodulating the desired subchannel has been to treat all other subchannels as interference, similar to interference that manifests itself in the communication medium. Receivers designed for this process are single-user, matched filter and RAKE receivers.  
         [0010]     Since different subchannels do interfere with each other somewhat, another approach is to demodulate all subchannels at a receiver. The receiver can listen to all of the users transmitting at once by running a decoding algorithm for each of them in parallel. This ideology is known as multiuser detection. Multiuser detection can provide a significant performance improvement over single-user receivers.  
         [0011]     Referring to  FIG. 3 , a system block diagram of a prior art CDMA receiver using a multiuser detector is shown. As one skilled in this art realizes, the receiver may include such functions as radio frequency or rf down conversion and associated filtering for radio frequency channels, analog-to-digital conversion or optical signal demodulation for a specific communication media. The output of the receiver is a processed signal, either analog or digital, containing the combined spread signals of all active subchannels. The multiuser detector performs multiuser detection and outputs a plurality of signals corresponding to each active subchannel. All or a smaller number of the total number of subchannels may be processed.  
         [0012]     Optimal multiuser detectors are computationally intensive devices performing numerous complex mathematic operations and are therefore difficult to implement economically. To minimize expense, suboptimal multiuser detectors such as linear detectors and parallel interference cancellation or PIC receivers have been developed requiring less computational complexity as a compromise approximating the performance of optimal detectors. Linear detectors include decorrelators, minimum mean square error or MMSE detectors, zero-forcing block linear equalizers or ZF-BLEs and the like. PIC receivers are usually designed as multistage iterative receivers and are soft-decision (SD) or hard-decision (HD) based.  
         [0013]     A system block diagram of a prior art linear multiuser detector for synchronous or asynchronous CDMA communication is shown in  FIG. 4 . Data output from the communication media specific receiver (as in  FIG. 3 ) is coupled to a subchannel estimator which estimates the impulse response of each symbol transmitted in a respective subchannel. The linear detector uses the impulse response estimates along with a subchannel&#39;s spreading code to demodulate each subchannel&#39;s data. The data is output to subchannel data processing blocks for respective users.  
         [0014]     To effect parallel detection of K subchannel users in a physical system, linear multiuser detector methods are executed as fixed gate arrays, microprocessors, digital signal processors or DSPs and the like. Fixed logic systems allow for greater system speed while microprocessor driven systems offer programming flexibility. Either implementation that is responsible for the multiuser detection performs a sequence of mathematic operations. To describe the functions, the following variables typically define the structure and operation of a linear multiuser detector: 
 
 K =the total number of users/transmitters that are active in the system. 
        N c =the number of chips in a data block. The number of chips is required since with varying spreading factors this number is a measure common to all users. For the case of synchronous CDMA, a symbol from the user with the largest spreading factor may constitute a block of data. Therefore, N c  can be reduced to be equal to the largest spreading factor.     W=the communication channel impulse response length in chips. This is generally a predefined parameter of the system.     Q (k) =the spreading factor of user k. The spreading factor is equal to the number of chips that are used to spread a symbol of user&#39;s data. A system knows the spreading factors in advance and does not need to estimate them from the received data.     N S   (k) =the number of symbols sent by user k. N S   (k) =N c /Q (k) .  
         N   s   T     =         ∑     k   =   1     K     ⁢           ⁢     N   s     (   k   )         =         
 
 the total number of symbols sent. 
    d (k) =the data (information) sent by user k. The data is presented in the form of a vector, where a vector is an array of data indexed by a single index variable. For the purposes of vector and matrix operations which follow, all vectors are defined as column vectors. The n th  element of d (k)  is the n th  symbol transmitted by the k th  user.     h (k) =the impulse response of the subchannel experienced by user k presented as a vector. This quantity needs to be estimated at the receiver. The receiver&#39;s estimates of the subchannel impulse responses are referred to as h (k) . The elements of the vector h (k)  are typically complex numbers, which model both amplitude and phase variations that can be introduced by the subchannel.     v (k) =the spreading code of user k, presented as a vector. For the purposes of linear multiuser detection, it is useful to think of vectors containing the section of the spreading code which spreads a particular symbol. Therefore, the vector v (k,n)  is defined as the spreading code which is used to spread the n th  symbol sent by the k th  user. Mathematically, it is defined as: v i   (k,n) =v i   (k)  for (n-1)Q (k) +1 # i # nQ (k)  and 0 for all other i, where i is the index of vector elements.     r (k) =a vector which represents user k&#39;s data, spread by the spreading sequence v (k)  and transmitted through that user&#39;s subchannel h (k) . The vector r (k)  represents channel observations performed during the period of time when a block of data arrives. The i th  element of the vector r (k)  can be defined as:  
               r   i     (   K   )       =       ∑     n   =   1       N   s   k       ⁢           ⁢       d   n     (   k   )       ⁢       ∑     j   =   1     W     ⁢           ⁢       h   j     (   k   )       ⁢       v     i   -   j   +   1       (     k   ,   n     )       .                     Equation   ⁢           ⁢   1             
 
 The signal received at the receiver includes all user signals r (k)  plus noise. Therefore, we can define the received data vector r as follows:  
             r   =         ∑     k   =   1     K     ⁢           ⁢     r     (   k   )         +     n   .               Equation   ⁢           ⁢   2             
 
 The vector n in Equation 2 represents noise introduced by the communication channel. 
       
 
         [0023]      FIG. 5  shows a system and method of a prior art linear multiuser detector. The estimated subchannel impulse response vectors h (k)  and the spreading codes v (k)  are used to create a system transmission response matrix for each user k. A matrix is a block of numbers indexed by two indexing variables. The matrix is arranged in a rectangular grid, with the first indexing variable being a row index and the second indexing variable being a column index.  
         [0024]     A system transmission response matrix for user k is typically denoted as A (k) . The i th -row, n th -column element is denoted as A i,n   (k)  and is defined as:  
               A     i   ,   n       (   k   )       =       ∑     j   =   1     W     ⁢           ⁢       h   j     (   k   )       ⁢       v     i   -   j   +   1       (     k   ,   n     )       .                 Equation   ⁢           ⁢   3             
 
         [0025]     Each column of the matrix A (k)  corresponds to a matched filter response for a particular symbol sent by user k during the period of interest. Referring back to  FIG. 5 , the received data r is matched to a combination of all user&#39;s spreading codes and subchannel impulse responses. Therefore, A (k)  contains N S   (k)  matched filter responses. The columns of A (k)  are of the form  
               A   n     (   k   )       =     [         0           ⋮           0             b   n     (   k   )               0           ⋮             0   -   9   -           ]             Equation   ⁢           ⁢   4             
 
 where each vector b n   (k)  has a dimension of 
 
 Q   (k)   +W− 1,   Equation 5 
 
 and is offset from the top of the matrix A n   (k)  by 
 
 Q   (k) ( n− 1).   Equation 6 
 
 Since the spreading codes are not periodic over symbol times; b i   (k)  b j   (k)  for i j. The elements of a vector which may be non-zero values are referred to as the support of the vector. Therefore, b n   (k)  is the support of A n   (k) . 
 
         [0026]     Once a system transmission matrix for each user is created, a total system transmission response matrix, denoted as A is created by concatenating the system transmission matrices for all the users as shown below: 
 
 A=└A   (1)   , . . . , A   (k) , . . . , A (k) ┘  Equation 7 
 
         [0027]     In accordance with prior art modulation techniques, the elements of h (k)  can be complex numbers. It then follows that the non-zero elements of A can be complex numbers.  
         [0028]     An example total system transmission response matrix A for a prior art multiuser detector assembled in accordance with Equations 4, 5, 6 and 7 is  
             A   =     [               b     1   ,   1       (   1   )           0       0       0       0       0       0       0             b     1   ,   2       (   1   )           0       0       0       0       0       0       0             b     1   ,   3       (   1   )             b     2   ,   1       (   1   )           0       0       0       0       0       0             b     1   ,   4       (   1   )             b     2   ,   2       (   1   )           0       0       0       0       0       0             b     1   ,   5       (   1   )             b     2   ,   3       (   1   )             b     3   ,   1       (   1   )           0       0       0       0       0           0         b     2   ,   4       (   1   )             b     3   ,   2       (   1   )           0       0       0       0       0           0         b     2   ,   5       (   1   )             b     3   ,   3       (   1   )             b     4   ,   1       (   1   )           0       0       0       0           0       0         b     3   ,   4       (   1   )             b     4   ,   2       (   1   )           0       0       0       0           0       0         b     3   ,   5       (   1   )             b     4   ,   3       (   1   )             b     5   ,   1       (   1   )           0       0       0           0       0       0         b     4   ,   4       (   1   )             b     5   ,   2       (   1   )           0       0       0           0       0       0         b     4   ,   5       (   1   )             b     5   ,   3       (   1   )             b     6   ,   1       (   1   )           0       0           0       0       0       0         b     5   ,   4       (   1   )             b     6   ,   2       (   1   )           0       0           0       0       0       0         b     5   ,   5       (   1   )             b     6   ,   3       (   1   )             b     7   ,   1       (   1   )           0           0       0       0       0       0         b     6   ,   4       (   1   )             b     7   ,   2       (   1   )           0           0       0       0       0       0         b     6   ,   5       (   1   )             b     7   ,   3       (   1   )             b     8   ,   1       (   1   )               0       0       0       0       0       0         b     7   ,   4       (   1   )             b     8   ,   2       (   1   )               0       0       0       0       0       0         b     7   ,   5       (   1   )             b     8   ,   3       (   1   )               0       0       0       0       0       0       0         b     8   ,   4       (   1   )               0       0       0       0       0       0       0         b     8   ,   5       (   1   )               ︸     A     (   1   )           ⁢             b     1   ,   1       (   2   )           0       0       0             b     1   ,   2       (   2   )           0       0       0             b     1   ,   3       (   2   )           0       0       0             b     1   ,   4       (   2   )           0       0       0             b     1   ,   5       (   2   )             b     2   ,   1       (   2   )           0       0             b     1   ,   6       (   2   )             b     2   ,   2       (   2   )           0       0             b     1   ,   7       (   2   )             b     2   ,   3       (   2   )           0       0           0         b     2   ,   4       (   2   )           0       0           0         b     2   ,   5       (   2   )             b     3   ,   1       (   2   )           0           0         b     2   ,   6       (   2   )             b     3   ,   2       (   2   )           0           0         b     2   ,   7       (   2   )             b     3   ,   3       (   2   )           0           0       0         b     3   ,   4       (   2   )           0           0       0         b     3   ,   5       (   2   )             b     4   ,   1       (   2   )               0       0         b     3   ,   6       (   2   )             b     4   ,   2       (   2   )               0       0         b     3   ,   7       (   2   )             b     4   ,   3       (   2   )               0       0       0         b     4   ,   4       (   2   )               0       0       0         b     4   ,   5       (   2   )               0       0       0         b     4   ,   6       (   2   )               0       0       0         b     4   ,   7       (   2   )               ︸     A     (   2   )             ]             Equation   ⁢           ⁢   8             
 
 for two users (k=2), having sixteen chips in a data block (N c =16), a channel impulse response length of four (W=4) and a spreading factor for the first user of two (Q (1) =2) and a spreading factor for the second user of four (Q (2) =4). In the resultant total system transmission response matrix A, b n,i   (k)  denotes the i th  element of the combined system and channel response for the n th  symbol of the k th  user. 
 
         [0029]     The received data r is processed using the total system transmission response matrix A which represents a bank of matched filter responses to create a vector of matched-filter outputs which is denoted as y. The matched filtering operation is defined as 
 
y=A H r.   Equation 9 
 
         [0030]     The matrix A H  represents the Hermitian (or complex) transpose of the matrix A. The Hermitian transpose is defined as A ij   H =  A   ij  where the over-bar denotes the operation of taking a conjugate of a complex number. The matched filter outputs are then multiplied by the inverse of an objective matrix O. The objective matrix O represents the processing which differentiates each type of linear receiver. It is derived from the system transmission matrix A.  
         [0031]     The zero-forcing block linear equalizer (ZF-BLE) receiver is a linear receiver with an objective matrix specified as O=A H A. The minimum mean square error block linear equalizer (MMSE-BLE) receiver is a linear receiver with an objective matrix specified as O=A H A+σ 2 I where σ 2  is the variance of the noise present on each of the symbols of the received data vector r and the matrix I is known as an identity matrix. An identity matrix is square and symmetric with 1&#39;s on its main diagonal and zeros everywhere else. The size of the identity matrix is chosen so as to make the addition operation valid according to the rules of linear algebra.  
         [0032]     For a decorrelator (decorrelating receiver), matrix A is simplified by ignoring the channel responses h (k) , considering only the spreading codes and their cross-correlation (interference) properties. A cross-correlation matrix, commonly referred to as R, is generally constructed for decorrelator type receivers. This matrix can be constructed by assuming that W=1 and h i   (k) =1 in the definition of A above (i.e. the channel response of every subchannel is an impulse). Then the cross correlation matrix R is the objective matrix O as defined for the ZF-BLE receiver. A decorrelator often serves as a sub-process of a more complex multiuser detection receiver. Once the objective matrix is created, the multiuser detector will invert the matrix, denoted as O −1 .  
         [0033]     The inverse of the objective matrix is then multiplied by the matched filter output vector y to produce estimates of the data vector d where d(estimate)=O −1 y. The inversion of the objective matrix O is a complex, computationally intensive process. The number of operations required to perform this process increases as the cube of the size of the matrix O. For most asynchronous CDMA receivers, the size of O is very large which makes the process of inversion impracticable. Techniques using linear algebra reduce the complexity of taking the inverse of the objective matrix. However, these techniques may be impracticable for some applications.  
         [0034]     Unlike linear receivers, PIC receivers do not invert the objective matrix O. Therefore, PIC receivers offer an alternative that is less complex than linear multiuser detectors.  FIG. 6  shows a typical prior-art PIC receiver. The received data vector r is input to a plurality of channel estimators which independently estimate each user&#39;s subchannel impulse response. The subchannel impulse responses are output to a data estimation and interference cancellation processor which estimates the received data for all users in parallel. The estimated received data is output to subchannel data processing blocks for further processing.  
         [0035]     Shown in  FIG. 7  is the prior art data estimation and interference cancellation process used in PIC receivers. The PIC receiver presumes that each subchannel consists of L distinct signal paths from a given user&#39;s transmitter to a receiver due to the transmission media. For each path L, the relative delays, amplitudes and phases are estimated at the receiver by the subchannel estimation processors shown in  FIG. 6 . For each of the L distinct paths of each user K present in the system, the PIC receiver allocates a despreader matched to the specific code of a respective user and the specific time delay of each path. Therefore, a total of KL despreaders are allocated in the despreader bank. Each despreader produces estimates of the received data from its respective user. The L data estimates for different paths of the same user&#39;s subchannel are combined to produce a complete data estimate of the transmitted user&#39;s data. As shown in  FIG. 7 , the common prior art combining method is maximal ratio combining or MRC. Other combining methodologies exist in the prior art and can be used. The combined data estimates are output to a symbol generation processor which generates estimated symbol information which is output to the interference cancellation processor.  
         [0036]     The spreading codes for each user K and the relative delays between the KL paths are known by the interference cancellation processor. The information is used to produce estimates of the interference that each user&#39;s received path (i.e., 1, 2, 3 . . . L) contributes to another user&#39;s L signal paths and to the signals received on L-1 signal paths of the same user. The interference estimates are subtracted from the despreader outputs which are again passed to the combining processor to produce revised data estimates. The revised data estimates are again used to generate revised interference estimates which are used to produce another set of revised data estimates. In theory, the process can be repeated indefinitely. However, in practice, the process terminates after two or three iterations.  
         [0037]     The distinction between an SD-PIC and an HD-PIC lies in the symbol generation process. For the SD-PIC, the symbol generation process generates confidence information about the decisions made on the received symbols, for the HD-PIC, the symbol generation circuit does not generate confidence information for the received symbols. The difference refers only to the internal processing of the data estimation unit of the receiver. Both types of PIC receivers are capable of producing soft and hard decision symbol estimates for further processing by the dedicated subchannel data processors shown in  FIG. 6 . This is shown in  FIG. 7  by placing a final output data symbol generator for generating the final receiver output and may be different from the internal data symbol generation circuit.  
         [0038]     An inherent problem with prior art PIC receivers resides in the received signal model that is used. Prior art PIC receivers assume that each subchannel consists of L discrete paths that the transmitted signal undergoes in the transmission media. The separation of the despreading and channel matching (performed by the combining processor) operations is the result of this assumption. However, a receiver constructed with this assumption can only correct for interference resulting from non-orthogonalities in the spreading sequences, more commonly known as multiple access interference or MAI. It cannot correct for interferences between one user&#39;s various symbols due to the time spreading of these symbols during transmission in the communication channel. This form of signal corruption is more commonly known as inter-symbol interference or ISI. ISI contributes to a phenomenon referred to as “the fat finger effect.” 
         [0039]     The fat finger effect occurs when two paths from the same user have such a small relative time delay that the delay cannot be resolved by the receiver as two distinct paths. The receiver fails to estimate the data from either of the two paths thereby affecting all users resulting in poor receiver performance.  
         [0040]     Since all prior art PIC receivers use the simplifying assumption of L paths to separate the despreading and the channel combining operations, a PIC receiver using the accurate received signal model of a linear multiuser detector is desired.  
       SUMMARY  
       [0041]     A parallel interference cancellation (PIC) receiver apparatus and method is presented that reduces impulse response interference using a model of the received signal similar to that used in block linear equalizers. Block linear equalizers comprise decorrelating receivers, zero-forcing receivers, minimum mean square error receivers and the like. An interference computation processor feedback loop for correcting the output of a direct interference canceller is preferably provided. An m iterative process preferably removes interferers from the output symbols of a matched-filter. The PIC receiver preferably uses received signal models of the various block linear equalizers that do not assume that each subchannel consists of several distinct paths. The receiver preferably estimates the impulse response characteristic of each subchannel as a whole.  
         [0042]     It is an object of the present invention to provide an apparatus and method of receiving and decoding a plurality of signals over a CDMA interface. It is another object of the present invention to provide a PIC receiver apparatus and method having greater accuracy with less required computations.  
         [0043]     Other objects and advantages will be apparent to those skilled in the art after reading a detailed description of the preferred embodiment. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0044]      FIG. 1  is a simplified block diagram of a prior art multiple access communication system.  
         [0045]      FIG. 2  is a simplified block diagram of a prior art CDMA communication system.  
         [0046]      FIG. 3  is a simplified block diagram of a prior art CDMA receiver with multiuser detection.  
         [0047]      FIG. 4  is a simplified block diagram of a prior art multiuser detector.  
         [0048]      FIG. 5  is a block diagram of a prior art linear multiuser detector.  
         [0049]      FIG. 6  is a system block diagram of a prior art PIC receiver.  
         [0050]      FIG. 7  is a system block diagram of a prior art PIC data estimation and interference cancellation processor.  
         [0051]      FIG. 8  is a system block diagram of a PIC receiver of the present invention.  
         [0052]      FIG. 9  is a system block diagram of a linear soft-decision PIC receiver of the present invention.  
         [0053]      FIG. 10  is a system block diagram of a hard-decision PIC receiver of the present invention.  
         [0054]      FIG. 11  is a system block diagram of a non-linear soft-decision PIC receiver of the present invention. 
     
    
     DETAILED DESCRIPTION  
       [0055]     The embodiments will be described with reference to the drawing figures where like numerals represent like elements throughout.  
         [0056]     Shown in  FIG. 8  is a parallel interference cancellation receiver  17  of the present invention for detecting, after reception, a plurality of users transmitting over a common CDMA channel. The receiver  17  comprises an input  19  for inputting data from all users k transmitted in a discreet block of time in the form of an input vector r containing the combined data from each user&#39;s subchannel, a channel estimation processor  21  for deriving individual impulse response estimates h (k)  for each user and assembling a total system response matrix A, a data estimation and interference canceller  23  for generating interference free user data d (k)  and an output  25  for outputting user data d (k)  for each user k from the received channel data r in the form of an output vector. The parallel interference canceller  17  comprises a plurality of processors having collateral memory which perform various vector and matrix operations. Alternate embodiments may implement the invention  17  using fixed gate arrays and DSPs performing the functions of the various processors. The total number of users K and the spreading factor Q (k)  for each user (k=1, 2, 3 . . . K) are known a priori by a teaching transmission or by pre-loading into the PIC receiver  17 .  
         [0057]     After demodulation, the received signal r is input  19  to the channel estimator processor  21  where individual k subchannel impulse response estimates are modeled  27  as vectors h (k)  to correct inter-symbol interference or ISI caused by a subchannel&#39;s own symbols and MAI caused by symbols from other user&#39;s subchannels for all received data signals. The individual k subchannel impulse response estimates h (k)  are input to a first memory  29  where it is combined with the same user&#39;s spreading code (Equation 3) creating a system transmission response estimate matrix A n   (k)  for that user. Each system transmission response estimate matrix A n   (k)  is output to a second memory  31  where a total system transmission response matrix A is assembled. The total system transmission response matrix A is comprised of all system transmission impulse response estimate matrices A n   (k)  (Equation 7). The total system transmission response matrix A contains joint information about all of the subchannels in use by the active transmitters and contains information about any possible cross-channel and inter-symbol interference present in the received data signal r.  
         [0058]     The total system transmission response matrix A is output to the data detection and interference canceller  23  which performs an estimation of transmitted data based on the received data vector r. The data detection processor  23  estimates subchannel data symbols and outputs a received data vector d (k)  to per-subchannel processing units  33   1 ,  33   2 ,  33   3 , . . .  33   K  such as interleavers, Viterbi decoders, and the like.  
         [0059]     The data estimation and interference canceller  23  is shown in  FIG. 9 . The data detection processor  23  is comprised of a matched-filter  35  which match-filters the input  19  data vector r producing a vector of matched-filter outputs y, an adder  37  for removing feedback interference c from the matched-filter  35  output y, a direct interference canceller  38  for deriving estimates of the user data d (k) , an iteration counter/switch  41 , a feedback interference processor  43  and a symbol generator  45  for assembling symbols from the estimated user data d (k) .  
         [0060]     To obtain user data d (k)  for a specific user from the combined user data r, the user data r must be filtered using a matched-filter  35  or the like. One knowledgeable in this art recognizes that a matched-filter  35  requires a response characteristic whose elements are complex conjugates of the combination of the spread pulse shape and the user&#39;s subchannel impulse response to produce an output with a level representative of the signal prior to transmission. Signals r input  19  to the filter  35  which do not match with a given response characteristic produce a lower output.  
         [0061]     The matched-filter  35  is similar to the matched-filtering operations performed by linear multiuser receivers. The matched-filter  35  operation is described by Equation 9 unlike the despreading operation of prior art parallel interference cancellation receivers. The input user data r is matched to the spreading code v (k)  and the subchannel impulse response h (k)  for each particular subchannel k. Each element of the matched-filter  35  output vector y is a first rough estimate of the corresponding symbol in the transmitted data vector d.  
         [0062]     The total system transmission response matrix A provides the response characteristics to the matched-filter  35 . Each column of the system response matrix A is a vector which represents the response characteristics of a particular symbol. The received data vector r is input to the matched-filter  35  where it is matched with every response characteristic from the total system transmission response matrix A to produce the matched-filter output vector y. Each element of output vector y corresponds to a preliminary estimate of a particular symbol transmitted by a given user.  
         [0063]     The matched-filter  35  output vector y is input to the direct interference canceller  39 . The direct interference canceller  39  performs a partial interference cancellation operation on the matched-filter  35  output vector y. The operation may be a scaling operation or a more complex operation. The partial interference canceled vector y is output as data symbol estimates d and is input to the feedback interference processor  43  through an iteration/counter switch  41   a.    
         [0064]     The feedback interference processor  43  uses the direct interference canceller  39  output estimates d to arrive at interference estimates output as a vector c that were not previously canceled by the direct interference canceller  39 . The interference estimates c are subtracted from the matched-filter  35  output vector y. The result z is the matched-filter  35  output vector y less the subtracted interference estimates c. The iterative interference subtraction process may be repeated m times depending upon the degree of desired signal correction. After m iterations, the interferers are removed from the matched-filter  35  output y and the iteration/counter switch  41  is thrown  41   b  outputting d for final output symbol generation  45 .  
         [0065]     The operation of the direct interference canceller  39 /feedback interference processor  43  negative feedback control loop shown in  FIG. 9  represents an m iteration receiver. For example, if m=2, the PIC receiver  17  has repeated the cancellation process twice. With c(m) as the interference vector output by the feedback interference processor  43  and d(m) as the symbol estimates vector output by the direct interference canceller  39 , for the m th  iteration, 
 
 {right arrow over (d)} ( m )= S ( {right arrow over (y)}−{right arrow over (c)} ( m ))and and   Equation 10 
 
 {right arrow over (c)} ( m )= T{right arrow over (d)} )( m− 1)   Equation 11 
 
 where the direct interference canceller  39  performs a multiplication of the matched filter output vector y by a matrix S and the feedback interference processor  43  performs a multiplication of the symbol estimates d by a matrix T. The initial condition of d(m) is 0. One skilled in this art recognizes that other initial conditions can be chosen without significantly affecting the operation of the system. 
 
         [0066]     The output of the direct interference canceller  39  is the vector d(m) after the last iteration m. As in prior art parallel interference cancellation receivers, this output is processed by the final output symbol generator  45  which produces hard or soft-decision information on the output symbol estimates depending on the system requirements.  
         [0067]     Depending upon the number of iterations m performed by the present invention  17 , the output of the data estimation and interference canceller d(m) can be written as 
 
 {right arrow over (d)} ( m )=( ST+I ) −1   Sy +(−1) m ( ST ) m+ 1   ( ST+I ) −1   S{right arrow over (y)}   Equation 12 
 
 where the steady-state response is, 
 
 {right arrow over (d)}   SS =( ST+ 1) −1   S{right arrow over (y)}   Equation 13 
 
 and the transient response is, 
 
 {right arrow over (d)} ( m )=(−1) m ( ST ) m+1 ( ST+I ) −1   S{right arrow over (y)}   Equation 14 
 
         [0068]     The PIC receiver  17  converges to the steady-state response if the transient response approaches zero as the number of iterations increase. When this occurs, the receiver  17  converges to the steady-state response given in Equation 13 as explained in the technical paper by A. Reznik entitled, A new class of PIC multiuser receivers and their relationship to ZF-BLE and MMSE-BLE multiuser receivers, internal InterDigital Communications Corporation presentation, Oct. 19, 1999, the disclosure thereof incorporated by reference.  
         [0069]     The steady-state response of prior art linear receivers such as ZF-BLE, MMSE-BLE and others and decorrelators is defined as 
 
 {right arrow over (d)}=O   −1   {right arrow over (y)}Equation  15 
 
 where O is the objective matrix. 
 
         [0070]     Referring back to Equations 13 and 15; if matrices S and T are selected such that (ST+I)−1S=O−1 and if the receiver  17  defined by Equations 10 and 11 converges, it will converge to the linear receiver defined by the objective matrix O. Linear algebra requires that in order to have (ST+I)−1S=O−1, matrices S, T, and O must satisfy the following identity: 
 
 O=T+S   −1    Equation 16 
 
         [0071]     Rather than having to invert the objective matrix O, Equation 16 splits objective matrix O into two discrete matrices, T and S-1. Matrix T defines the feedback interference processor  43 . Matrix S (the inverse of matrix S-1) defines the direct interference canceller  39 . The present invention  17  replaces the inversion of matrix O with an inversion of another matrix (S-1) and a series of matrix multiplications in the feedback loop.  
         [0072]     An advantage of the present invention  17  lies in the fact that matrix S −1  requires significantly less complexity to invert than the original objective matrix O. For example, matrix S −1  may be a diagonal matrix (a matrix with non-zero entries only on the main diagonal). The inversion of a diagonal matrix only involves the inversion of each individual element lying on the main diagonal.  
         [0073]     Furthermore, to improve the performance of the PIC  17 , the main diagonal of the matrix T should contain all zeros. This is shown and described in the above referenced article authored by A. Reznik.  
         [0074]     Combining the two formulations of matrices T and S with Equation 16, a specific form for a general PIC receiver is created. Given a linear receiver with an objective matrix O, matrix S is defined as 
 
 S   −1 =diag( O )   Equation 17 
 
 where diag(X) defines a matrix where the main diagonal entries are equal to the main diagonal entries of X and all other elements of the matrix are equal to zero. Using Equation 16 and solving for matrix T yields 
 
 T=O−S   −1 .   Equation 18 
 
         [0075]     Since the direct interference canceller  39  performs the multiplication of z(m) by matrix S (which is the inverse of diag(O)), the canceller  39  performs a scaling of each individual element of the vector z(m). The matrix multiplication of d(m) with matrix T performed in the feedback interference processor  43  computes the interference components. A receiver containing this architecture is referred to as a parallel interference cancellation receiver with full interference cancellation in the feedback or a PIC-fI receiver.  
         [0076]     For a system that requires a zero-forcing mechanism, the receiver must converge to the ZF-BLE linear receiver. The ZF-PIC-fI of the present invention  17  uses the ZF-BLE objective matrix O=A H A. Therefore, matrices S and T are defined as 
 
 S   −1 =diag( A   H   A ) and   Equation 19 
 
 T=A   H   A −diag( A   H   A ).   Equation 20 
 
         [0077]     For a system that requires a minimum mean square error reception mechanism, the receiver must converge to the MMSE-BLE linear receiver. The MMSE-PIC-fI receiver of the present invention  17  uses the MMSE-BLE objective matrix O=A H A+σ2I. Therefore, matrices S and T are defined as 
 
 S−   1 =diag( A   H   A )+σ 2   I  and   Equation 21 
 
 T=A   H   A −diag( A   H   A )   Equation 22 
 
         [0078]     For a system that requires a decorrelator receiver, total system response matrix A which is assembled in the channel estimator processor  21 , is assembled as a cross-correlation matrix ignoring the channel effects. The receiver structure is identical to the ZF-PIC-fI structure previously described, but uses the modified version of the A matrix.  
         [0079]     As one skilled in this art realizes, other PIC receivers with full interference cancellation performed in the feedback loop (PIC-fI receivers) can be constructed using the system and method of the present invention  17  in conjunction with all existing linear receiver models. The two linear receiver models, ZF-BLE and MMSE, have been shown as exemplary embodiments. Using the method of the present invention  17 , a linear receiver is first chosen determining convergence.  
         [0080]     An alternative embodiment of the present invention  17  which uses the same system architecture  23  delegates the cancellation of inter-symbol interference or ISI to the direct interference canceller  39 . The feedback interference processor  43  is used to cancel multi-access interference or MAI. This embodiment is referred to as a parallel interference canceller with direct ISI cancellation or PIC-dISI. As described in the referenced article by A. Reznik, this approach is more complex than the PIC-fI, but provides improved performance.  
         [0081]     For a system that requires a zero-forcing mechanism, the receiver must converge to a ZF-BLE linear receiver. Using the system and method of the present invention  17 , the receiver is referred to as a ZF-PIC-dISI receiver with its S and T matrices defined as  
               S             ⁢     -   1         =       (             A       (   1   )     ⁢   H       ⁢     A     (   1   )                                                 0                       ⋰                                                                           A       (   k   )     ⁢   H       ⁢     A     (   k   )                                                                             ⋰                       0                                               A       (   K   )     ⁢   H       ⁢     A     (   K   )               )     ⁢           ⁢   and             Equation   ⁢           ⁢   23               T   =         A   H     ⁢   A     -     S     -   1                 Equation   ⁢           ⁢   24             
 
 T=A   H   A−S   −1    Equation 24 
 
         [0082]     For a system that requires a minimum mean square error reception mechanism, the receiver must converge to an MMSE-BLE linear receiver. Using the system and method of the present invention  17 , the receiver is referred to as an MMSE-PIC-dISI receiver with its S and T matrices defined as  
               S     -   1       =       (             A       (   1   )     ⁢   H       ⁢     A     (   1   )                                                 0                       ⋰                                                                           A       (   k   )     ⁢   H       ⁢     A     (   k   )                                                                             ⋰                       0                                               A       (   K   )     ⁢   H       ⁢     A     (   K   )               )     +       σ   2     ⁢   I   ⁢           ⁢   and               Equation   ⁢           ⁢   25               qT   =         A   H     ⁢   A     -     S     -   1       +       σ   2     ⁢   I               Equation   ⁢           ⁢   26             
 
 qT=A   H   A−S   −1 +σ 2   I    Equation 26 
 
         [0083]     For a system that requires a decorrelator receiver, total system response matrix A which is assembled in the channel estimator processor  21 , is assembled as a cross-correlation matrix ignoring the channel effects. The receiver structure is identical to the ZF-PIC-dISI structure previously described, but uses the modified version of the A matrix.  
         [0084]     Other PIC receivers with direct ISI cancellation can be constructed using the system and method of the present invention  17  in conjunction with all existing linear receiver models. Two linear receivers, the ZF-BLE and MMSE-BLE, have been shown embodied in the PIC-dISI receiver structure. As in the PIC-fI receivers, a linear receiver is first chosen determining convergence.  
         [0085]     The receivers described above converge well when the levels of interference are low. Multiple access systems such as the frequency division duplex or FDD mode of the proposed UMTS 3 rd  generation Wideband CDMA standard with accurate power control exhibits low interference levels. As previously described, the present invention  17  is not limited to the receivers described. Any choice of matrices S and T may provide a viable receiver structure. Given an objective matrix O, Equation 16 defines any number of receiver structures that converge to a linear receiver defined by the objective matrix O. The different choices of S and T imply a different choice for the complexity and performance of a desired receiver. Better receiver  17  performance is obtained when exploiting the performance of the direct interference canceller  39  as in the case of the PIC-dISI receivers. However, delegating more effort to the direct interference canceller  39  requires computing the inverse of a more complicated matrix, thereby increasing the complexity of the receiver. This is seen by setting the matrix T to 0. The result is the prior art linear receiver model which has to invert the objective matrix O.  
         [0086]     The above describes linear soft-decision parallel interference cancellation receivers. Hard-decision parallel interference cancellation receivers  47  are obtained by adding a symbol generator into the feedback path making hard decisions  49  on the symbol estimates d(m) as shown in  FIG. 10 . Non-linear soft-decision parallel interference cancellation receivers  51  can be obtained by replacing the hard symbol generator  49  with a non-linear soft-decision symbol generator  53  as shown in  FIG. 11 .  
         [0087]     While the present invention has been described in terms of they preferred embodiments, other variations which are within the scope of the invention as outlined in the claims below will be apparent to those skilled in the art.