Adaptive multiple access interference suppression
First Claim
Patent Images
1. A spread spectrum receiver comprising a block former coupled to receive samples of a spread spectrum waveform, said samples being sampled at a specified chip rate, said block former also being coupled to a memory and operative to store a block of data therein;
- a gradient calculation module coupled to said memory and to a tap-weight vector calculation module, said gradient calculation module is operative to receive said data block from said memory and a tap weight vector from said tap weight vector calculation module, said gradient calculation module further being operative to compute a gradient vector with respect to an error function with respect to said tap weight vector;
a search direction calculation module coupled to receive a gradient vector from said gradient calculation module and coupled to receive a previous search direction via a feedback path, said search direction calculation module operative to compute a search direction as a function of said previous search direction and the two most recently computed gradient vectors;
a stepsize calculation module coupled to said memory, and to said tap weight vector calculation module, said stepsize calculation unit operative to compute a step size according to a prespecified criterion;
a tap-weight vector calculation module coupled to receive input from said search direction calculation module and said step size calculation module, and a previous tap weight vector via a feedback path, said tap weight vector calculation module operative to compute a subsequent search direction as a function of said previous tap weight vector, said step size and said previous tap weight vector to produce an updating rule; and
an output module operative to couple a linear combination of said tap weight vector with a selected set of said samples of said spread spectrum waveform to produce a block of output symbol values.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus and method for spread spectrum multiuser communication receivers is disclosed that includes, an adaptive filter adapted to minimize a block error function, wherein the filter tap weights are updated according to a non-linear optimization algorithm adapted for block processing of time-varying data.
-
Citations
35 Claims
-
1. A spread spectrum receiver comprising a block former coupled to receive samples of a spread spectrum waveform, said samples being sampled at a specified chip rate, said block former also being coupled to a memory and operative to store a block of data therein;
-
a gradient calculation module coupled to said memory and to a tap-weight vector calculation module, said gradient calculation module is operative to receive said data block from said memory and a tap weight vector from said tap weight vector calculation module, said gradient calculation module further being operative to compute a gradient vector with respect to an error function with respect to said tap weight vector;
a search direction calculation module coupled to receive a gradient vector from said gradient calculation module and coupled to receive a previous search direction via a feedback path, said search direction calculation module operative to compute a search direction as a function of said previous search direction and the two most recently computed gradient vectors;
a stepsize calculation module coupled to said memory, and to said tap weight vector calculation module, said stepsize calculation unit operative to compute a step size according to a prespecified criterion;
a tap-weight vector calculation module coupled to receive input from said search direction calculation module and said step size calculation module, and a previous tap weight vector via a feedback path, said tap weight vector calculation module operative to compute a subsequent search direction as a function of said previous tap weight vector, said step size and said previous tap weight vector to produce an updating rule; and
an output module operative to couple a linear combination of said tap weight vector with a selected set of said samples of said spread spectrum waveform to produce a block of output symbol values. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method of extracting a data sequence from a spread spectrum waveform, the data sequence being associated with a specified user, the method comprising steps of:
-
receiving an input spread spectrum signal and sampling said signal at a chip rate;
initializing an adaptive filter with a despreading code, said despreading code associated with said specified user;
filtering said spread spectrum signal by said adaptive filter to produce an output, said filtering occurring at said chip rate, and said filtering producing outputs at a symbol rate;
comparing said output signal to at least one threshold level and deciding on the value of a recovered data symbol based on said comparison to produce a recovered output symbol; and
updating a set of filter coefficients using an updating rule, said filter coefficients being used in said step of filtering, wherein said updating rule implements a nonlinear optimization algorithm adapted for time-varying environments using blocks of data. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A CDMA receiver structure comprising:
-
an adaptive filter with an input coupled to an analog to digital converter and an output coupled to a decision device, said adaptive filter comprising a filter tap weight vector, wherein said filter tap weight vector is initialized with at least a portion of a spreading code associated with a user;
a block-nonlinear filter update processor coupled to receive a block of data from said analog to digital converter and said adaptive filter tap weigh vector, said block-nonlinear filter update processor having an output coupled to provide a new set of tap weight values back to said adaptive filter, said block-nonlinear filter update processor operative to perform one or more iterations of a nonlinear optimization algorithm on said block of data.
-
-
27. A method of extracting a data sequence from a spread spectrum waveform, the data sequence being associated with a specified user, the method comprising steps of:
-
receiving an input spread spectrum signal and sampling said signal at a chip rate;
initializing an adaptive filter with a despreading code, said despreading code associated with said specified user;
filtering said spread spectrum signal by said adaptive filter to produce an output, said filtering occurring at said chip rate, and said filtering producing outputs at a symbol rate;
comparing said output signal to at least one threshold level and deciding on the value of a recovered data symbol based on said comparison to produce a recovered output symbol; and
updating a set of filter coefficients using an updating rule, said filter coefficients being used in said step of filtering, wherein said updating rule is a modified block Shanno constant modulus algorithm.
-
-
28. A method of extracting a data sequence from a spread spectrum waveform, the data sequence being associated with a specified user, the method comprising steps of:
-
receiving an input spread spectrum signal and sampling said signal at a chip rate;
initializing an adaptive filter with a despreading code, said despreading code associated with said specified user;
filtering said spread spectrum signal by said adaptive filter to produce an output, said filtering occurring at said chip rate, and said filtering producing outputs at a symbol rate;
comparing said output signal to at least one threshold level and deciding on the value of a recovered data symbol based on said comparison to produce a recovered output symbol; and
updating a set of filter coefficients using an updating rule, said filter coefficients being used in said step of filtering, wherein said updating rule implements a nonlinear optimization algorithm, adapted for time-varying environments using blocks of data, and minimizes a constant modulus using an objective function.
-
-
29. A method of extracting a data sequence from a spread spectrum waveforrn, the data sequence being associated with a specified user, the method comprising steps of:
-
receiving an input spread spectrum signal and sampling said signal at a chip rate;
initializing an adaptive filter with a despreading code, said despreading code associated with said specified user;
filtering said spread spectrum signal by said adaptive filter to produce an output, said filtering occurring at said chip rate, and said filtering producing outputs at a symbol rate;
comparing said output signal to at least one threshold level and deciding on the value of a recovered data symbol based on said comparison to produce a recovered output symbol; and
updating a set of filter coefficients using an updating rule, said filter coefficients being used in said step of filtering, wherein said updating rule implements a nonlinear optimization algorithm, adapted for time-varying environments using blocks of data, and does not require a set of step size parameters to be set a priori based on signal and channel power considerations.
-
-
30. A method of extracting a data sequence from a spread spectrum waveform, the data sequence being associated with a specified user, the method comprising steps of:
-
receiving an input spread spectrum signal and sampling said signal at a chip rate;
initializing an adaptive filter with a despreading code, said despreading code associated with said specified user;
filtering said spread spectrum signal by said adaptive filter to produce an output, said filtering occurring at said chip rate, and said filtering producing outputs at a symbol rate;
comparing said output signal to at least one threshold level and deciding on the value of a recovered data symbol based on said comparison to produce a recovered output symbol; and
updating a set of filter coefficients using an updating rule, said filter coefficients being used in said step of filtering, wherein said updating rule implements a nonlinear optimization algorithm, adapted for time-varying environments using blocks of data, and optimizes a nonlinear objective function using a nonlinear optimization algorithm adapted for adaptive processing using block processing.
-
-
31. A method of extracting a data sequence from a spread spectrum waveform, the data sequence being associated with a specified user, the method comprising steps of:
-
receiving an input spread spectrum signal and sampling said signal at a chip rate;
initializing an adaptive filter with a despreading code, said despreading code associated with said specified user;
filtering said spread spectrum signal by said adaptive filter to produce an output, said filtering occurring at said chip rate, and said filtering producing outputs at a symbol rate;
comparing said output signal to at least one threshold level and deciding on the value of a recovered data symbol based on said comparison to produce a recovered output symbol; and
updating a set of filter coefficients using an updating rule, said filter coefficients being used in said step of filtering, wherein said updating rule implements a nonlinear optimization algorithm, adapted for time-varying environments using blocks of data, and optimizes a nonlinear objective function using a nonlinear optimization algorithm adapted for adaptive processing using a step size that satisfies restrictions at each update.
-
-
32. A method of extracting a data sequence from a spread spectrum waveform, the data sequence being associated with a specified user, the method comprising steps of:
-
receiving an input spread spectrum signal and sampling said signal at a chip rate;
initializing an adaptive filter with a despreading code, said despreading code associated with said specified user;
filtering said spread spectrum signal by said adaptive filter to produce an output, said filtering occurring at said chip rate, and said filtering producing outputs at a symbol rate;
comparing said output signal to at least one threshold level and deciding on the value of a recovered data symbol based on said comparison to produce a recovered output symbol; and
updating a set of filter coefficients using an updating rule, said filter coefficients being used in said step of filtering, wherein said updating rule implements a nonlinear optimization algorithm, adapted for time-varying environments using blocks of data, and optimizes a nonlinear objective function using a nonlinear optimization algorithm adapted for adaptive processing using multiple updates per block.
-
-
33. A method of extracting a data sequence from a spread spectrum waveform, the data sequence being associated with a specified user, the method comprising steps of:
-
receiving an input spread spectrum signal and sampling said signal at a chip rate;
initializing an adaptive filter with a despreading code, said despreading code associated with said specified user;
filtering said spread spectrum signal by said adaptive filter to produce an output, said filtering occurring at said chip rate, and said filtering producing outputs at a symbol rate;
comparing said output signal to at least one threshold level and deciding on the value of a recovered data symbol based on said comparison to produce a recovered output symbol; and
updating a set of filter coefficients using an updating rule, said filter coefficients being used in said step of filtering, wherein said updating rule implements a nonlinear optimization algorithm, adapted for time-varying environments using blocks of data, and optimizes a nonlinear objective function using a nonlinear optimization algorithm adapted for adaptive processing using a block gradient descent at each update.
-
-
34. A method of extracting a data sequence from a spread spectrum waveform, the data sequence being associated with a specified user, the method comprising steps of:
-
receiving an input spread spectrum signal and sampling said signal at a chip rate;
initializing an adaptive filter with a despreading code, said despreading code associated with said specified user;
filtering said spread spectrum signal by said adaptive filter to produce an output, said filtering occurring at said chip rate, and said filtering producing outputs at a symbol rate;
comparing said output signal to at least one threshold level and deciding on the value of a recovered data symbol based on said comparison to produce a recovered output symbol; and
updating a set of filter coefficients using an updating rule, said filter coefficients being used in said step of filtering, wherein said updating rule implements a nonlinear optimization algorithm, adapted for time-varying environments using blocks of data, and optimizes a nonlinear objective function using a nonlinear optimization algorithm adapted for adaptive processing using a block difference objective function.
-
-
35. A method of extracting a data sequence from a spread spectrum waveform, the data sequence being associated with a specified user, the method comprising steps of:
-
receiving an input spread spectrum signal and sampling said signal at a chip rate;
initializing an adaptive filter with a despreading code, said despreading code associated with said specified user;
filtering said spread spectrum signal by said adaptive filter to produce an output, said filtering occurring at said chip rate, and said filtering producing outputs at a symbol rate;
comparing said output signal to at least one threshold level and deciding on the value of a recovered data symbol based on said comparison to produce a recovered output symbol; and
updating a set of filter coefficients using an updating rule, said filter coefficients being used in said step of filtering, wherein said updating rule implements a nonlinear optimization algorithm, adapted for time-varying environments using blocks of data, and optimizes a nonlinear objective function using a nonlinear optimization algorithm adapted for adaptive processing using a non-Toeplitz block difference objective function.
-
Specification