Abstract:
A communication device including a per finger interference reducer adapted to remove an interference effect of at least one pilot signal from the output of a despreader of the finger.

Description:
CROSS-REFERENCE TO PREVIOUS APPLICATIONS 
   The present application is a continuation of U.S. Ser. No. 09/983,775 filed Oct. 25, 2001 (pending), which is a continuation-in-part of U.S. Ser. No. 09/443,864 filed Nov. 19, 1999, now U.S. Pat. No. 6,628,701 which is a continuation of U.S. Ser. No. 08/873,880 filed Jun. 11, 1997 (U.S. Pat. No. 6,034,986). 

   FIELD OF THE INVENTION 
   The present invention relates to spread spectrum communication systems generally and to noise reducing units in mobile handsets of such communication systems in particular. 
   BACKGROUND OF THE INVENTION 
   A conventional spread spectrum signal can be viewed as the result of mixing a narrowband information-bearing signal i[t] with an informationless wideband “spreading” signal p[t]. If B i  and B p  denote the bandwidths of i[t] and p[t], respectively, then the “processing gain” available to the receiver is G=B p /B i . The receiver synchronizes the incoming signal to a locally generated version p o [t] of p[t] and mixes the received signal with p o [t], thereby removing p[t] from the signal and “collapsing” the signal to the “information bandwidth” B i . 
   The spreading signal p[t] is typically a coding sequence of some kind, such as a pseudo-random code. The United States space program initially utilized a Type 1 Reed-Muller code for deep-space communications. In many code division multiple access (CDMA) systems, the code is an M-sequence which has good “noise like” properties yet is very simple to construct. 
   For example, in the IS-95 standard for cellular communication, the forward channel (base to mobile units) employs, as a spreading code, the product of a 64 chip Walsh code (aimed at separating up to 64 different users per base) and a periodic PN sequence (aimed at separating the different bases). Thus, the spreading signal p[t] for each user is its Walsh code combined with the current 64 chips of the PN sequence of its base station. 
   In order to synchronize the local version p o [t] of the spreading signal with the original version p[t], the base station additionally transmits the current PN sequence via a pilot signal z[t] (the pilot signal z[t] is simply the current PN sequence multiplied by the all 1 Walsh code). The mobile unit then synchronizes its local code generator to the pilot signal after which the mobile unit can despread the received information bearing signals using its Walsh code and the current PN sequence. 
   The Walsh codes W i , I=1, . . . 64 are perfectly orthogonal to each other such that, in a non-dispersive transmission channel, there will be complete separation among the users even despite being transmitted at the same time and on the same transmission frequencies. 
   Practical channels, however, are time dispersive, resulting in multipath effects where the receiver picks up many echoes of the transmitted signal each having different and randomly varying delays and amplitudes. In such a scenario, the code&#39;s orthogonality is destroyed and the users are no longer separated. Consequently, a mobile unit, when attempting to detect only a single user, regards all other channel users (including signals from other base stations) as creators of interference. This contributes to a decrease in signal-to-noise ratio (SNR) and thus, reduces the reception quality of the mobile unit. 
   In the presence of multipath channels, the mobile units additionally process the informationless pilot signal to identify and track the multipath parameters of the channel. For this purpose, the mobile units include a channel estimator which detects and tracks the attenuation, denoted by channel “tap” ĥ i , and the relative delay, denoted by {circumflex over (τ)} i , for each of the main paths. The mobile units then utilize the channel information in their detection operations. 
   One exemplary multipath detector is a rake receiver which optimally combines the different paths into a single replica of the transmitted signal. Rake receivers are described in detail e.g. in the book  Digital Communications  by J. G. Proakis, McGraw-Hill, Third Edition, 1995. The book is incorporated herein by reference. 
   A multiple-user detection scheme, such as is often used in base stations, can be viewed as interpreting the cross-talk between the signals of the users as merely a part of the multiple-input, multiple-output channel distortion. The base station accounts for this distortion during the detection process and, in general, the distortion does not translate into an SNR reduction. Therefore, it is not surprising that, with practical multipath channels, multi-user detection schemes are far superior to single-user ones. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The present invention will be understood and appreciated more fully from the following detailed description taken in conjunction with the drawings in which: 
       FIG. 1  is a block diagram illustration of a data detector for a mobile unit, constructed and operative in accordance with an embodiment of the present invention; 
       FIG. 2  is a block diagram illustration of an interference processor useful in the detector of  FIG. 1 ; 
       FIG. 3A  is a block diagram of a standard receiver useful in the data decoder of  FIG. 1 ; 
       FIGS. 3B and 3C  are block diagrams of a pilot interference removing rake receiver, constructed and operative in accordance with alternative embodiments of the present invention; 
       FIG. 4  is a block diagram illustration of an alternative data detector for a mobile unit which removes the interference effect of multiple pilot signals, constructed and operative in accordance with an embodiment of the present invention; and 
       FIG. 5  is a block diagram illustration of a base station multi-user data detector constructed and operative in accordance with an embodiment of the present invention. 
   

   DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
   Reference is now made to  FIGS. 1 and 2  which illustrate a first embodiment of the mobile unit data detector of the present invention.  FIG. 1  illustrates the detector in general and  FIG. 2  illustrates the elements of an interference processor forming part of the detector of FIG.  1 . 
   Detector  10  forms part of a mobile communication unit which receives a signal r(n) and comprises a rake receiver  12 , a pilot processor  11  and an optional decoder  18 . The pilot processor  11  includes a synchronizer  13  and a channel estimator  14 . However, in accordance with an embodiment of the present invention, detector  10  also comprises an interference processor  20  which utilizes the output of the existing channel estimator  14  and synchronizer  13 . 
   The signal r(n) is the version of the received signal after the latter has been filtered and down converted to a baseband signal and has been sampled at rate of M samples per chip and N chips per symbol where M and N are typically integers. In the IS-95 CDMA standard, there are 64 chips per symbol n and the chip rate is 1.2288×10 6  chips per second, i.e. T chip  is about 0.8 μsec. For simplicity, M is set to 1, i.e. upon receipt, the signal r(n) is sampled once per chip. 
   Synchronizer  13  synchronizes the detector to the PN sequence of the base station and provides the current PN sequence to the rake receiver  12  and the interference processor  20 . Channel estimator  14  estimates the channel tap ĥ i  and the delay {circumflex over (τ)} i  associated with each finger. Rake receiver  12  despreads the user data signal of the current user using the user&#39;s Walsh code (which is known a priori), the current PN sequence, the estimated channel taps ĥ i  and the estimated finger delays {circumflex over (τ)} i . Rake receiver  12 , shown in detail in  FIG. 3A , produces the estimated user data signal x(n), sampled once per symbol. 
   It is noted that the received signal r(n) consists of the data signals of all of the active users (of the current base station and possibly of other, neighboring base stations) the pilot signals of at least the current base station and other interference terms caused by different noise sources in transmission, reception, etc. For the present discussion, the “pilot signal” will refer to the pilot signal of the current base station which is, by far, the strongest pilot signal received by the mobile unit. 
   In accordance with an embodiment of the present invention, interference processor  20  determines the cross-talk interference effect c(n) of the pilot signal on the user data signal x(n). Since the power of the pilot signal is typically significantly larger than that of any other channel user (to ensure that every synchronizer  13  can synchronize to it), removing the interference effect c(n) of the pilot signal (via a subtractor  22 ) should considerably improve the estimated user data signal x(n). Furthermore, as described hereinbelow, the interference effect is relatively simple to calculate and thus, interference processor  20  can generally easily be implemented in a mobile handset where the computational burden must be minimized. 
   Subtractor  22  removes the interference effect c(n) from the rake receiver output x(n) thereby producing a new version x′(n) of the data signal. The new version x′(n) is decoded, via known methods, by optional decoder  18 . 
   Interference processor  20  determines the cross-talk through the rake receiver  12  due to the pilot signal and from this, generates the interference effect caused by the pilot signal. The cross-talk is of the form Re{ĥ i ĥ j *ρ a (k,n)ρ p  (k′)},i≠j, where * indicates the complex conjugate, the function Re{ } indicates the real portion of a complex number, ρ a (k,n) is the cross-correlation of the user and pilot spreading codes for the nth transmitted symbol, ρ p (k′) depends on the baseband filter taps and defines the effect of transmit and receive shaping filters on a transmitted signal, k is a delay defined in integral chips (i.e. k is an integer number) and k′ is a delay defined in fractional chips (i.e. k′ is a real number). Typically, k′ is measured in units of T chip /M. 
   Since the baseband filter taps are known a priori and do not change over time, ρ p (k′) can be determined a priori for all possible values of k′ and stored in a lookup table  30 . A priori transmitter-receiver shaping filter effect generator  32  determines ρ p (k′) as follows: 
                 ρ   p     ⁡     (     k   ′     )       =       ∫     -   ∞     ∞     ⁢       α   ⁡     (     t   -     k   ′       )       ⁢     β   ⁡     (     -   t     )       ⁢           ⁢     ⅆ   t                 Equation   ⁢           ⁢   1             
 
