# Patent

## Title
Advanced signal processors for interference cancellation in baseband receivers

## Abstract

An interference canceller comprises a composite interference vector (CIV) generator configured to produce a CIV by combining soft and/or hard estimates of interference, an interference-cancelling operator configured for generating a soft projection operator, and a soft-projection canceller configured for performing a soft projection of the received baseband signal to output an interference-cancelled signal. Weights used in the soft-projection operator are selected to maximize a post-processing SINR.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation of U.S. patent application Ser. No. 11/272,411, entitled “Variable interference cancellation technology for CDMA systems,” filed Nov. 10, 2005, now U.S. Pat. No. 7,808,937, which (1) is a continuation-in-part of U.S. patent application Ser. No. 11/233,636, entitled “Optimal feedback weighting for soft-decision cancellers,” filed Sep. 23, 2005 and published as U.S. Patent Application Publication Number 2006-0227909 A1; and (2) is a continuation-in-part of U.S. patent application Ser. No. 11/100,935, entitled “Construction of Projection Operators for Interference Cancellation,” filed Apr. 7, 2005, and published as U.S. Patent Application Publication Number 2005-0180364 A1, which is a continuation-in-part of U.S. patent application Ser. No. 10/773,777, entitled “Systems and Methods for Parallel Signal Cancellation,” filed Feb. 6, 2004, now U.S. Pat. No. 7,394,879; which is a continuation-in-part of (a) U.S. patent application Ser. No. 10/686,359, entitled “System and Method for Adjusting Phase,” filed Oct. 15, 2003, now U.S. Pat. No. 7,068,706; (b) U.S. patent application Ser. No. 10/686,829, entitled “Method and Apparatus for Channel Amplitude Estimation and Interference Vector Construction,” filed Oct. 15, 2003, now U.S. Pat. No. 7,580,448; (c) U.S. patent application Ser. No. 10/294,834, entitled “Construction of an Interference Matrix for a Coded Signal Processing Engine,” filed Nov. 15, 2002, now U.S. Pat. No. 7,200,183; and (d) U.S. patent application Ser. No. 10/247,836, entitled “Serial Cancellation Receiver Design for a Coded Signal Processing Engine,” filed Sep. 20, 2002, now U.S. Pat. No. 7,158,559. The entirety of each of the foregoing patents, patent applications, and patent application publications is incorporated by reference herein.


