# Patent

## Title
LPC filter for removing periodic and quasi-periodic interference from spread spectrum signals

## Abstract

A spread spectrum system having data transmitted in a spread spectrum signal. Periodic and quasi-periodic signals which act as interference in the spectrum of interest is effectively filtered out by using a linear predictive coding filter. The LPC filter takes a digitized received spread spectrum signal and generates a set of predictive coefficients and a set of error coefficients. The predictive coefficients represent the interfering periodic and/or quasi-periodic signals. As such, the set of predictive coefficients are discarded. The remaining error coefficients represent what is left over and thereby contains the useful transmitted data found within the spread spectrum signal. The error coefficients are used by the signal processing block to extract the transmitted data.

## Background
FIELD OF THE INVENTION
The present invention relates to using a linear predictive coding filter for the purpose of removing periodic and/or quasi-periodic interference from spread spectrum signals.
BACKGROUND OF THE INVENTION
Wireless communications have emerged to become a huge market as millions of people world-wide buy cellular handsets, subscribe to Personal Communications Services (PCS), and make calls on a daily basis. There are many competing technologies in the wireless communications field. Initially, cellular transmissions were made according to traditional analog radio frequency (RF) technology. But as wireless digital technology improved, it became clear that digital applications were far superior to that of analog. The three dominant wireless digital technologies existing today include Global System of Mobile communications (GSM), Time Division Multiple Access (TDMA), and Code Division Multiple Access (CDMA). Of these three digital wireless technologies, CDMA is gaining widespread popularity because of its many advantages.
Generally, CDMA offers greater signal quality, resulting in clearer calls. In addition, CDMA utilizes a spread-spectrum approach, which essentially entails spreading the signal out across a wider spectrum. Consequently, the overall power of the transmitted signal can be boosted without exceeding the FCC regulations in any one channel. This makes it ideal for deployment in dense urban areas where multi-pathing is an issue. In turn, this results in fewer dropped calls. Furthermore, CDMA technology is more power efficient, thereby prolonging the standby and active battery life. But one of the most attractive features of CDMA is that it offers a greater capacity for carrying signals. Basically, the airwaves are divided into a number of different frequency bands per Federal Communications Commission (FCC) regulations. A limited segment of the airwaves has been allocated by the FCC for cellular usage. Due to the huge demand for cellular usage and the limited bandwidth that is available, getting a license from the FCC to transmit on a particular frequency band is extremely expensive. By increasing capacity, CDMA enables PCS providers to carry more users per channel. This increased capacity directly translates into greater revenue for cellular companies.
The advantages of CDMA carry over into high-speed wireless digital access. Increasingly, wireless digital applications are being used to access digital data (e.g., the Internet, intranet, multimedia, business data, etc.) at high speeds. With high speed wireless access, mobile users can obtain instant access to the Internet, business data (e.g., stock market quotes, sales reports, inventory information, price checks, customer data, emails, pages, etc.), and other real time data (e.g., traffic updates, weather information, sports news, etc.). The goal is to provide cellular handsets, personal digital assistants, portable communications devices, etc. the ability to transmit and receive digital data as well as make conventional telephone calls. The trend is towards ever faster mobile data speeds to meet customer demands. With greater data speeds, it is possible to provide even more data to more users. Recent CDMA based standards such as IS-95 and 3G are proposing increased data rates and capabilities. Other emerging standards include IEEE 802.11(b) which utilizes a direct sequence spread spectrum technique and “Bluetooth” which utilizes a frequency hopping spread spectrum technique.
Unfortunately, spreading the signal out across a wide spectrum subjects that signal to a greater degree of interfering signals found within that spectrum. Whereas digital filters can be used to effectively notch out all the known, fixed interference being broadcast in designated restricted bands, it is virtually impossible to accurately quantify and then effectively notch out each of the huge host of variable interfering signals in the various non-restricted bands. The aggregate effect from all of the various interference sources dramatically reduces the range of a spread spectrum signal. Furthermore, the interference significantly reduces the rate by which data can be transmitted using a spread spectrum technique.
Thus, there is a need in the prior art for a method or apparatus which could somehow eliminate most if not all of the interference so as to effectively increase the range and rate by which spread spectrum signals may be transmitted and received.
SUMMARY OF THE INVENTION
The present invention pertains to an apparatus and method for using a linear predictive coding filter for the purpose of removing periodic and/or quasi-periodic interference from spread spectrum signals. Data is encoded and transmitted as a spread spectrum signal. Periodic and quasi-periodic signals which act as interference in the spectrum of interest are effectively filtered out by using a linear predictive coding filter. The LPC filter takes a digitized received spread spectrum signal and generates a set of predictive coefficients and a set of error coefficients. The predictive coefficients represent the interfering periodic and/or quasi-periodic signals. As such, this set of predictive coefficients are discarded. The remaining error coefficients represent what is left over and thereby contain the useful transmitted data found within the spread spectrum signal. The error coefficients are used by the signal processing block to extract the transmitted data. By implementing the LPC filter in such a novel and unique way, the present invention dramatically improves the range and data rate by which spread spectrum systems may operate.