where k′ typically varies from −L T     chip   /M&lt;k′&lt;+L T     chip   /M in steps of T chip /M, α(t) is the impulse response of the overall transmit shaping filter and β(t) is the impulse response of the overall receive shaping filter. Since ρ p (k′) decays as k′ increases, L is chosen to indicate that point where ρ p (k′) is very small. In other words, L is chosen such that ρ p (L T     chip   /M)&lt;&lt;ρ p ( 0 ). The transmit filter impulse response α(t) is defined in the IS-95 and IS-98 CDMA standards. For IS-95 it is found in section 6.1.3.1.10 “Baseband Filtering” (pages 6-31-6-33 of IS-95-A+TSB74). The receive filter impulse response β(t) is a design option and is typically chosen to be equal to α(t) in order to maximize the expected signal to noise ratio. The impulse responses α(t) and β(t) are thus known a priori. The output of generator  32  is stored in lookup table  30 , per value of k′.
 
   Since all Walsh codes and the entire PN sequence are known a priori (recall that the PN sequence is finite and periodic), and since each symbol is transmitted with N values of the PN sequence, ρ a (k,n) can also be generated a priori, for all possible values of k and n and stored in a lookup table  34 . A priori spreading code cross-correlator  36  determines ρ a (k,n) as follows. 
                   ρ   a     ⁡     (     k   ,   n     )       =       1     2   ⁢   N       ⁢       ∑     m   =   0       N   -   1       ⁢           ⁢         q   pilot     ⁡     (       m   +   k     ,   s     )       ⁢         q   user     ⁡     (     m   ,   n     )       *             ⁢     
     ⁢         q   x     ⁡     (     m   ,   n     )       =     x_Walsh   ⁢     (   m   )     *     PN   ⁡     (     m   +   nN     )           ⁢     
     ⁢     x   =     pilot   ⁢           ⁢   or   ⁢           ⁢   user       ⁢     
     ⁢     0   ≤   m   ≤     L   -     1   ⁢           ⁢   per   ⁢           ⁢   symbol   ⁢           ⁢   n     ⁢     
     -   ∞     ≤   n   ≤   ∞     ⁢     
     ⁢         PN   ⁡     (     m   +   nN   +   kQ     )       =       PN   ⁡     (     m   +   nN     )       ⁢     ∀   m         ,   n   ,   k             Equation   ⁢           ⁢   2             
 