BACKGROUND
1. Field of the Invention
The present invention relates generally to interference cancellation in received wireless communication signals and, more particularly, to forming and using a composite interference signal for interference cancellation.
2. Discussion of the Related Art
In an exemplary wireless multiple-access system, a communication resource is divided into subchannels and allocated to different users. For example, subchannels may include time slots, frequency slots, multiple-access codes, spatio-temporal subchannels, or any combination thereof. A plurality of sub-channel signals received by a wireless terminal (e.g., a subscriber unit or a base station) may correspond to different users and/or different subchannels allocated to a particular user.
If a single transmitter broadcasts different messages to different receivers, such as a base station in a wireless communication system broadcasting to a plurality of mobile terminals, the channel resource is subdivided in order to distinguish between messages intended for each mobile. Thus, each mobile terminal, by knowing its allocated subchannel(s), may decode messages intended for it from the superposition of received signals. Similarly, a base station typically separates signals it receives into subchannels in order to differentiate between users.
In a multipath environment, received signals are superpositions of time delayed (and complex scaled) versions of the transmitted signals. Multipath can cause co-channel and cross-channel interference that correlates the allocated subchannels. For example, co-channel interference may occur when time-delayed reflections of transmitted signals from the same source interfere with each other. Cross-channel interference occurs when signals in a sub channel leak into and, thus, impair acquisition and tracking of other subchannels.
Co-channel and cross-channel interference can degrade communications by causing a receiver to incorrectly decode received transmissions, thus increasing a receiver's error floor. Interference may also have other degrading effects on communications. For example, uncancelled interference may diminish capacity of a communication system, decrease the region of coverage, and/or decrease maximum data rates. Previous interference-cancellation techniques include subtractive and projective interference cancellation, such as disclosed in U.S. Pat. Nos. 6,856,945 and 6,947,474, which are hereby incorporated by reference.
SUMMARY OF THE INVENTION
In view of the foregoing background, embodiments of the present invention may be employed in receivers configured to implement receive diversity and equalization. Embodiments may provide for optimally forming and using at least one composite interference vector (CIV) for use in any subtractive or projective interference canceller. Such embodiments may be employed in any receiver employing a Rake, such as (but not limited to) receivers configured to receive ultra-wideband (UWB), Code Division Multiple Access (CDMA), Multiple-Input/Multiple-Output (MIMO), and narrowband single-carrier signals. Embodiments of the invention may provide for analytically characterizing the signal-to-interference-and-noise ratio (SINR) in a composite signal or in a user subchannel, and choosing feedback terms (e.g., adaptive weights) to construct an interference-cancelled signal that maximizes this quantity.
Embodiments of the invention employ soft weighting of a projective operation to improve interference cancellation. For example, each finger of a Rake receiver is matched to a particular time delay and/or base station spreading code to combat the effects of frequency-selective fading and interference from multiple base stations, respectively. Inter-finger interference occurs due to loss of orthogonality in the user waveforms resulting from multi paths in the transmission channel. This interference may be mitigated by feeding soft estimates of active users' waveforms between the Rake fingers in order to improve the SINR at the output of each finger. The optimization is performed per Rake finger prior to combining. In a receiver employing receive diversity, fingers that are common to two or more receive paths may be combined using any of various well-known statistical signal-processing techniques.
In one embodiment of the invention, a means for generating one or more CIVs, a means for generating a soft-projection operator, and a means for performing a soft projection are configured to produce an interference-cancelled signal from a received baseband signal. The means for generating the one or more CIVs may include, by way of example, any means for deriving soft and/or hard estimates from a receiver and synthesizing the one or more CIVs therefrom. For example, the means for generating the one or more CIVs may include a symbol estimator (e.g., a symbol estimator in a receiver employing any combination of Rake processing, receive diversity, and equalization), a sub channel selector, a fast Walsh transform, and a PN coder. The means for generating the one or more CIVs may further include a channel emulator. The means for generating a soft-projection operator may include, by way of example, a soft-projection matrix generator or an interference-cancelling operator that includes a means for selecting a soft weight that maximizes a post-processing SINR. The means for performing a soft projection may include, by way of example, a signal processor configured to project a received baseband signal as specified by the soft-projection operator in order to produce an interference-cancelled signal.
Receivers and cancellation systems described herein may be employed in subscriber-side devices (e.g., cellular handsets, wireless modems, and consumer premises equipment) and/or server-side devices (e.g., cellular base stations, wireless access points, wireless routers, wireless relays, and repeaters). Chipsets for subscriber-side and/or server-side devices may be configured to perform at least some of the receiver and/or cancellation functionality of the embodiments described herein.
Various functional elements, separately or in combination, depicted in the figures may take the form of a microprocessor, digital signal processor, application specific integrated circuit, field programmable gate array, or other logic circuitry programmed or otherwise configured to operate as described herein. Accordingly, embodiments may take the form of programmable features executed by a common processor or discrete hardware unit.
These and other embodiments of the invention are described with respect to the figures and the following description of the preferred embodiments.



BRIEF DESCRIPTION OF THE DRAWINGS
Embodiments according to the present invention are understood with reference to the flow diagram of FIG. 1 and the schematic block diagrams of FIGS. 2A and 2B.
FIG. 1 is a flow diagram of an interference-cancelling method for a particular multipath component.
FIG. 2A is a schematic block diagram of a circuit configured for cancelling interference and combining interference-cancelled multipath components.
FIG. 2B is a schematic block diagram of a circuit configured for cancelling interference from at least one finger of a Rake receiver that produces a CIV from signals received by all fingers of the Rake receiver.



DESCRIPTION OF THE PREFERRED EMBODIMENTS
The present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which preferred embodiments of the invention are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art.
A received baseband signal at a user handset having K base stations (or subchannels), U users, L propagation paths, and a sequence of transmitted symbols {bk[m]} can be expressed by




  
    y
    ⁡
    
      [
      n
      ]
    
  
  =
  
    
      
        ∑
        
          k
          =
          1
        
        K
      
      ⁢
      
        
          ∑
          
            m
            =
            
              -
              ∞
            
          
          ∞
        
        ⁢
        
          
            ∑
            
              l
              =
              1
            
            L
          
          ⁢
          
            
              c
              
                k
                ,
                l
              
            
            ⁢
            
              
                s
                k
              
              ⁡
              
                [
                
                  
                    n
                    -
                    Nm
                    -
                    
                      d
                      
                        k
                        ,
                        l
                      
                    
                  
                  ,
                  
                    
                      b
                      k
                    
                    ⁡
                    
                      [
                      m
                      ]
                    
                  
                
                ]
              
            
          
        
      
    
    +
    
      v
      ⁡
      
        [
        n
        ]
      
    
  




