Abstract:
A parallel interference cancellation (PIC) receiver incrementally removes interference from signals in parallel modules in successive stages. For each desired signal, as interfering signals are removed, corresponding updates to a data covariance matrix are modeled as computationally tractable rank-one updates to a root matrix of the covariance matrix. Processing of signals and/or covariance information may be initiated, continued, and/or halted at various stages, e.g., in response to signal or data quality. The PIC receiver using root matrix updates is applicable to a variety of demodulation techniques.

Description:
FIELD OF THE INVENTION 
     The present invention relates generally to wireless communication receivers, and in particular to a receiver performing parallel interference cancellation using a computationally tractable root matrix of a data covariance matrix in lieu of the data covariance matrix itself. 
     BACKGROUND 
     Parallel Interference Cancellation is a known technique for cancelling interference from received wireless communication signals. For example, the technique has been suggested for the WCDMA uplink, in a paper by B. Hagerman, F. Gunnarsson, H. Murai, M. Tadenuma, and J. Karlsson, entitled “WCDMA Uplink Parallel Interference Cancellation—System Simulations and Prototype Field Trials,” published in the EURASIP Journal on Applied Signal Processing, 2005:11, pp. 1725-1735, which is incorporated herein in its entirety. PIC showed good performance in the WCDMA Uplink application, which is characterized by a homogeneous set of speech users. With High Speed Packet Access (HSPA), the mix of users can be highly heterogeneous, ranging from very low rate messaging to very high rate data users. PIC may be well suited for such a heterogeneous mix as well. 
     Consider a wireless communication receiver, receiving J signals (1, . . . , J) arriving simultaneously, and interfering with one another. An ideal receiver demodulates the J signals jointly; however, such a receiver cannot be realized in practice due to the enormous computational complexity of the task. A PIC structure is a practical way to approach the performance of a joint demodulator. 
     A PIC system receives the joint signals, comprising time samples from one or more receive antennas, and an interference data covariance matrix representing covariance properties between samples from different time delays and/or from different antennas. The PIC system incrementally cancels interference, isolating signals and improving the signal quality in successive stages. Each downstream stage performs better signal reconstruction than prior stages, as it starts with the improved signal from a prior stage, and in turn provides its results to a later stage for still better improvement. Each stage comprises one or more parallel modules, each module dedicated to isolating and reconstructing one of the J received communication signals. Within each module, all other J−1 signals are considered interference, and are cancelled out of the receiver input. As signals are cancelled out, the interference data covariance matrix must be updated correspondingly, to remove the covariance information associated with the cancelled signals. Updating the covariance matrix is a computationally demanding operation, which may limit the size and speed of the PIC system, thus limiting receiver performance. 
     SUMMARY 
     According to one or more embodiments disclosed herein, a parallel interference cancellation (PIC) receiver operates using the root matrix of the data covariance matrix. The data covariance matrix itself need not be computed or updated. The data covariance root matrix has a triangular structure, which simplifies many computations. In particular, linear systems can be solved by back-substitution. In one or more embodiments, the update of the data covariance matrix to account for the cancellation of a user is replaced by an update to its data covariance root matrix. The exact update of the data covariance matrix—a computationally complex calculation—is replaced with one of several approximations that are compatible with updating the corresponding data covariance root matrix. In particular, a rank-one update to the data covariance matrix is employed, whereby the corresponding data covariance root matrix update is simplified. 
     One embodiment relates to a method of parallel interference cancellation. A total received signal comprising time samples from one or more receive antennas and an interference data covariance matrix representing covariance properties between samples from different time delays and/or from different antennas are received. The root matrix of the covariance matrix and a scalar value are calculated. In each of a series of successive stages, a total reconstructed signal and channel estimates are calculated, based on the total received signal, data covariance root matrix, and scalar, and, except for the first stage, the total reconstructed signal and channel estimates from the prior stage. Each stage comprises one or more parallel modules, each operative to reconstruct an individual signal and channel estimate for a different individual signal in the total received signal, based on the demodulation and channel estimation of all received signals provided by the immediately prior stage. 
     Another embodiment relates to a parallel interference cancellation system receiving a total received signal r comprising time samples from one or more receive antennas and a data covariance matrix R d  representing covariance properties between samples from different time delays and/or from different antennas, the system operative to cancel interference in one or more individual signals r(j). The system includes a series of k successive stages, the i-th stage calculating a reconstructed total signal r i  and channel estimates h i  based on r, the data covariance root matrix M of R d , a scalar value α, and, except for the first stage, r i-1  and h i-1 . Each stage i comprises j parallel modules, each operative to reconstruct an individual signal r i (j) and channel estimate h i (j) for a different individual signal in r, based on r, M, α, r i-1 , and h i-1 . The i-th stage outputs r i  and h i  comprise the sum of r i (j) and h i (j) from all j modules. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a functional block diagram of a PIC module using root matrices. 
         FIG. 2  is a functional block diagram of a PIC stage using root matrices. 
         FIG. 3  is a functional block diagram of a PIC system using root matrices. 
         FIG. 4  is a functional block diagram of a PIC system with a cancel block. 
         FIG. 5  is a functional block diagram of a prior art PIC system. 
         FIG. 6  is a functional block diagram of a prior art PIC stage. 
         FIG. 7  is a functional block diagram of a prior art PIC module. 
     
    
    
     DETAILED DESCRIPTION 
     Overview of Parallel Interference Cancellation 
     A conventional Parallel Interference Cancellation (PIC) system  10  is depicted in  FIGS. 5-7 . As best seen in  FIG. 5 , the PIC system  10  comprises K successive stages  11 . The total received communication signal r, comprising time samples of J received signals, which may be received at one or more antennas, and an interference data covariance matrix R d , representing covariance properties between samples from different time delays and/or from different antennas, are distributed to all K stages  11 . Each stage i (other than the first) also accepts the reconstructed signals r i-1  and updated covariance matrix R d   i-1  from the previous stage  11 . The i-th stage  11  generates an improved signal r i  and data covariance matrix R d   i  for use by the next stage  11 . 
       FIG. 6  depicts the structure of stage i. Stage i accepts r and R d . By default, stage contains J modules  12 . Note that there is no interaction among modules  12  of the same stage  11 , in keeping with the parallel processing idea central to PIC. Stage i also accepts information from stage (i−1), in the form of reconstructed signals and their corresponding covariances. Each individual module  12  in stage i will exploit this information in demodulating its desired signal. In turn, stage i produces reconstructed signals and their corresponding data covadance matrices to help stage (i+1). 
     The reconstructed version of signal j at stage i is denoted r (i) (j), and its corresponding data covariance matrix is denoted R d   (i) (j). Their computation is explained in the description of the individual module  12  below. In addition, the group of J reconstructed signals is denoted  r   (i) , and the group of corresponding data covariances is denoted  R   d   (i) . In summary, stage i accepts r, R d , r (i−1)  and  R   d   (i−1) , and produces  r   (i)  and  R   d   (i) . 
       FIG. 7  depicts module j at stage i, which demodulates signal j with the help of information from stage (i−1), and produces information to help stage (i+1). By default, the module  12  contains a cancellation block  13 , a receiver block  14 , and an update block  15 . The module  12  accepts r, R d ,  r   (i−1) , and  R   d   (i−1) . 
     A cancellation set T (i) (j) contains the signals to be cancelled. By default, it contains all the signals in r except j. In the cancellation block  13 , the received signal is improved by removing reconstructed signals from the previous stage  11 : 
     
       
         
           
             
               
                 
                   
                     
                       q 
                       
                         ( 
                         i 
                         ) 
                       
                     
                     ⁡ 
                     
                       ( 
                       j 
                       ) 
                     
                   
                   = 
                   
                     r 
                     - 
                     
                       
                         ∑ 
                         
                           
                             j 
                             ′ 
                           
                           ∈ 
                           
                             
                               T 
                               
                                 ( 
                                 i 
                                 ) 
                               
                             
                             ⁡ 
                             
                               ( 
                               j 
                               ) 
                             
                           
                         
                       
                       ⁢ 
                       
                         
                           r 
                           
                             ( 
                             
                               i 
                               - 
                               1 
                             
                             ) 
                           
                         
                         ⁡ 
                         
                           ( 
                           
                             j 
                             ′ 
                           
                           ) 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   1 
                   ) 
                 
               
             
           
         
       
     
     The corresponding data covariance matrix is given by 
     
       
         
           
             
               
                 
                   
                     
                       Q 
                       d 
                       
                         ( 
                         i 
                         ) 
                       
                     
                     ⁡ 
                     
                       ( 
                       j 
                       ) 
                     
                   
                   = 
                   
                     
                       R 
                       d 
                     
                     - 
                     
                       
                         ∑ 
                         
                           
                             j 
                             ′ 
                           
                           ∈ 
                           
                             
                               T 
                               
                                 ( 
                                 i 
                                 ) 
                               
                             
                             ⁡ 
                             
                               ( 
                               j 
                               ) 
                             
                           
                         
                       
                       ⁢ 
                       
                         
                           α 
                           ⁡ 
                           
                             ( 
                             
                               j 
                               ′ 
                             
                             ) 
                           
                         
                         ⁢ 
                         
                           
                             R 
                             d 
                             
                               ( 
                               
                                 i 
                                 - 
                                 1 
                               
                               ) 
                             
                           
                           ⁡ 
                           
                             ( 
                             
                               j 
                               ′ 
                             
                             ) 
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
           
         
       
     
     The receiver block  14  accepts the improved signal q (i) (j) and its covariance information Q d   (i) (j). By default, it first computes channel estimates h (i) (j), using a standard method exploiting the pilot channel. The receiver block  14  then finds a Generalized RAKE (GRAKE) weight solution, and uses it to demodulate the symbols s (i) (j). The GRAKE receiver is described in a paper by G. E. Bottomley, T. Ottosson, and Y. P. E. Wang, “A generalized RAKE receiver for interference suppression,” published in the IEEE J. Select. Areas Commun., vol. 18, pp. 1536-1545, August 2000, and incorporated herein by reference in its entirety. 
     In the update block  15 , the signal is reconstructed using the information from the receiver block  14 :
 
 r   (i) ( j )= h   (i) ( j )* s   c   (i) ( j )  (3)
 