where, as defined in the above equation, the pilot and user Walsh codes q(m,n) are sequences of N chips and PN(n) is a periodic extension of a pseudo-random number sequence of length Q where, for the IS-95 standard, Q is 2 15 .
 
   Interference processor  20  additionally comprises a finger cross-talk determiner  38  which receives the estimated channel taps ĥ i and the estimated finger delays {circumflex over (τ)} i  from the channel estimator  14  and utilizes them and the information stored in the two lookup tables  30  and  34  to determine the cross-talk effect of two fingers i,j for the given channel, channel delays and pilot signal. 
   Specifically, interference processor  20  begins by determining the value of k 0 ′, where k 0 ′={circumflex over (τ)} i −{circumflex over (τ)} j , after which interference processor  20  activates cross-talk effect determiner  38  to determine the cross-talk effect a i,j (n) as follows: 
                 a     i   ,   j       ⁡     (   n   )       =       ∑     k   ,     k   ′         ⁢           ⁢     Re   ⁢     {         h   ^     i     ⁢       h   ^     j   *     ⁢       ρ   a     ⁡     (     k   ,   n     )       ⁢       ρ   p     ⁡     (     k   ′     )         }                 Equation   ⁢           ⁢   3             
 
where the sum is performed for all k and k′ within the ranges around k 0 ′ defined by |k−int(k 0 ′)|&lt;J and |k′−k 0 ′|&lt;J, respectively. J is a design parameter and is typically in the range of 1 to 10. It is noted that the delay differences k′ and k are stepped by steps of one chip, where all delay difference k′ includes the fractional portion of k 0 ′. Thus, if k 0 ′ is, for example, 7.25 chips, then k′ might have values of 5.25, 6.25, 7.25, 8.25 and 9.25 and k might have values 5, 6, 7, 8 and 9.
 
   Equation 3 is operative for BPSK signaling. For non-BPSK signaling, such as QPSK signaling, Equation 3 becomes: 
                 a     i   ,   j       ⁡     (   n   )       =       ∑     k   ,     k   ′         ⁢           ⁢         h   ^     i     ⁢       h   ^     j   *     ⁢       ρ   a     ⁡     (     k   ,   n     )       ⁢       ρ   p     ⁡     (     k   ′     )                   Equation   ⁢           ⁢     4   ′               
 
   The quantity a i,j (n) can be shown to be an estimate of the interference of the pilot signal along finger i to the user signal at finger j. Any number of fingers can be assumed though three is common. For three fingers, i and j vary from 0 to 2. In the IS-95 standard the Walsh codes are perfectly orthogonal, the term a i,I (n) is identically zero. However, with non-orthogonal codes, this term is generally non-zero. 
   To calculate a i,j (n), interference processor  20  retrieves the value of ρ a (k,n) for each value of k and for the nth symbol from lookup table  34  and the value of ρ p (k′) for each value of k′ from lookup table  30 . Interference processor  20  activates the cross-talk effect determiner  38  for each set (i,j) of fingers where, for each set, the value of k 0 ′ is first determined as are the ranges of k and k′. 
   Interference processor  20  additionally comprises a finger interference effect determiner  40  and a total interference effect determiner  42 . Finger interference effect determiner  40  determines the interference effect B j (n) per finger as: 
                 B   j     ⁡     (   n   )       =       ∑   i     ⁢           ⁢       a     i   ,   j       ⁡     (   n   )                 Equation   ⁢           ⁢   5             
 