where {sk[n, bk[m]]} is a discrete-time symbol-bearing waveform from base station k that has N samples per symbol period, the vector sequence {bk[m]} is a sequence of U user information symbols bk[m]=[bk,1[m], . . . , bk,U[m]] from base station k, the values Ck,1 and dk,l are the complex channel fading coefficients and the time delays characterizing the propagation channel linking the kth base station to the receiver, and ν[n] is additive noise having power σ2. When a multi-code (e.g., CDMA, DSSS, WCDMA, DO) transmission is employed, a transmitted waveform can be represented as





  
    
      
        s
        k
      
      ⁡
      
        [
        
          n
          ,
          
            
              b
              k
            
            ⁡
            
              [
              m
              ]
            
          
        
        ]
      
    
    =
    
      
        ∑
        
          u
          =
          1
        
        U
      
      ⁢
      
        
          
            b
            
              k
              ,
              u
            
          
          ⁡
          
            [
            m
            ]
          
        
        ⁢
        
          
            w
            
              k
              ,
              u
            
          
          ⁡
          
            [
            n
            ]
          
        
      
    
  
  ,
  
    mN
    ≤
    n
    <
    
      
        (
        
          m
          +
          1
        
        )
      
      ⁢
      N
    
  




where U is the number of users, bk,u[m] is a user data symbol (which is drawn from a finite constellation and is constant over symbol intervals of sample length N), and wk,u[n] is a user spreading code (including PN, covering, and filtering), which is typically time varying at the sample rate. The sampling rate corresponding to n is taken to be the normalized rate 1 and assumed to be greater than the chip rate. The received signal y[n] may be organized into a sequence of vectors at rate 1/N





  
    
      
        
          y
          ⁡
          
            [
            m
            ]
          
        
        =
        
          
            ∑
            
              k
              =
              1
            
            K
          
          ⁢
          
            
              ∑
              
                m
                ′
              
            
            ⁢
            
              
                ∑
                l
                L
              
              ⁢
              
                
                  c
                  
                    k
                    ,
                    l
                  
                
                ⁢
                
                  
                    w
                    
                      k
                      ,
                      l
                    
                  
                  ⁡
                  
                    [
                    
                      m
                      -
                      
                        m
                        ′
                      
                    
                    ]
                  
                
                ⁢
                
                  
                    b
                    k
                  
                  ⁡
                  
                    [
                    
                      m
                      ′
                    
                    ]
                  
                
              
            
          
        
      
      ]
    
    +
    
      v
      ⁡
      
        [
        m
        ]
      
    
  
  ,




where bk contains symbols bk,u and the columns of the matrix Wk,l comprise vectors of the form

wk,l,u=[wk,l,u[mN−dl], . . . , wk,l,u[(m+1)N−1−dl]]T 

Thus, the sampling rate corresponding to m remains 1/N.

The optimal receiver for a given user information sequence depends on the cellular network's operating mode (e.g., soft handoff, blocking). For example, if a particular handset is not in handoff and there is no inter-base-station interference (i.e., K=1), the optimal detection strategy for a single symbol of interest corresponding to a designated user is




  
    
      b
      u
    
    ⁡
    
      [
      m
      ]
    
  
  =
  
    arg
    ⁢
    
      
    
    ⁢
    
      
        max
        b
      
      ⁢
      
        
      
      ⁢
      
        
          max
          
            
              
                {
                
                  
                    b
                    
                      u
                      ′
                    
                  
                  ⁡
                  
                    [
                    
                      m
                      ′
                    
                    ]
                  
                
                }
              
              :
              
                
                  b
                  u
                
                ⁡
                
                  [
                  m
                  ]
                
              
            
            =
            b
          
        
        ⁢
        
          Re
          ⁢
          
            
              ∑
              l
            
            ⁢
            
              
                
                  c
                  _
                
                l
              
              ⁢
              
                
                  s
                  l
                  *
                
                ⁡
                
                  [
                  
                    m
                    ;
                    
                      {
                      
                        b
                        ⁡
                        
                          [
                          
                            m
                            ′
                          
                          ]
                        
                      
                      }
                    
                  
                  ]
                
              
              ⁢
              
                (
                
                  
                    y
                    ⁡
                    
                      [
                      m
                      ]
                    
                  
                  -
                  
                    
                      1
                      2
                    
                    ⁢
                    
                      s
                      ⁡
                      
                        [
                        
                          
                            m
                            ;
                            
                              {
                              
                                b
                                ⁡
                                
                                  [
                                  
                                    m
                                    ′
                                  
                                  ]
                                
                              
                              }
                            
                          
                          ,
                          l
                        
                        ]
                      
                    
                  
                
                )
              
            
          
        
      
    
  