where s c   (i) (j) is the re-spread version of the symbols s (i) (j), and * indicates convolution.
 
     As noted in U.S. patent application Ser. No. 12/103,145 by Kahyrallah, et al., titled “Method and Apparatus for Successive Interference Subtraction with Covariance Root Processing,” filed Apr. 15, 2008, and incorporated herein in its entirety (“the &#39;145 application”), the exact expression of the data covariance matrix R d   (i) (j) corresponding to r (i) (j) is difficult to compute. As discussed in the &#39;145 application, a first order approximation of R d   (i) (j) is the outer product:
 
 R   d   (i) ( j )=α( j ) h   (i) ( j ) h   (i) ( j ) H   (4)
 
where the scaling parameter α(j) absorbs any required adjustment, such as accounting for the expected value of the modulation symbols. The loss of performance due to the approximation is minimal. By not accounting fully in the data covariance matrix (eq. 2) for a signal that has been removed (eq. 1), only some of the cancellation capability is wasted on an absent signal.
 
     U.S. patent application Ser. No. 11/470,676, filed Sep. 7, 2006, published on Mar. 13, 2008 as 2008/0063033, entitled “Method for Cova dance Matrix Update,” and U.S. patent application Ser. No. 12/130,145, filed Apr. 15, 2008, entitled “Method for Successive Interference Subtraction with Covariance Root Processing,” contain additional information regarding PIC processing and covariance matrix manipulation. Both applications are incorporated herein by reference in their entirety. 
     Root Matrix and Rank-One Update 
     The root matrix is known in the mathematical arts. Given a positive definite matrix R, the Cholesky decomposition produces a matrix M that satisfies:
 
R=MM H   (5)
 
The matrix M can be interpreted as the “square root” of R. It is a lower triangular matrix with real positive elements on the diagonal. The Cholesky decomposition is denoted as a function CD with input R and output M:
 
 M=CD ( R )  (6)
 
     The Cholesky decomposition has been studied extensively, and many uses of the square root matrix are known in the art. See, for example, chapter 4 of G. H Golub and C. F. Van Loan, “Matrix computations,” third edition, The John Hopkins University Press, incorporated herein by reference. 
     A rank-one update of a matrix R yields a new matrix R′, given by
 
 R′=R+αee   H   (7)
 
The square root M′ of R′ can be computed efficiently as an update to M, without requiring computations on R. One implementation of the root update is described in a paper by M. Seeger, “Low rank updates for the Cholesky decomposition,” published by the Department of EECS, UC Berkeley, 2005, and incorporated herein by reference in its entirety. The root update procedure is summarized as a function RU with inputs M, e and α, and output M′:
 
 M′=RU ( M,e ,α)  (8)
 
     Parallel Interference Cancellation Using Root Matrices 
     According to embodiments of the present invention, the interference data covariance matrices in a PIC system are replaced by their corresponding data covariance root matrices. This allows updates to the data covariance matrices to be modeled by rank-one updates to the data covariance root matrices, which are less computationally demanding, thus increasing PIC receiver performance. In particular, solving linear equation systems with root matrices reduces to simple back substitution operations. This greatly simplifies the GRAKE weight solution, as described in U.S. patent application Ser. No. 11/470,676, by A. Khayrallah, titled “Method for Covariance Matrix Update,” published on Mar. 13, 2008 as 200810063033, and incorporated herein by reference in its entirety. 
     From the interference data covariance matrix update equation (2) and the outer product approximation to the reconstructed signal  0 ( 4 ), 
     
       
         
           
             
               
                 
                   
                     
                       Q 
                       d 
                       
                         ( 
                         i 
                         ) 
                       
                     
                     ⁡ 
                     
                       ( 
                       j 
                       ) 
                     
                   
                   = 
                   
                     
                       R 
                       d 
                     
                     - 
                     
                       
                         ∑ 
                         
                           
                             j 
                             ′ 
                           
                           ∈ 
                           
                             
                               T 
                               
                                 ( 
                                 i 
                                 ) 
                               
                             
                             ⁡ 
                             
                               ( 
                               j 
                               ) 
                             
                           
                         
                       
                       ⁢ 
                       
                         
                           α 
                           ⁡ 
                           
                             ( 
                             
                               j 
                               ′ 
                             
                             ) 
                           
                         
                         ⁢ 
                         
                           
                             h 
                             
                               ( 
                               
                                 i 
                                 - 
                                 1 
                               
                               ) 
                             
                           
                           ⁡ 
                           
                             ( 
                             
                               j 
                               ′ 
                             
                             ) 
                           
                         
                         ⁢ 
                         
                           
                             
                               h 
                               
                                 ( 
                                 
                                   i 
                                   - 
                                   1 
                                 
                                 ) 
                               
                             
                             ⁡ 
                             
                               ( 
                               
                                 j 
                                 ′ 
                               
                               ) 
                             
                           
                           H 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   9 
                   ) 
                 
               
             
           
         
       
     
     The root of R d  is denoted by M, and the root of Q d   (i) (j) by N (i) (j). Since each term in the sum is a rank-one update, then N (i) (j) can be found by a sequence of data covariance root matrix updates, starting from M. In particular, under the default assumption of (J−1) terms in the sum, then (J−1) applications of the function RU in equation (8) are necessary. 
     To provide an explicit example, without loss of generality, suppose that j=J. Then the sequence of applications of RU to start from M and end with N (i) (J) is as follows:
 
 X   (0)   =M  
 
 X   (1)   =RU ( X   (0)   ,h   (i−j) ( J −1),−α(1))
 