where the sum is performed over the number of fingers in the channel.
 
   Total interference effect determiner  42  determines the total interference effect C(n) as the sum of the B j (n). The total interference effect C(n) is the output of interference processor  20 . As shown in  FIG. 3B  described in detail hereinbelow, the rake receiver  12  can subtract the individual finger interferences B j (n) from the individual finger contribution, thereby directly producing the corrected, estimated user data signal x′(n). 
   It will be appreciated that, by removing the interference effect of the pilot signal, a significant portion, though not all, of the noise which affects the user signal x(n) has been removed, thus increasing the performance quality of optional decoder  18 . Furthermore, as can be seen from the discussion hereinabove, the computational burden of interference processor  20  is relatively small, in particular since the two cross-correlations ρ a (k,n) and ρ p (k′) can be determined a priori and stored in the lookup tables  30  and  34 . Alternatively, ρ a (k,n) can be determined “on-the-fly”, from equation 2, since its computation only involves summation on PN “chips” which, in the IS-95 standard, accept only the values of ±1. 
   Reference is now briefly made to  FIG. 3A  which illustrates the elements of rake receiver  12  for a three finger channel and to  FIGS. 3B and 3C  which illustrate alternative versions  12 ′ and  12 ″ of rake receiver  12  which performs the interference correction therewithin. 
   Rake receiver  12  has three fingers, each performing approximately the same operation on its associated finger. Each finger includes a despreader  50 , a windowing summer  52 , a sampler  54 , a finger gain multiplier  56  and a complex-to-real converter  58 . In addition, the second and third fingers include delays  60 . 
   The first finger, known as the 0 th  finger, serves as the reference finger. The second and third fingers (referred to as the 1 st  and 2 nd  fingers), respectively, have delays defined by {circumflex over (τ)} 1  and {circumflex over (τ)} 2 , respectively, relative to the 0 th  finger. Delays  60  delay the received signal r(n) by their delay relative to the 0 th  finger. For completion, we set {circumflex over (τ)} 0 =0. 
   Despreaders  50  despread the received signal r(n) (the 0 th  finger) or the delayed signal (the 1 st  and 2 nd  fingers) via the spreading signal q user , defined hereinabove. Windowing summer  52  sums the output of despreaders  50  over a window of N samples and divides the result by N, as indicated. Samplers  54  sample every Nth datapoint. Finger gain multipliers  56  multiply the sampled signal by the complex conjugate of the associated channel tap ĥ i . Converters  58  take the real portion of the resultant signal. A summer  62  sums the output of each finger and produces therefrom the data signal x(n). 
   The rake receiver  12 ′ of  FIG. 3B  is similar to that of  FIG. 3A  (and therefore, similar elements carry similar reference numerals) with the addition of three subtractors  64  between their respective multiplier  56  and converter  58 . Subtractors  64  subtract the finger interference effect B i (n) of the relevant finger from the output of the relevant multiplier  56 . 
   It will be appreciated that, in this embodiment, the output of rake receiver  12 ′ is the corrected data signal x′(n). 
   The rake receiver  12 ″ of  FIG. 3C  is similar to that of  FIG. 3B  except that the interference effect is subtracted from the output of despreaders  50 . For this, the three subtractors  64  are found before (rather than after) their respective multiplier  56 . Furthermore, converter  58  is optional. The cross-talk effect a i,j (n) for this embodiment is now: 
                 a     i   ,   j     ′     ⁡     (   n   )       =       ∑     k   ,     k   ′         ⁢           ⁢     Re   ⁢     {         h   ^     i     ⁢       ρ   a     ⁡     (     k   ,   n     )       ⁢       ρ   p     ⁡     (     k   ′     )         }                 Equation   ⁢           ⁢   5             
 