where overbar denotes a complex conjugate and superscript * denotes a Hermitian transpose. The term sl[m; {b[m′]}] is a received signal vector, delayed by dl corresponding to the vector-valued information sequence {b[m′]}, and the vector





  
    
      s
      ⁡
      
        [
        
          
            m
            ;
            
              {
              
                b
                ⁡
                
                  [
                  
                    m
                    ′
                  
                  ]
                
              
              }
            
          
          ,
          l
        
        ]
      
    
    =
    
      
        ∑
        
          
            l
            ′
          
          ≠
          l
        
      
      ⁢
      
        c
        l
      
    
  
  ,
  
    s
    l
  
  ,
  
    [
    
      m
      ;
      
        {
        
          b
          ⁡
          
            [
            
              m
              ′
            
            ]
          
        
        }
      
    
    ]
  




represents an interference signal formed from all of the paths not equal to path l. This exemplary embodiment impels approximations that cancel interference terms sl[m; {b[m′}] from received signals, in advance of Rake reception (i.e., the sum over l of clsl[m]. The vector sl[m; {b[m′]}] may be expressed as

sl[m;{b[m′]}]=[s[mN−dl,{b[m]}], . . . , s[(m+1)N−1−dl,{b[m′]}]]

When the complex baseband signal y[m] is resolved at a particular (lh) finger in a handset's Rake receiver, it can be simplified to a vector representation

y=cxubu+xMAI+XINT+v 

where y represents received data after it passes through a receiver pulse-shaping filter (e.g., a root raised-cosine pulse-shaping filter). The data y is time aligned to a particular path delay. The term c is a complex attenuation corresponding to the path.

When the modulation is linear, the term xu in path l, which represents a code waveform that typically includes an orthogonal basis code and an overlaid spreading sequence (e.g., a PN code) assigned to a user of interest, may be written as

x1,l,u[m]=c1,lw1,l,ub1,u[m]

The term W1,u, is the spread and scrambled code for user u in cell k=1, and b1,u, is an information symbol corresponding to the user of interest. The term xMAI is multiple access interference, and it may be expressed by





  
    
      x
      
        1
        ,
        l
        ,
        MAI
      
    
    ⁡
    
      [
      m
      ]
    
  
  =
  
    
      c
      l
    
    ⁢
    
      
        ∑
        
          
            u
            ′
          
          ≠
          u
        
      
      ⁢
      
        
          w
          
            1
            ,
            l
            ,
            u
          
        
        ⁢
        
          
            
              b
              
                1
                ,
                u
              
            
            ⁡
            
              [
              m
              ]
            
          
          .
        
      
    
  




The term xINT may include inter-finger (and possibly inter-base-station) interference terms that are similar in form to xMAI. The term v is a vector of complex additive noise terms. Each of the vectors xu, xMAI and xINT is a signal resolved onto a Rake finger matched to the lth multipath delay of base station k at symbol period m.

A conventional Rake receiver resolves the measurement xu onto a user's code vector to form the statistic xu*yl. Such statistics are typically derived from multiple Rake fingers and coherently combined across the paths via a maximum ratio combiner (i.e. they are weighted by the conjugate of the channel gains and summed). Alternatively, more general combining may be used.
FIG. 1 illustrates a signal processing method in accordance with an exemplary embodiment of the invention that is configured to reduce ISI in a received signal from a particular Rake finger. A CIV s is generated 101 by combining soft or hard estimates of interference corresponding to the other delays and/or base stations not tracked by the particular finger. For example, the soft estimates may correspond to interfering user subchannels from each base station tracked by a cellular handset. Soft or hard estimates may be derived from a conventional Rake receiver, an equalizer, or any detector matched to the communication protocol and channel conditions of a received signal. Embodiments of the invention may be configurable to operate within receivers employing receive diversity, equalization, transmit diversity combining, and/or space-time decoding.
Embodiments of the invention may include one or more CIVs. Therefore, in parts of the disclosure that describe a CIV, it is anticipated that a plurality of CIVs may be used. For example, specific embodiments may employ a matrix whose columns are CIVs. The CIV s is constructed from known and/or estimated active subchannels and then used to compute a soft projection matrix 102,

F(λ)=I−λss*. 

The matrix F(λ) is configured to operate on a received data vector y 103 to produce an interference-cancelled signal ŷ=F(λ)y, which is coupled to a Rake processor or combiner (not shown). The term I is an identity matrix, and the weight λ may be determined symbol-by-symbol in order to maximize a post-processing SINR,




  
    Γ
    ⁡
    
      (
      λ
      )
    
  
  =
  
    
      
        
        
          
            x
            u
            *
          
          ⁢
          
            F
            ⁡
            
              (
              λ
              )
            
          
          ⁢
          
            x
            u
          
        
        
      
      2
    
    
      
        E
        ⁢
        
          
            
            
              
                x
                u
                *
              
              ⁢
              
                F
                ⁡
                
                  (
                  λ
                  )
                
              
              ⁢
              
                x
                MAI
              
            
            
          
          2
        
      
      +
      
        E
        ⁢
        
          
            
            
              
                x
                u
                *
              
              ⁢
              
                F
                ⁡
                
                  (
                  λ
                  )
                
              
              ⁢
              
                x
                INT
              
            
            
          
          2
        
      
      +
      
        
          σ
          2
        
        ⁢
        
          x
          u
          *
        
        ⁢
        
          F
          ⁡
          
            (
            λ
            )
          
        
        ⁢
        
          
            F
            *
          
          ⁡
          
            (
            λ
            )
          
        
        ⁢
        
          x
          u
        
      
    
  




In this expression, each vector of the form xu is xu[m], corresponding to symbol period m. Therefore, the post-processing SINR Γ(λ) is measured symbol period-by-symbol period. The user powers are absorbed into the component vectors xu, xMAI, and xINT. These powers are known or estimated.

At each symbol period, the SINR at a given finger can be expressed as




  
    Γ
    ⁡
    
      (
      λ
      )
    
  
  =
  
    
      a
      +
      
        b
        ⁢
        
          
        
        ⁢
        λ
      
      +
      
        c
        ⁢
        
          
        
        ⁢
        
          λ
          2
        
      
    
    
      d
      +
      
        e
        ⁢
        
          
        
        ⁢
        λ
      
      +
      
        f
        ⁢
        
          
        
        ⁢
        
          λ
          2
        
      
    
  




The coefficients are





  
    
      
        a
        =
        
          
            
            
              
                x
                u
                *
              
              ⁢
              
                x
                u
              
            
            
          
          2
        
      
    
  
  
    
      
        b
        =
        
          
            -
            2
          
          ⁢
          
            x
            u
            *
          
          ⁢
          
            x
            u
          
          ⁢
          
            
              
              
                
                  x
                  u
                  *
                
                ⁢
                s
              
              
            
            2
          
        
      
    
  
  
    
      
        c
        =
        
          
            
            
              
                x
                u
                *
              
              ⁢
              s
            
            
          
          4
        
      
    
  
  
    
      
        d
        =
        
          
            
              ∑
              
                
                  u
                  ′
                
                ≠
                u
              
            
            ⁢
            
              
                
                
                  
                    x
                    u
                    *
                  
                  ⁢
                  
                    x
                    
                      u
                      ′
                    
                  
                
                
              
              2
            
          
          +
          
            
              
              
                
                  x
                  u
                  *
                
                ⁢
                s
              
              
            
            2
          
          +
          
            
              σ
              2
            
            ⁢
            
              x
              u
              *
            
            ⁢
            
              x
              u
            
          
        
      
    
  
  
    
      
        e
        =
        
          
            -
            2
          
          ⁢
          
            
          
          ⁢
          
            Re
            (
            
              
                
                  ∑
                  
                    
                      u
                      ′
                    
                    ≠
                    u
                  
                
                ⁢
                
                  
                    (
                    
                      
                        x
                        u
                        *
                      
                      ⁢
                      
                        x
                        
                          u
                          ′
                        
                      
                    
                    )
                  
                  ⁢
                  
                    (
                    
                      
                        x
                        u
                        *
                      
                      ⁢
                      s
                    
                    )
                  
                  ⁢
                  
                    (
                    
                      
                        s
                        *
                      
                      ⁢
                      
                        x
                        
                          u
                          ′
                        
                      
                    
                    )
                  
                
              
              +
              
                
                  
                    
                    
                      
                        x
                        u
                        *
                      
                      ⁢
                      s
                    
                    
                  
                  2
                
                ⁢
                
                  s
                  *
                
                ⁢
                s
              
              +
              
                
                  σ
                  2
                
                ⁢
                
                  
                    
                    
                      
                        x
                        u
                        *
                      
                      ⁢
                      s
                    
                    
                  
                  2
                
              
            
            )
          
        
      
    
  
  
    
      
        f
        =
        
          
            
              ∑
              
                
                  u
                  ′
                
                ≠
                u
              
            
            ⁢
            
              
                
                  
                  
                    
                      x
                      u
                      *
                    
                    ⁢
                    s
                  
                  
                
                2
              
              ⁢
              
                
                  
                  
                    
                      s
                      *
                    
                    ⁢
                    
                      x
                      
                        u
                        ′
                      
                    
                  
                  
                
                2
              
            
          
          +
          
            
              
                
                
                  
                    x
                    u
                    *
                  
                  ⁢
                  s
                
                
              
              2
            
            ⁢
            
              
                
                
                  
                    s
                    *
                  
                  ⁢
                  s
                
                
              
              2
            
          
          +
          
            
              σ
              2
            
            ⁢
            
              
                
                
                  
                    x
                    u
                    *
                  
                  ⁢
                  s
                
                
              
              2
            
            ⁢
            
              (
              
                
                  s
                  *
                
                ⁢
                s
              
              )
            
          
        
      
    
  




wherein each of the inner products may be computed from the user codes wk[m] and complex amplitudes bl,u[m] identified for user u at baud interval m. If orthogonal spreading codes are used, the expression xu*xu with u′ ≠u is zero. Furthermore, the relevant inner product xu*s can be efficiently obtained for a CDMA/WCDMA system by passing the synthesized CIV s for the finger of interest through a fast Walsh transform (FWT). Computing the soft projection matrix 102 may include a step of maximizing the SINR Γ(λ) by setting its derivative (with respect to λ) to zero (not shown), resulting in the following polynomial equation

(ce−bf)λ2+2(cd−af)λ+(bd−ae)=0.

One of the roots of the polynomial equation corresponding to the maximum SINR is selected (not shown) and then used to scale ss* in the matrix F(λ). Once computed, F(λ)y may be scaled to conform to downstream processing in a baseband receiver.

It should be appreciated that variations to the previously described process for determining the weight λ may be made without departing from the spirit and scope of the claimed invention. For example, when a cellular handset is in a soft-handoff mode, there is an additional quadratic term in the numerator of Γ(λ) corresponding to the received signal power from the second base station, and there is one less term in the denominator. This changes the function Γ(λ), but it does not change the procedure for determining the value of Γ(λ) that maximizes Γ(λ). Furthermore, algorithms for maximizing Γ(λ) may be incorporated into other receiver processing techniques, such as (but not limited to) Rake path tracking, active user determination, amplitude estimation, receive diversity, and equalizing. Γ(λ) may be approximately maximized with variations or stochastic gradients.
FIG. 2A is a schematic block diagram of a circuit in accordance with an alternative embodiment of the invention that includes a CIV generator 201, an interference-cancelling operator 202, and a soft-projection canceller 203. Inputs to the CIV generator 201 and the soft-projection canceller 203 are coupled to outputs of a Rake receiver 200. An output of the soft-projection canceller 203 is coupled to the input of a combiner 210.
The soft-projection canceller 203 is configured to cancel interference from at least one path (or finger) of the Rake receiver 200. Soft and/or hard estimates from at least one other path or finger are processed by the CIV generator 201 to produce a CIV s. For example, FIG. 2B shows signals from rake fingers 210.1-210.N being used to construct a CIV in order to cancel interference from one of the rake fingers (e.g., 210.1). The interference-cancelling operator 202 uses the CIV s and user code xu to compute a soft-projection matrix. The soft-projection matrix computes the weight value λ that maximizes the SINR of the interference-cancelled signal ŷ=F(λ)y. The interference-cancelled signal ŷ output from the soft-projection canceller 203 may be coupled into the combiner 210 and combined with interference-cancelled signals from other paths or Rake fingers.
The functions of the various elements shown in the drawings, including functional blocks, may be provided through the use of dedicated hardware, as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be performed by a single dedicated processor, by a shared processor, or by a plurality of individual processors, some of which may be shared. Moreover, explicit use of the term “processor” should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor DSP hardware, read-only memory (ROM) for storing software, random access memory (RAM), and non-volatile storage. Other hardware, conventional and/or custom, may also be included. Similarly, the function of any component or device described herein may be carried out through the operation of program logic, through dedicated logic, through the interaction of program control and dedicated logic, or even manually, the particular technique being selectable by the implementer as more specifically understood from the context.
The method and system embodiments described herein merely illustrate particular embodiments of the invention. It should be appreciated that those skilled in the art will be able to devise various arrangements, which, although not explicitly described or shown herein, embody the principles of the invention and are included within its spirit and scope. Furthermore, all examples and conditional language recited herein are intended to be only for pedagogical purposes to aid the reader in understanding the principles of the invention. This disclosure and its associated references are to be construed as applying without limitation to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments of the invention, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof. Additionally, it is intended that such equivalents include currently known equivalents as well as equivalents developed in the future, i.e., any elements developed that perform the same function, regardless of structure.

## Claims

1. A method for cancelling interference from a received baseband signal in a CDMA system, comprising:
generating at least one composite interference vector (CIV) by combining estimates from interfering subchannels,
generating a soft-cancellation operator, and
performing a soft cancellation of the received baseband signal to output an interference-cancelled signal,
wherein the estimates are derived from a Rake receiver.

2. The method recited in claim 1, wherein each finger of the Rake receiver is matched to at least one of a time delay and a base station spreading code.

3. The method recited in claim 1, wherein generating at least one CIV comprises generating at least one of soft estimates and hard estimates from the interfering subchannels.

4. The method recited in claim 1, wherein generating at least one CIV comprises generating at least one or more soft estimates corresponding to interfering user subchannels from each base station tracked by a cellular handset.

5. The method recited in claim 1, wherein the at least one of soft estimates and hard estimates is derived from a selected one of a Rake receiver, an equalizer, and a detector matched to the communication protocol and channel conditions of the received baseband signal.

6. The method recited in claim 1, wherein the at least one CIV is generated using at least one of a symbol estimator, a sub channel selector, a fast Walsh transform, and a PN coder.

7. The method recited in claim 6, wherein the at least one CIV is generated using a symbol estimator employing at least one of Rake processing, receive diversity and equalization.

8. The method recited in claim 1, wherein performing a soft cancellation comprises at least one of subtractive and projective interference cancellation.

9. The method recited in claim 1, wherein the soft cancellation operator comprises a soft-projection matrix generator or an interference-cancelling operator configured for selecting a soft weight that increases a post-processing SINR.

10. The method recited in claim 1, wherein the received baseband signal is coupled to a first Rake finger and generating the at least one CIV comprises generating the at least one CIV from at least one Rake finger that does not include the first Rake finger.

11. The method recited in claim 1, wherein generating the at least one CIV comprises deriving the estimates from at least one of a Rake receiver, an equalizer, a receiver employing receive diversity, a receiver employing transmit diversity combining, and a receiver employing space-time decoding.

12. The method recited in claim 1, wherein generating the soft-cancellation operator comprises generating a soft-projection matrix to operate on a received data vector, the soft-projection matrix having the form F(λ)=I−λss*, where I is an identity matrix, λ is a weight, and s is a CIV.

13. The method recited in claim 12, wherein generating the soft-cancellation operator comprises determining the weight λ by maximizing a post-processing SINR.

14. The method recited in claim 13, wherein generating the soft-cancellation operator comprises determining the weight λ by maximizing a post-processing SINR for a handset operating in a soft-handoff mode.

15. The method recited in claim 1, wherein performing the soft cancellation further comprises coupling the interference-cancelled signal to at least one of a combiner and a Rake receiver.

16. The method recited in claim 15, further comprising combining a plurality of interference-cancelled signals.

17. The method recited in claim 1, wherein the CDMA system is configured to implement receive diversity and equalization.