BRIEF DESCRIPTION OF THE DRAWINGS
The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:
FIG. 1 shows an exemplary baseband direct sequence, spread spectrum CDMA receiver upon which the present invention may be practiced.
FIG. 2 shows an exemplary circuit diagram of a linear predictive coding (LPC) filter having a gradient adaptive lattice structure.
FIG. 3 shows how the difference signal e(n) or prediction error is calculated.
FIG. 4 shows a feedback loop with a FIR filter.
FIG. 5 is a block diagram showing how the LPC filter is used in the present invention.
FIG. 6 is a flowchart describing the steps of implementing an LPC filter to filter out periodic and/or quasi-periodic signals in a spread spectrum signal.



DETAILED DESCRIPTION
An apparatus and method for using a linear predictive coding filter for the purpose of removing periodic and/or quasi-periodic interference from spread spectrum signals is disclosed. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be obvious, however, to one skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to avoid obscuring the present invention.
FIG. 1 shows an exemplary baseband direct sequence, spread spectrum CDMA receiver upon which the present invention may be practiced. The CDMA receiver uses Walsh functions and a separate pseudo-random code. The RF signal is received over antenna 101. The signal is then amplified by an amplifier 102. In the currently preferred embodiment, amplifier 102 is comprised of two or more baseband video amplifiers coupled in series. This can provide a gain bandwidth product in the Terahertz range. Next, the analog signal is converted into an equivalent digital signal by an analog-to-digital converter 103. A linear predictive coding filter 104 is then used to filter out the periodic and quasi-periodic interference in the spectrum of interest. Thereupon, the signal is demodulated by multiplying it with the synchronized pseudo-random number 105. This is the same pseudo-random number associated with the transmitting base station. The signal is multiplied by a synchronized Walsh function 106 in order to eliminate interference due to other users' transmission within that cell. An integration 107 is followed by a sample and hold 108 function. Optionally, a bandpass filter is used to filter out the AM radio signals (e.g., 0.5 MHz to 1.5 MHz). Furthermore, a high pass filter may used to filter out the higher frequencies (e.g., above 30 MHz). Alternatively, notch filter(s) may be used to filter out the known interference signal(s) in the restricted bands.
It should be noted that the present invention works with any type of spread spectrum technique and at any frequency. The present invention can be implemented for cell phone, data transfers, peer-to-peer communications, satellite, military, commercial, civilian, IEEE 802.11(b), Bluetooth, as well as a wide range of different wireless transmissions schemes, formats, and medium. One such spread spectrum system is described in detail in the patent application entitled, “A Baseband Direct Sequence Spread Spectrum Transceiver,” filed Jan. 26, 2001, Ser. No. 09/772,110, now U.S. Pat. No. 6,982,945, and which is incorporated by reference in its entirety herein. Another spread spectrum system is described in the patent application entitled, “Application of a Pseudo-Randomly Shuffled Hadamard Function In A Wireless CDMA System,” filed Dec. 5, 2000, Ser. No. 09/730,697, now U.S. Pat. No. 6,829,289, and which is incorporated by reference in its entirety herein.
In the currently preferred embodiment of the present invention, a linear predictive coding (LPC) filter is used to filter out periodic and quasi-periodic signals in the band of interest. LPC type filters are well known in the art. (See, for example, L. R. Rabiner and R. W. Schafer, Digital Processing of Speech Signals; N. Morgan and B. Gold, Speech and Audio Signal Processing: Processing and Perception of Speech and Music; J. R. Deller, J. G. Proakis, and J. H. L. Hansen, Discrete-Time Processing of Speech Signals; S. Furui, Digital Speech Processing, Synthesis and Recognition; D. O'Shaughnessy, Speech Communications: Human and Machine; A. J. Rubio Ayuso and J. M. Lopez Soler, Speech Recognition and Coding: New Advances and Trends; M. R. Schroeder, Computer Speech: Recognition, Compression, Synthesis; B. S. Atal, V. Cuperman, and A. Gersho, Speech and Audio Coding for Wireless and Network Applications; B. S. Atal, V. Cuperman, and A. Gersho, Advances in Speech Coding; D. G. Childers, Speech Processing and Synthesis Toolboxe; R. Goldberg and L. Rick, A Practical Handbook of Speech Coders.)
They are found in many audio applications for the coding of audio and/or speech signals. In the prior art, the purpose for LPC filters is to determine linear predictive terms which are critical in modeling speech. FIG. 2 shows an exemplary circuit diagram of a linear predictive coding (LPC) filter having a gradient adaptive lattice structure. The LPC filter of FIG. 2 is described in detail in the publication by Florian Keiler, Daniel Arfib, and Udo Zolzer, “Efficient Linear Prediction For Digital Audio Effects,” Proceedings of the COST G-6 Conference on Digital Audio Effects (DAFX-00), Verona, Italy, Dec. 7-9, 2000.
According to the publication, in LPC, the current input sample x(n) is approximated by a linear combination of past samples of the input signal. The prediction of x(n) is computed using an FIR filter by




  
    
      x
      ^
    
    ⁡
    
      (
      n
      )
    
  
  =
  
    
      ∑
      
        k
        =
        1
      
      p
    
    ⁢
    
      
    
    ⁢
    
      
        a
        k
      
      ⁢
      
        x
        ⁡
        
          (
          
            n
            -
            k
          
          )
        
      
    
  




where p is the prediction order and ak are the prediction coefficients. With the z-transform of the prediction filter





  
    P
    ⁡
    
      (
      z
      )
    
  
  =
  
    
      ∑
      
        k
        =
        1
      
      p
    
    ⁢
    
      
    
    ⁢
    
      
        a
        k
      
      ⁢
      
        z
        
          -
          k
        
      
    
  




the difference between the original input signal x(n) and its prediction ^x(n) is evaluated in the z-domain by

e(z)=X(z)−{circumflex over (X)}(z)=X(z)[1−P(z)]=X(z)A(z).

The difference signal e(n) is called residual or prediction error and its calculation is depicted in FIG. 3. Here the feed-forward prediction is considered where the prediction is calculated in the forward direction from the input signal.
Using the excitation  ̃e(n) as input to the all-pole filter




  
    H
    ⁡
    
      (
      z
      )
    
  
  =
  
    1
    
      1
      -
      
        P
        ⁡
        
          (
          z
          )
        
      
    
  




produces the output signal

Y(z)={tilde over (E)}(z)·H(z)

where H(z) can be realized with the FIR filter P(z) in a feedback loop as shown in FIG. 4. If the residual e(n) calculated in the analysis stage is fed directly into the synthesis filter, the input signal x(n) will be ideally recovered.

The IIR filter H(z) is termed a synthesis filter or LPC filter and it models—except for a gain factor—the input signal X(z). For speech coding this filter models the time-varying vocal tract. The filter A(z)=1−H(z) for calculating the residual from the input signal is called the inverse filter.
With optimal filter coefficients, the residual energy is minimized. This can be exploited for efficient coding of the input signal where the quantized residual  ̃e(n)=Q {e(n)} is used as excitation to the LPC filter. Three commonly used linear prediction methods (autocorrelation method, Burg algorithm, and gradient adaptive lattice) are presented to get methods which are suited for real-time computation, i.e. to get a similar workload each sample. We consider here linear prediction methods for a computation of the residual with zero delay. Thus, the prediction coefficients are computed from past samples of the input signal and the methods are suited for audio coding using the ADPCM structure where no transmission of the filter coefficients is required. The fast filter update coming from the similar workload of each sample leads to better spectral models than block-based approaches where the coefficients are held constant for the duration of one block. With a fast update of the spectral model no interpolation of the filter coefficients between frames is required.
The prediction error can be calculated by a standard FIR structure which requires the direct FIR coefficients ak. In the lattice structure of FIG. 2, the signals fm(n) and bm(n) are used which are the forward and backward prediction errors of an m-th order predictor. Forward prediction means the prediction is based on past samples while in backward prediction, a sample is predicted from future samples. In the lattice methods, the lattice or PARCOR (partial correlation) coefficients ki are calculated instead of the direct FIR coefficients. Although it is possible to calculate the direct coefficients from the lattice ones, sometimes it is useful to perform the filter operation in the lattice structure. The main advantage of the lattice coefficients is that the stability of the LPC filter is guaranteed for |ki|<1. Furthermore, if a predictor of order m−1 is already known, for a predictor of order m only the coefficient km has to be calculated. For the direct FIR coefficients normally the complete coefficient set has to be changed in this case.
In case of using the lattice structure, the lattice states bi(n) have to be recalculated if the lattice coefficients ki are changed. This problem does not occur in the direct FIR structure since the filter states are equal to past samples of the input signal and they are independent of the used coefficient set.
Some methods to calculate the prediction coefficients for minimizing the residual energy are now described. First, the standard block-based approaches of the Burg Algorithm and the autocorrelation method are summarized. Then the sample based gradient adaptive lattice (GAL) method is described. Finally, modifications of the block-based methods for a sample-based calculation in a real-time system is described.
The Burg algorithm is based on the lattice structure and it minimizes for a predictor of order m in a block of length N the sum of the energies of the forward prediction error fm(n) and of the backward prediction error bm(n).
The initialization of the forward and backward prediction errors of order zero for the considered block is obtained by

f0(n)=x(n),n=0, . . . , N−1

b0(n)=x(n),n=0, . . . , N−1

where n denotes the time index in the considered block. For m=1, . . . , p the following operations are performed:

Calculation of the m-th lattice coefficient





  
    k
    m
  
  =
  
    
      2
      ⁢
      
        
          ∑
          
            n
            =
            m
          
          
            N
            -
            1
          
        
        ⁢
        
          
        
        ⁢
        
          [
          
            
              
                f
                
                  m
                  -
                  1
                
              
              ⁡
              
                (
                n
                )
              
            
            ⁢
            
              
                b
                
                  m
                  -
                  1
                
              
              ⁡
              
                (
                
                  n
                  -
                  1
                
                )
              
            
          
          ]
        
      
    
    
      
        ∑
        
          n
          =
          m
        
        
          N
          -
          1
        
      
      ⁢
      
        
      
      ⁢
      
        [
        
          
            
              f
              
                m
                -
                1
              
              2
            
            ⁡
            
              (
              n
              )
            
          
          +
          
            
              b
              
                m
                -
                1
              
              2
            
            ⁡
            
              (
              
                n
                -
                1
              
              )
            
          
        
        ]
      
    
  




Recursive calculation of the forward and backward prediction errors of order m:

fm=fm−1(n)−kinbm−1(n−1),

n=m+1, . . . , N−1

bm(n)=bm−1(n−1)−kmfm−1(n),

n=m, . . . , N−1

The autocorrelation method minimizes the prediction error e(n), or in terms of the lattice structure, the forward prediction error. For a block of length N an approximation of the autocorrelation sequence is calculated by




  
    R
    ⁡
    
      (
      i
      )
    
  
  =
  
    
      1
      N
    
    ⁢
    
      
        ∑
        
          n
          =
          i
        
        
          N
          -
          1
        
      
      ⁢
      
        
      
      ⁢
      
        
          u
          ⁡
          
            (
            n
            )
          
        
        ⁢
        
          u
          ⁡
          
            (
            
              n
              -
              i
            
            )
          
        
      
    
  




where u(n)=x(n)*w(n) is a windowed version of the considered block x(n), n=0, . . . , N−1. Normally, a Hamming window is used. For a predictor of order p the filter coefficients ai for i=1, . . . , p are obtained by solving the normal equations





  
    
      
        ∑
        
          k
          =
          1
        
        p
      
      ⁢
      
        
      
      ⁢
      
        
          a
          k
        
        ⁢
        
          R
          ⁡
          
            (
            
              i
              -
              k
            
            )
          
        
      
    
    =
    
      R
      ⁡
      
        (
        i
        )
      
    
  
  ,
  
    i
    =
    1
  
  ,
  ...
  ⁢
  
    
  
  ,
  
    p
    .
  




An efficient solution of the normal equations is performed by the Levinson-Durbin recursion. First the energy of the predictor of order zero is initialized to E 0=R(0). Afterwards the following operations are performed for m=1, . . . , p, where ak(m) denotes the k-th coefficient of an m-th order predictor.




  
    
      k
      m
    
    =
    
      
        
          R
          ⁡
          
            (
            m
            )
          
        
        -
        
          
            ∑
            
              k
              =
              1
            
            
              m
              -
              1
            
          
          ⁢
          
            
          
          ⁢
          
            
              a
              k
              
                (
                
                  m
                  -
                  1
                
                )
              
            
            ⁢
            
              R
              ⁡
              
                (
                
                  m
                  -
                  k
                
                )
              
            
          
        
      
      
        E
        
          m
          -
          1
        
      
    
  




  
    
      a
      m
      
        (
        m
        )
      
    
    =
    
      k
      m
    
  




  
    
      
        a
        k
        
          (
          m
          )
        
      
      =
      
        
          a
          k
          
            (
            
              m
              -
              1
            
            )
          
        
        -
        
          
            k
            m
          
          ⁢
          
            a
            
              m
              -
              k
            
            
              (
              
                m
                -
                1
              
              )
            
          
        
      
    
    ,
    
      k
      =
      1
    
    ,
    ...
    ⁢
    
      
    
    ,
    
      m
      -
      1
    
  




  
    
      E
      m
    
    =
    
      
        (
        
          1
          -
          
            k
            m
            2
          
        
        )
      
      ⁢
      
        E
        
          m
          -
          1
        
      
    
  



As in the block-based Burg algorithm, in the gradient adaptive lattice method the lattice coefficients are used and the sum of the forward and backward prediction errors is minimized. Using the approximation of the error energy of the m-th order predictor

Ĵm(n)=fm2(n)+bm2(n)

yields with the steepest decent approach the coefficient update





  
    
      k
      m
    
    ⁡
    
      (
      
        n
        +
        1
      
      )
    
  
  =
  
    
      
        k
        m
      
      ⁡
      
        (
        n
        )
      
    
    -
    
      
        μ
        m
      
      ⁢
      
        
          ∂
          
            
              
                J
                ^
              
              m
            
            ⁡
            
              (
              n
              )
            
          
        
        
          ∂
          
            
              k
              m
            
            ⁡
            
              (
              n
              )
            
          
        
      
    
  




with the gradient weights m. Applying the recursions for the current time index n leads to





  
    
      ∂
      
        
          
            J
            ^
          
          m
        
        ⁡
        
          (
          n
          )
        
      
    
    
      ∂
      
        
          k
          m
        
        ⁡
        
          (
          n
          )
        
      
    
  
  =
  
    -
    
      2
      ⁡
      
        [
        
          
            
              
                f
                m
              
              ⁡
              
                (
                n
                )
              
            
            ⁢
            
              
                b
                
                  m
                  -
                  1
                
              
              ⁡
              
                (
                
                  n
                  -
                  1
                
                )
              
            
          
          +
          
            
              
                b
                m
              
              ⁡
              
                (
                n
                )
              
            
            ⁢
            
              
                f
                
                  m
                  -
                  1
                
              
              ⁡
              
                (
                n
                )
              
            
          
        
        ]
      
    
  




This gives a formula for a sample-by-sample update of the lattice coefficients.

The simplest approach is to choose the μm values constant. Simulations have shown that the optimum value of μ (equal for all orders for simplicity) depends highly on the used signals, the optimum value varies approximately in the range from 1 to 10. Better results are expected for gradient weights which are adaptively dependent on the expectation value of the sum of the forward and backward prediction error energies. An approximation of this expectation value can be recursively calculated by

Dm(n)=λDm(n−1)+[fm−12(n)+bm−12(n−1)]

where 0<λ<1 influences the weight of older samples. The gradient weights are obtained by





  
    2
    ⁢
    
      μ
      m
    
  
  =
  
    α
    
      
        D
        m
      
      ⁡
      
        (
        n
        )
      
    
  




with a constant value α which is normally chosen to α=1−λ for a recursive formulation of the Burg algorithm.

Both the autocorrelation method and the Burg algorithm require first an initialization process before the prediction coefficients are computed recursively. The real-time computation of a coefficient set of order p is spread over p+1 samples; one sample for the initialization and one sample each for the p coefficients. Thus, with the counter i=0, 1, . . . , p, 0, 1, . . . (changing every sample) we get the following procedure:
For i=0 perform the initialization
For iε{1,p} calculate the coefficient with index i.
In the initialization process (i=0) the operations are performed for setting both the forward and backward prediction error of order zero to the input samples x(n) in the considered block. For i=1, . . . , p one coefficient ki is calculated and applying the recursions of order m=i, the forward and backward prediction errors of i-th order are computed which are required in the following sample for computing ki+1. The new ki replaces the previously used ki. Since one coefficient is changed, a recalculation of the lattice states prior to the filter operation is required.
In the Levinson-Durbin recursion the autocorrelation sequence R(i) for i=0, . . . , p is required. In the initialization process (i=0) first the input data block is windowed, where normally a Hamming window is used; then R(0) is computed. For iε{1; p} the value R(i) is computed followed by the Durbin recursion of order m=i. Thus, the calculation of the complete set of the direct FIR coefficients ak(p) of order p requires p+1 samples. If the standard FIR structure is used, the use of the coefficients in the filter operation has to be delayed by p+1 samples.
Table 1 shows the maximum workloads per sample for calculating the filter coefficients, i.e. the filter operations to calculate the prediction are not considered. In the GAL the prediction order p has the greatest influence on the complexity. In this method for each sample p divisions are required which are very expensive on a DSP (but division is no required if μ is fixed). Note that in the Burg algorithm the maximum workload is only influenced by the block length N which is also the case in the autocorrelation method for long blocks.







TABLE 1







Maximum workload per sample for coefficient calculation.










Method
DSP instructions







suc. Autocorrelation
Max {4N+55,3N+5p+172}



suc. Burg
9N+72



GAL
90p+1










In the example given above, it can be seen that the resulting linear predictive terms are given by km. In the prior art, the km terms are used to model speech. However, note that there are resulting error terms, e(n)=fp(n) and bp(n), which are also generated as an output from the LPC filter. In the prior art, these error terms are simply discarded and not used in any way. However, in the present invention, the error term is kept whereas the linear predictive terms are discarded. In other words, the e(n)=fp(n), bp(n) signals (or any linear combination thereof) are passed on through the receiver, while the km signal is discarded.
FIG. 5 is a block diagram showing how the LPC filter is used in the present invention. The spread spectrum signal is received by antenna 501. The received signal is then amplified by amplifier or pre-amp 502. The received signal is then digitized by an analog-to-digital (A/D) converter 503. The digital signal is then fed as an input to an LPC filter 504. The error term coming out of the LPC filter 504 is used for further processing by the receiver's signal processor block 505. The linear predictive terms generated by the LPC filter 504 contains the periodic and quasi-periodic signals. These periodic and quasi-periodic signals are actually interference with respect to the spread spectrum signal. As such, these linear predictive terms are intentionally discarded by the present invention, thereby effectively filtering out the interference. Instead, the “error” term, which contains everything except the periodic and quasi-periodic signals, is used by the rest of receiver's signal processing system. Note that the sequence length of the spread spectrum signal should be significantly longer than the order of the lattice. Since the spread spectrum signal is not seen as periodic or quasi-periodic by the lattice, it is unaffected by the lattice; while the periodic and quasi-periodic interference is removed. Thereby, the present invention entails using an LPC filter in a novel and hitherto unconventional way to effectively remove everything in the band of interest which is periodic or quasi-periodic in nature.
FIG. 6 is a flowchart describing the steps of implementing an LPC filter to filter out periodic and/or quasi-periodic signals in a spread spectrum signal. Initially, a spread spectrum signal is received, step 601. This received spread spectrum signal is then digitized, step 602. In step 603, a gradient adaptive lattice LPC filter takes this digitized spread spectrum signal and generates a set of prediction coefficients and a set of error coefficients. The set of prediction coefficients corresponds to periodic and quasi-periodic (if any) signals found in the received spread spectrum signal. These periodic and quasi-periodic signals represent “interference” with respect to the data contained within the spread spectrum system. As such, the prediction coefficients are discarded. The information left over is represented in the error coefficients. This contains the useful data contained in the spread spectrum signal which was transmitted by a corresponding spread spectrum transmitter. Consequently, the error coefficients are used by the signal processor to recover the useful data, step 605.
It should be noted that the present invention can be applied to any modulation scheme, either wireless or hard-wired, which utilizes a spread-spectrum technique. In particular, the present invention can be applied to CDMA cellular handsets as well as other wireless mobile CDMA devices or appliances. Furthermore, the present invention can be expeditiously applied to peer-to-peer wireless applications, especially for peer-to-peer cellular voice and/or data communications. The present invention can be applied to increase the range and/or data rates of existing spread spectrum techniques, including but not limited to CDMA, IEEE 802.11(b), Bluetooth, 3G, etc. One such system upon which the present invention may be practiced is described in the patent application entitled, “A Communications Network Quality Of Service System And Method For Real Time Information,” filed Dec. 12, 2000, Ser. No. 09/738,010, now U.S. Pat. No. 7,142,536, which is incorporated by reference in its entirety herein. In addition, the present invention works with any type of filter which has the property of discriminating periodic and/or quasi-periodic signals, including but not limited to LPC filters, adaptive gradient lattice filters, etc.
Therefore, a linear predictive coding filter for the purpose of removing periodic and/or quasi-periodic interference from spread spectrum signals is disclosed. The foregoing descriptions of specific embodiments of the present invention have been presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed, and obviously many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the Claims appended hereto and their equivalents.

## Claims

1. A signal filtering method, comprising:
receiving a spread spectrum signal that comprises a transmitted data component and a periodic and/or quasi-periodic interference component;
digitizing said received spread spectrum signal;
determining linear predictive coefficients and error coefficients corresponding to said digitized spread spectrum signal;
providing said error coefficients to a synthesis filter; and
recovering, with said synthesis filter, said transmitted data component in said received spread spectrum signal, based on said provided error coefficients, and not based on said linear predictive coefficients, such that the periodic and/or quasi-periodic interference component is substantially filtered out.

2. The method of claim 1, wherein determining said linear predictive coefficients and said error coefficients comprises employing a linear predictive coding filter to determine said linear predictive coefficients and said error coefficients.

3. The method of claim 1, wherein said spread spectrum signal complies with IEEE 802.11(b).

4. The method of claim 1, wherein said spread spectrum signal complies with Bluetooth specifications.

5. The method of claim 1, wherein said spread spectrum signal comprises a CDMA signal.

6. A method for filtering out periodic and/or quasi-periodic interference from a spread spectrum signal that comprises a transmitted data component and a periodic and/or quasi-periodic interference component, the method comprising:
receiving said spread spectrum signal;
digitizing said received spread spectrum signal;
using a linear predictive coding filter having a gradient adaptive lattice structure to determine linear predictive coefficients and error coefficients corresponding to said digitized spread spectrum signal;
providing said error coefficients to a synthesis filter; and
employing said synthesis filter to recover said transmitted data component from said received spread spectrum signal, based on said error coefficients and not based on said linear predictive coefficients, such that the periodic and/or quasi-periodic interference component is substantially filtered out.

7. A signal filtering method, comprising:
receiving a spread spectrum signal, the spread spectrum signal comprising a transmitted data component and a periodic and/or quasi-periodic interference component;
digitizing the received spread spectrum signal;
determining, using a linear predictive coding filter, linear predictive coefficients and error coefficients corresponding to the digitized spread spectrum signal;
providing the error coefficients to a synthesis filter; and
employing the synthesis filter to recover the transmitted data component from the received spread spectrum signal, based on the provided error coefficients and not based on the linear predictive coefficients, such that the periodic and/or quasi-periodic interference component is substantially filtered out.

8. A receiver comprising:
antenna circuitry for receiving a spread spectrum signal that comprises a transmitted data component and a periodic and/or quasi-periodic interference component;
an analog-to-digital converter configured to digitize the spread spectrum signal received by the antenna circuitry; and
processing circuitry that is configured to a) determine linear predictive coefficients and error coefficients corresponding to the digitized spread spectrum signal; b) provide the error coefficients to a synthesis filter; and c) recover, with the synthesis filter, the transmitted data component in the digitized spread spectrum signal, based on the provided error coefficients, and not based on the linear predictive coefficients, such that the periodic and/or quasi-periodic interference component is substantially filtered out.

9. The receiver of claim 8, wherein the processing circuitry comprises a linear predictive coding filter that determines the linear predictive coefficients and the error coefficients.

10. The receiver of claim 8, wherein the spread spectrum signal complies with IEEE 802.11(b).

11. The receiver of claim 8, wherein the spread spectrum signal complies with Bluetooth specifications.

12. The receiver of claim 8, wherein the antenna circuitry is configured to receive a CDMA spread spectrum signal.

13. The receiver of claim 8, wherein the antenna circuitry is configured to receive a direct-sequence spread spectrum signal.

14. The receiver of claim 8, wherein the antenna circuitry is configured to receive a frequency-hopping spread spectrum signal.

15. The receiver of claim 8, wherein the processing circuitry is configured to filter out the periodic and/or quasi-periodic interference component from the received spread spectrum signal.