for BPSK signaling and 
                 a     i   ,   j     ′     ⁡     (   n   )       =       ∑     k   ,     k   ′         ⁢           ⁢         h   ^     i     ⁢       ρ   a     ⁡     (     k   ,   n     )       ⁢       ρ   p     ⁡     (     k   ′     )                   Equation   ⁢           ⁢     5   ′               
 
for non-BPSK signaling. 
                 B   j   ′     ⁡     (   n   )       =       ∑   i     ⁢           ⁢       a     i   ,   j     ′     ⁡     (   n   )                 Equation   ⁢           ⁢   6             
 
   Reference is now briefly made to  FIG. 4  which illustrates a data detector  10 ′ capable of reducing multi-pilot interference. The detector of  FIG. 4  is particularly useful for mobile units when they are approximately equidistant between two or more base stations. At this position, the mobile units receive the pilot signals of the multiple base stations with approximately equal strength. Both pilot signals interfere with the transmitted data signal. 
   The data detector  10 ′ is similar to data detector  10  of  FIG. 1  in that it includes rake receiver  12 , subtractor  22  and optional decoder  18 . Data detector  10 ′ also includes a plurality NB of interference processors  20 , one per base station that is interfering, and associated pilot processors  11 . As described hereinabove, each pilot processor  11  includes a synchronizer, a channel estimator and a delay estimator. However, in data detector  10 ′, each pilot processor  11  synchronizes to the pilot of a different base station and, accordingly, each interference processor  20  generates the interference effect of the pilots of the different base stations. Subtractor  22  removes the multiple interference effect outputs of processors  20  from the data signal x(n) in order to produce the corrected signal x′(n) which optional decoder  18  then decodes. 
   It will be appreciated that the pilot and interference processors  11  and  20 , respectively may also be incorporated in a base station. In this embodiment, the processors  11  and  20  operate on the NU user signals which the base station receives. Thus, as shown in  FIG. 5 , the base station includes a detector  80  which produces NU data signals x i (n). In accordance with an embodiment of the present invention, the base station includes at least one pilot processor  11  for the neighboring base station&#39;s pilot signal and NU interference processors  20 , one per user, for determining the interference effect of the neighboring pilot signal on the data signal of each user. The base station also includes NU subtractors  22 , one per user, for removing the interference effect C i (n) of the relevant interference processor  20  from the corresponding data signal x i (n). 
   It will be appreciated by persons skilled in the art that the present invention is not limited to what has been particularly shown and described hereinabove. Rather the scope of the present invention is defined only by the claims which follow.