M
 
 X   (J−1)   =RU ( X   (J−2)   ,h   (i−1) ( J− 1),−α( J −1))
 
 N   (i) ( J )= X   (J−1)   (10)
 
Note that the matrices X (0) , . . . , X (J)  are temporary variables, shown for clarity only.
 
       FIGS. 1-3  depict the details of a PIC system  100  utilizing data covariance root matrices. In particular,  FIG. 1  depicts an individual module  120  for signal j at stage i. The group of channel estimates is denoted by  h   (i)  and the group of scaling parameters by  α . The module  120  accepts the data covariance root matrix M instead of R d . It also accepts  α . From stage (i−1), the module  120  accepts  h   (i−1)  instead of R d   (i−1) . The cancellation block  130  feeds N (i) (j) instead of Q (i) (j) to the receive block  140 . The receive block  140  can compute its GRAKE solution using N (i) (j). The update block  150  produces the reconstructed signal r (i) (j) only. The channel estimate h (i) (j) is output instead of R d   (i) (j). 
     The i-th stage  110 , comprising parallel modules  120 , is depicted in  FIG. 2 .  FIG. 3  depicts the K stages  110  of the system  100 . 
     Approximations to the Reconstructed Signal Data Covariance 
     The outer product equation (4) was assumed as the default approximation to the reconstructed data covariance matrix of equation (2). As described in the &#39;145 application, outer product is merely the simplest of a number of increasingly precise approximations, which can be written as sums of outer products. It is thus possible to construct the corresponding data covariance root matrix using the appropriate sequence of RU updates. In some embodiments, these may be employed to construct a better approximation to the data covariance root matrix of one or more particular signals. For example, a dominant signal, whose interference to others is large enough to justify the extra work, may be a candidate for producing a better approximation. 
     Precomputing Common Terms 
     In one embodiment, a common adjusted signal and corresponding covariance information can be pre-computed. Then for each module  120 , an additional adjustment may be made to obtain the desired input. The common signal is 
                       q     (   i   )       ⁡     (   0   )       =     r   -       ∑       j   ′     ∈     {     1   ,           ⁢   …   ⁢           ,   J     }         ⁢         r     (     i   -   1     )       ⁡     (     j   ′     )       .                 (   11   )               
The corresponding data covariance matrix is given by
 
                       Q   d     (   i   )       ⁡     (   0   )       =       R   d     -       ∑       j   ′     ∈     {     1   ,           ⁢   …   ⁢           ,   J     }         ⁢       α   ⁡     (     j   ′     )       ⁢         R   d     (     i   -   1     )       ⁡     (     j   ′     )       .                   (   12   )               
Then for each individual signal, the following adjustment is made
 
 q   (i) ( j )= q   (i) (0)+ r   (i−1) ( j )  (13)
 
and
 
Q d   (i) ( j )= Q   d   (i) (0)+α( j )( R   d   (i−1) ( j ).  (14)
 
     The impact on root domain updates must be considered. Referring to equation (9), (J−1) consecutive applications of RU are required to obtain N (i) (j). Thus, the total number of applications of RU per stage  110  is J(J−1) 
     The root of Q d   (i) (0) by is denoted by N (i) (0). Referring to equation (12), J consecutive applications of RU are required to obtain N (i) (0). Referring to equation (14), one additional application of RU is required to obtain N (i) (j). Thus, the total number of applications of RU per stage  110  is 2J. 
     Varying the Cancellation Set 
     In one embodiment, the cancellation set T (i) (j) for each signal may be varied, to account for one or more factors. One such factor is dominance of interference, wherein the cancellation set T (i) (j) may be restricted to the most dominant interferers. Another factor is quality, wherein the cancellation set T (i) (j) may be restricted to signals reconstructed with high quality. Still another such factor is delay, wherein the cancellation set T (i) (j) may be restricted to signals reconstructed within acceptable delays. The cancellation set T (i) (j) may also be varied over stages  110  in a pre-determined manner. For example, T (i) (j) may start small in early stages  110 , and grow in successive stages  110  as reconstruction quality increases. 
     Varying the Number of Modules 
     In some embodiments, the number of modules  120  may vary over stages  110 . For example, in early stages  110 , modules  120  may be allocated to only the most dominant signals. Later stages  110  may include more modules  120 , to reconstruct more signals. In general, smaller signals become more relevant as the larger signals are cancelled, and the reconstruction quality of the smaller signals improves. 
     In one embodiment, a module  120  may be included for signal j 0  at stage i 0  if the reconstructed signal j 0  is going to be cancelled in some module  120  at the immediate successor stage (i 0 +1). That is, j 0  belongs to T (i     0     +1) (j) for some j. 
     In one embodiment, the set of modules  120  at each stage  110  is determined beforehand, using initial estimates of the received power of the signals, their SNR, their margin over a nominal SNR, or other measure of signal strength and/or quality. In another embodiment, an initial decision is made concerning the number of modules  120  at each stage  110 . However, this initial decision may be refined later in intermediate stages  110 . For example, if the initial decision was to include a module for signal j 0  at stage i 0 , but the signal reconstruction is of low quality, then j 0  may be dropped. In addition, consider some other signal j 1  that was marginal and initially left out of stage i 0 . A module  120  for j 1  may then be introduced into stage i 0 . 
     Halting the Processing of a Signal 
     In one embodiment, the processing of some signals halts once their demodulation and reconstruction reaches a predetermined quality level. If a signal is demodulated and reconstructed with sufficient quality, there is little value added in processing it further. The signal may thus be removed permanently from the received signal. In one embodiment, the decision to stop processing the signal may also be aided by decoding and a CRC check. 
     For example, suppose signal j 0  is chosen to be removed permanently after stage i 0 . Then following stage i 0 , the received signal r is replaced with
 
 r′=r−r   (i     0     ) ( j   0 )  (15)
 
and its corresponding data covariance matrix is replaced with
 
 R′   d   =R   d −α( j   0 ) R   d   (i     0     ) ( j   0 ).  (16)
 
In the root domain, the matrix M′ corresponding to R′ d  is given by
 
 M′=RU (( M,h   (i     0     ) ( j   0 ),−α( j   0 )).  (17)
 
Also, for all subsequent stages i&gt;i 0 , j 0  is removed from the sets T (i) (j), wherever it is present.  FIG. 4  depicts the permanent removal of signal j 0  from the serial structure after stage i 0 , with a cancellation block  160  to replace r and M with r′ and M′, respectively.
 
     Parameter Estimation After Signal Demodulation 
     In one embodiment, parameters such as channel estimates and correlations can be improved post-demodulation. The default PIC system  100  assumes a standard parameter estimation method using pilot symbols. Parameter estimation may be further refined with an additional block after demodulation. That is, the reconstructed symbols, possibly aided by decoding, may be used as effective additional pilots for a second parameter estimation. This may help improve the quality of cancellation in the next stage  110 . 
     Multi-Pass Demodulation 
     In one embodiment, the performance of the receive block  140  may be improved by providing feedback from the decoder to the demodulator, and iterating the process, in what is known as multi-pass demodulation, or turbo demodulation. This may also involve the improved parameter estimation described above. 
     Halting Parameter Estimation 
     In one embodiment, parameter estimation is halted after a number of stages if the quality of the estimates is deemed to be sufficient. The estimated parameters can be used in subsequent stages  110 . For example, if for stage i 0  and signal j 0  the channel estimate h (i     0     ) (j 0 ) is good enough, then channel estimation may be skipped in subsequent stages i&gt;i 0 , and set
 
 h   (i) ( j   0 )= h   (i     0     ) ( j   0 ).  (18)
 
The demodulation, decoding, and reconstruction may occur in later stages i&gt;i 0  to produce r (i) (j 0 ) using h i     0     ) (j 0 ).
 
     Soft Signal Reconstruction 
     In one embodiment, a soft signal reconstruction may be utilized. In particular, soft information from the demodulator or the decoder can be used in the signal reconstruction and subtraction. Soft information about the modern bits may be obtained from the demodulator or the decoder. Typically, the soft information is in the form of log-likelihood ratio (LLR) or an approximation thereof. Those LLR&#39;s can be transformed into modern bit probabilities, which in turn can be transformed into symbol probabilities. The expected value of the symbol can be computed from the symbol values and the symbol probabilities. This expected value is used as the “soft symbol.” The soft symbol is multiplied by the spreading sequence to produce a “soft signal” to be used in the subtraction step. 
     Disallowing Cancellation of a Signal 
     In one embodiment, the use of a reconstructed signal may be disallowed for cancellation in the next stage, if the signal quality is deemed insufficient. For example, the decision may be based on the appropriate metrics out of the demodulator or the decoder, or a failed CRC check. 
     Pass-Through Module 
     In general, a module  120  for signal j 0  is included at stage i 0  if the reconstructed signal j 0  is going to be cancelled in some module  120  at stage (i 0 +1). In one embodiment, this rule may be broken. For example, suppose that j 0  is reconstructed with high quality at stage i 0 , but it is small compared to other signals being cancelled at stage (i 0 +1), so it is not used. Also, suppose that after stage (i 0 +1), one or more large signals are permanently removed, making signal j 0  a viable cancellation candidate at stages i&gt;(i 0 +1). Since signal j 0  was reconstructed well enough at stage i 0 , there is no need to reconstruct it again. 
     This can be represented within the PIC structure  100  by a simplified pass-through module j 0  at stage (i 0 +1) (and possibly other intermediate stages). The pass-through module simply outputs the vectors r (i     0     ) (j 0 ) and h (i     0     ) (j 0 ) computed in stage i 0 . 
     Further, recall the case where for stage i 0  and signal j 0 , the channel estimate h (i     0     ) (j 0 ) is reconstructed with sufficient quality, and for i&gt;i 0 , h (i) (j 0 )=h (i     0)   (j 0 ). This may be implemented as a (partial) pass-through module. At stage (i 0 +1) and beyond, module j 0  passes through h (i     0     ) (j 0 ), while it still completes other operations, including demodulation. 
     Misaliqned Slots 
     Signal slots may be misaligned as signals reach a receiver. In one embodiment, the effect of misaligned slots is reflected in individual modules  120 . Consider an individual module  120  for signal j at stage i, and assume that additional information about the timing of each signal (when it starts and when it ends) is available to the module  120 . The processing window is made larger than the duration of signal j. The window size is a design parameter. The window is quantized into a number Y of subintervals, and the timing of the signals in T (i) (j) is quantized accordingly. For each subinterval, the module  120  determines which signals from T (i) (j) are present. It continues with the cancellation block  130  and demodulation in the receive block  140  accordingly. That is, for each subinterval, the cancellation block  130  cancels the signals present, and updates the root matrix. Then the receive block  140  computes a GRAKE solution and demodulates the signal. Thus in a baseline implementation, there are Y separate cancellation and receive blocks (or equivalently, Y repeated uses of the cancellation and receive blocks)  130 ,  140 . 
     In one embodiment, complexity can be reduced if the module  120  recognizes that the same signals are present in a number of sub-intervals. This knowledge can be exploited to reduce the number of separate cancellation and receive blocks  130 ,  140 . 
     Other Demodulation Methods 
     The GRAKE receiver is a linear receiver that exploits covariance information. Other methods that exploit the covariance include the Maximum Likelihood Sequence Estimation (MLSE), Maximum-A-Posteriori (MAP), Decision-Feedback Sequence Estimation (DFSE) and Decision Feedback Equalization (DFE). In various embodiments, these demodulation methods may be employed in the PIC system  100  described herein. 
     Stages, Modules, and Functions 
     Those of skill in the art will recognize that the inventive PIC system is described functionally herein, and that such functional description, or depiction in the drawing figures, is representative only and does not imply any particular structure. For example, each stage  110  is described as successively refining signals based on calculations and computations performed in a preceding stage  110 . In any particular implementation, the stages  110  (whether implemented in hardware or software) may be arranged serially, as depicted in  FIG. 3 . Alternatively, one or more stages  110  may be provided, with each successive iteration comprising passing data back through one or more stages  110  two or more times. Each stage  110  may be implemented as a hardware module, as firmware executing on programmable or configurable logic, or as a software routine executing on a processor, such as a Digital Signal Processor (DSP), or any combination thereof. Similarly, the modules  120  may be implemented by any combination of hardware, firmware, or software, as known in the art. The cancel function  130 , receive function  140 , and update function  150  of each module  120  are described functionally. In a given implementation, the cancel, receive, and update functions  130 ,  140 ,  150  may be merged, combined, or subdivided as desired or required according to system constraints, such as available computational power, power consumption, weight, speed, and the like. 
     The present invention may, of course, be carried out in other ways than those specifically set forth herein without departing from essential characteristics of the invention. The present embodiments are to be considered in all respects as illustrative and not restrictive, and all changes coming within the meaning and equivalency range of the appended claims are intended to be embraced therein.