Title of Invention

A SERIAL RECEIVER FOR A WIRELESS COMMUNICATION SYSTEM

Abstract A serial receiver for a wireless communication system is disclosed. The communication system comprises: a means for receiving a signal y having data parameters; a control processor; said control processor for receiving said signal y and said data parameters; at least two fingers, said control processor for determining which of said data parameters are sent to respective fingers, wherein of said fingers, at least one is a search finger and at least one is a tracking finger; and wherein said tracking finger comprises a correlator (240) and a Coded Signal Processing Engine [CSPE] (250), said CSPE for interference cancellation in the reception of said signal y.
Full Text

Field of the Invention
The present invention relates to a serial receiver for a wireless communication
system, a hadamard transform module, and a method and apparatus for generating an S
matrix, and generally to a serial cancellation architecture for a Coded Signal Processing
Engine (CSPE) that is designed for interference cancellation in the reception of coded
signals in a spread spectrum system. More specifically, the CSPE may be used in a
cascading sense for successive acquisition, tracking and demodulation of pseudorandom
(PN) coded signals in the presence of interference in a CDMA system.
Description of the Prior Art
In spread spectrum systems, whether it is a wireless communication system, a
Global Positioning System (GPS) or a radar system, each transmitter may be assigned a
unique code and in many instances each transmission from a transmitter is assigned a
unique code. The code is nothing more than a sequence (often pseudorandom) of bits.
Examples of codes include Gold codes (used in GPS - see Kaplan, Elliot D., Editor,
Understanding GPS: Principles and Applications, Artech House 1996), Barker codes (used
in radar - see Stimson, G.W., "An Introduction to Airborne Radar", SciTech Publishing
Inc., 1998) and Walsh codes (used in communications systems, such as cdmaOne - See
IS-95). These codes may be used to spread the signal so that the resulting signal
occupies some specified range of frequencies in the electromagnetic spectrum or the
codes may be superimposed on another signal, which may also be a coded signal.
Assigning a unique code to each transmitter allows the receiver to distinguish
between different transmitters. An example of a spread spectrum system that uses unique
codes to distinguish between transmitters is a GPS system.
If a single transmitter has to broadcast different messages to different receivers,
such as a base station in a wireless communication system broadcasting to multiple
mobiles, one may use codes to distinguish between messages for each mobile. In this

scenario, each symbol for a particular user is encoded using the code assigned to that
user. By coding in this manner, the receiver, by knowing its own code, may decipher
the message intended for it from the superposition of message signals received.
In some communication systems, a symbol is assigned to a sequence of bits that
comprise a message. For example, a long digital message may be grouped into sets of
M bit sequences where each unique sequence is assigned a symbol. For example, if
M=6, then each set of 6 bits may assume one of 26 = 64 possibilities. Such a system
would broadcast a waveform, called a symbol, which would represent a sequence of
transmitted bits. For example, the symbol a might denote the sequence 101101 and the
symbol β might denote the sequence 110010. In the spread spectrum version of such a
system, these symbols are codes. An example of such a communication system is the
mobile to base station (forward/down) link of cdmaOne.
In some instances, such as in a coded radar system, each pulse is assigned a
unique code so that the receiver is able to distinguish between different pulses by the
codes.
Of course, all of these techniques may be combined to distinguish between
transmitters, messages, pulses and symbols in a single system. The key idea in all of
these coded systems is that the receiver knows the code(s) of the message intended for
it. By applying the code(s) correctly to the received signal, the receiver may extract the
message for which it is intended. However, such receivers are more complex than
receivers that distinguish between messages by time and/or frequency alone.
Complexity arises because the signal received is a linear combination of all the coded
signals present in the spectrum of interest at any given time. The receiver must be able
to extract the message intended for it from this linear combination of coded signals.
The following section presents the problem of interference in linear algebraic
terms and provides a method by which it may be cancelled.

Let H be a matrix containing the spread signal from source number 1 and let θ1
be the amplitude of the signal from this source. Let si be the spread signals for the
remaining sources and let ϕi be the corresponding amplitudes. Suppose that the receiver
is interested in source number 1. The signals from the other sources may be considered
to be interference. The received signal is:

where n is the additive noise term, and p is the number of sources in the CDMA system.
Let the length of the vector y be N, where N is the number of points in the integration
window. The value of N is selected as part of the design process and is a trade-off
between processing gain and complexity. N consecutive points of y will be referred to
as a segment.
In a wireless communication system, the columns of the matrix H represent the
various coded signals of interest and the elements of the vector 0 are the amplitudes of
the respective coded signals. For example, in the base station to mobile link of a
cdmaOne system, the coded signals may include the various channels, i.e. pilot, paging,
synchronization and traffic, of each base station's line-of-sight (LOS) or multipath
fingers. In the mobile to base station link, the columns of the matrix H may be the
coded signals from a mobile LOS or one of its multipath signals.
In a GPS system, the columns of the matrix H are the coded signals of interest
broadcast by the GPS satellites.
In an array application, the columns of the matrix are steering vectors, or
equivalent array pattern vectors. These vectors characterize the relative phase recorded
by each antenna in the array as a function of the location and motion dynamics of the
source as well as the arrangement of the antennas in the array. In the model presented
above, each column of the matrix H signifies a steering vector corresponding to a
particular source.

Equation (1) may be written in the following matrix form:

Receivers that are currently in use correlate the measurement, y, with a replica of
H to determine if H is present in the measurement. If H is detected, then the receiver
knows the bit-stream transmitted by source number 1. Mathematically, this correlation
operation is:

where T is the transpose operation.
Substituting for y from equation (2) illustrates the source of the power control
requirement:

The middle term, (HTH)AHTSϕ, in the above equation is the source of the
near-far problem. If the codes are orthogonal, then this term reduces to zero, which
implies that the receiver has to detect 0 in the presence of noise, i.e. (HTH)-1HTn) only.
As the amplitudes of the other sources increase, the term (HTH)~lHTSfy contributes a
significant amount to the correlation, which makes the detection of 0 more difficult.

The normalized correlation function, (HTH)1-HT, defined above, is in fact a
matched filter and is based on an orthogonal projection of y onto the space spanned by
H. When H and S are not orthogonal to each other, there is leakage of the components
of S into the orthogonal projection of y onto H. This leakage is geometrically illustrated
in Figure 1. Note in Figure 1, that if S were orthogonal to H, the leakage component is
zero as is evident from equation 4. The CSPE provides a solution to this interference
leakage issue.
One way to mitigate this interference is to remove the interference in y by means
of a projection operation. Mathematically, a projection onto the space spanned by the
columns of the matrix S is given by:

A projection onto the space perpendicular to the space spanned by the columns
of S is obtained by subtracting the above projection Ps from the identity matrix (a matrix
with ones on the diagonal and zeros everywhere else). Mathematically, this projection
is represented by:

The projection matrix Ps has the property that when it is applied to a signal of
type Sϕ, i.e., a signal that lies in the space spanned by the columns of S, it completely
removes Sϕ no matter what the value of ϕ. Namely, the projection is magnitude
independent. This interference cancellation operation is illustrated in equation 7:

When applied to the measurement vector y, it cancels the interference terms:


Detection of the signal interest may then proceed with the processed
measurement vector with the interference signal(s) S removed.
This method of projections and interference cancellation may be incorporated as
an improvement to the baseline receiver for spread spectrum signal reception.
The present invention is a receiver with improved correlation properties that
makes use of the principle of orthogonal projections as described in the patent
applications identified and incorporated by reference above.
SUMMARY OF THE INVENTION
It is therefore an object of the present invention to provide a novel serial
cancellation receiver architecture for the Coded Signal Processing Engine (CSPE).
It is a further object to provide an apparatus by which PN coded signals may be
successively acquired, tracked, demodulated and cancelled in a cascading sense.
It is yet another object to provide an apparatus by which signals buried by
interference may be successively detected through repeated serial cancellations.
In all of the above embodiments, it is an object to provide a method for
interference cancellation in the reception of PN coded signals.
According to a first broad aspect of the present invention, there is provided
anarchitecture for implementing a forward link serial cancellation CSPE receiver for
cdmaOne.

According to second broad aspect of the invention, there is provided
anarchitecture for implementing a forward link serial cancellation CSPE receiver for
cdma2000.
In a preferred embodiment, a serial receiver for a wireless communication
system is provided, the communication system comprising: a means for receiving a
signal .y having data parameters; a control processor; the control processor for receiving
the signal y and the data parameters; at least two fingers, the control processor for
determining which of the data parameters are sent to respective fingers, wherein one
finger is a search finger and at least one finger is a tracking finger; and wherein the
tracking finger comprises a correlator and a Coded Signal Processing Engine (CSPE),
the CSPE for interference cancellation in the reception of the signal y.
In another embodiment, a serial receiver for a wireless communication system is
provided, the communication system comprising: a means for receiving a signal y
having data parameters; a control processor; the control processor for receiving the
signal y and the data parameters; at least two fingers, the control processor for
determining which data parameters are sent to respective fingers, wherein one finger is a
search finger and at least one finger is a tracking finger; wherein the tracking finger
comprises a correlator and a Coded Signal Processing Engine (CSPE), the CSPE for
interference cancellation in the reception of the measured signal; wherein the CSPE
comprises: an apparatus for generating a projection from a received signal (y), the
signal comprising si,, a signal of the source of interest; S1,s2,s3...,sp signals of other
interfering sources; and noise (n); the apparatus comprising: means for determining a
basis vector U; means for storing elements of the basis vector U; means for determining
; and wherein the search finger receives an input
from the control processor, the input being selected from the group consisting of: y(k), a
data stream in which k interference signals have been removed; and ,a product
of projection operators used to remove the k interference signals.

In another embodiment, a serial receiver for a wireless communication systenm is
provided, the communication system comprising: a means for receiving a signal y
having data parameters; a control processor; the control processor for receiving the
signal y and the data parameters; at least two fingers, the control processor for
determining which of the data parameters are sent to respective fingers, wherein one
finger is a search finger and at least one finger is a tracking finger; wherein the tracking
finger comprises a correlator and a Coded Signal Processing Engine (CSPE), the CSPE
for interference cancellation in the reception of the measured signal; wherein the SPE
comprises: an apparatus for generating a projection from a received signal (y), the signal
comprising si, a spread signal matrix of the source of interest; s1,s2,s3...,sp, signals of
other interfering sources; and noise (n); the apparatus comprising: (A) means for
assigning si as a first basis vector ui; (B) means for determining CTJ, where
; (C) means for storing ui; (D) means for computing inner products of the
si+i and the ui through u; vectors; (E) means for multiplying the inner products with a
respective scalar and thereby creating a first intermediate product; (F) means for
scaling each respective basis vector ui by multiplying each respective first intermediate
product with each respective basis vector ui; (G) means for serially subtracting the
intermediate product from (H) means for utilizing the result from step G and
subtracting the next incoming value of until all the values are processed; (I)
means for obtaining the next basis vector ui+1 from step H; (J) means for comparing ui+1
to a predetermined value and if equal to or less than the value, going to step O; (K)
means for storing ui+1; (L) means for determining an inner product of uT1+1U1+1; (M)
means for determining the reciprocal of step K which is (N) means for storing
(O) means for incrementing i; (P) means for conducting steps D through 0 until
i=p, where p is the total number of the sources of interest; (Q) and means for
determining yperp where: ; and wherein the search finger
receives an input from the control processor, the input being selected from the group

consisting of: , a data stream in which k interference signals have been removed; and
, a product of projection operators used to remove the k interference signals.
In another embodiment, a serial receiver for a wireless communication system is
provided, the communication system comprising: a means for receiving a signal y
having data parameters; a control processor; the control processor for receiving the
signal y and the data parameters; at least two fingers, the control processor for
determining which of the data parameters are sent to respective fingers, wherein one
finger is a search finger and at least one finger is a tracking finger; wherein the tracking
finger comprises a correlator and a Coded Signal Processing Engine (CSPE), the CSPE
for interference cancellation in the reception of the measured signal; wherein the CSPE
comprises: an apparatus for generating a projection from a received signal (y), the signal
comprising sh a signal of the source of interest; sl,s1,s3...,sp, signals of other sources;
and noise (n); the apparatus comprising: means for determining a basis vector U; means
for storing elements of the basis vector U; means for determining where:
; and wherein the search finger receives an input from the
control processor, the input being selected from the group consisting of: , a data
stream in which k interference signals have been removed; and , a product of a
projection operator used to remove the k interference signals.
In another embodiment, a serial receiver for a wireless communication system is
provided^ the communication system comprising: a means for receiving a signal y
having data parameters; a control processor; the control processor for receiving the
signal y and the data parameters; at least two fingers, the control processor for
determining which of the data parameters are sent to respective fingers, wherein one
finger is a search finger and at least one finger is a tracking finger; wherein the tracking
finger comprises a correlator and a Coded Signal Processing Engine (CSPE), the CSPE
for interference cancellation in the reception of the signal y; and wherein the tracking
finger further comprises a tracking loop and a means for signal demodulation.

In another embodiment, a modified Hadamard transform module is provided, the
module comprising: an input signal y; means for splitting the input signal into a
plurality of input channels; a plurality of relative amplitude generation channels, one
associated with each of the input channels, wherein at least one of the relative amplitude
generation channels comprises a respective Walsh code which is multiplied by a
projection matrix Psx and the signal y to generate a respective intermediate channel
signal; and a summer for summing the respective intermediate channel signal over a
Walsh symbol to generate the respective channel's amplitude.
In another embodiment, a method for generating an S matrix is provided, the
method comprising the steps of:
A. Receiving a plurality of input signals W1 through Wn, where n represents
the number of input signals;
B. Determining which input signals will be utilized in the generation of
matrix S;
C. Multiplying each selected input signal with a projection matrix PSL to
generate a column of matrix S; and
D. Storing each respective column to form matrix S.
In another embodiment, an apparatus for generating an S matrix is provided, the
apparatus comprising: a means for receiving a plurality of input signals W1 through Wn,
where n represents the number of input signals; a means for deterrnining which input
signals will be utilized in the generation of matrix S; a means for multiplying each
selected input signal with a projection matrix Psx to generate a column of matrix S; and
means for storing each respective column to form matrix S.
In another embodiment, a method for generating an S matrix is provided, the
method comprising the steps of:

A. Receiving a plurality of input signals W1 through Wn, where n represents the
number of input signals;
B. Determining which input signals will be utilized in the generation of matrix
S;
C. Multiplying each selected input signal with a projection matrix Ps to
generate an intermediate signal;
D. Utilizing relative amplitude information associated with the selected input
signals to determine the sign of the selected input signal;
E. Multiplying the intermediate signal with its associated sign to generate a
column of matrix S; and
F. Storing each respective column to form matrix S.
In another embodiment, an apparatus for generating an S matrix is provided, the
apparatus comprising: a means for receiving a plurality of input signals W1 through Wn,
where n represents the number of input signals; a means for determining which input
signals will be utilized in the generation of matrix S; a first means for multiplying each
selected input signal with a projection matrix to generate an intermediate signal; a
means for utilizing relative amplitude information associated with the input signals to
determine the sign of the input signal; a second means for multiplying the intermediate
signal with its associated sign to generate a column of matrix S; and means for storing
each respective column to form matrix S.
In another embodiment, a method for generating an S matrix is provided, the
method comprising the steps of:
A. Receiving a plurality of input signals W1 through Wn, where n represents
the number of input signals;
B. Determining which input signals will be utilized in the generation of
matrix S;
C. Multiplying each selected input signal with a projection matrix Psx to
generate an intermediate signal;

D. Determining relative amplitude associated with the selected input
signals;
E. Multiplying the intermediate signal with its associated relative amplitude
to generate a column of matrix S; and
F. Storing each respective column to form matrix S.
In another embodiment, an apparatus for generating an S matrix is provided, the
apparatus comprising: a means for receiving a plurality of input signals W1 through Wn,
where n represents the number of input signals; a means for detennining which input
signals will be utilized in the generation of matrix S; a first means for multiplying each
selected input signal with a projection matrix to generate an intermediate signal; a
means for determining relative amplitude associated with the respective input signal; a
second means for multiplying the intermediate signal with its associated relative
amplitude to generate a column of matrix S; and means for storing each respective
column to form matrix S.
In another embodiment, a method for generating an S matrix is provided, the
method comprising the steps of:
A. Receiving a plurality of input signals W1 through Wn, where n represents the
number of input signals;
B. Determining which input signals will be utilized in the generation of matrix
S;
C. Multiplying each selected input signal with a projection matrix Psx to
generate an intermediate signal;
D. Determining relative amplitude associated with the selected input signals;
E. Multiplying the intermediate signal with its associated relative amplitude to
generate an intermediate column;
F. Summing all intermediate columns to generate a column of matrix S; and
G. Storing each respective column of matrix S to form matrix S.

In another embodiment, an apparatus for generating an S matrix is provided, the
apparatus comprising: a means for receiving a plurality of input signals W1 through Wn,
where n represents the number of input signals; a means for detennining which input
signals will be utilized in the generation of matrix S; a first means for multiplying each
selected input signal with a projection matrix Ps to generate a column of matrix S and
an intermediate signal; means for determining relative amplitude associated with the
selected input signals; second means for multiplying the intermediate signal with its
associated relative amplitude to generate an intermediate column; means for summing
all intermediate columns to generate a column of matrix S; and means for storing each
respective column of matrix S to form matrix S.
In another embodiment, a modified Hadamard transform module is provided, the
module comprising: an input signal y, the signal having an in-phase component (yi) and
a quadrature component (yq); means for splitting the in-phase component (yi) into a first
plurality of input channels; a first plurality of relative amplitude generation channels,
one associated with each of the first input channels, wherein at least one of the relative
amplitude generation channels comprises a respective Walsh code which is multiplied
by a projection matrix and the in-phase component (yi) to generate a respective first
intermediate channel signal; a first summer for summing the respective first
intermediate channel signal over a Walsh symbol to generate the respective channel's
amplitude; means for splitting the quadrature component (YQ) into a second plurality of
input channels; a second plurality of relative amplitude generation channels, one
associated with each of the second input channels, wherein at least one of the relative
amplitude generation channels comprises a respective Walsh code which is multiplied
by a projection matrix and the quadrature component (yQ) to generate a respective
second intermediate channel signal; and a second summer for summing the respective
second intermediate channel signal over a Walsh symbol to generate the respective
channel's amplitude.

In another embodiment, a method for generating an S matrix is provided, the S
matrix having an in-phase and a quadrature component, the method comprising the steps
of:
A. Receiving a plurality of input signals W1 through Wn, where n represents the
number of input signals and where each input signal W has an in-phase
component (W1) and a quadrature component (WQ);
B. Determining which in-phase components of the input signals will be utilized
in the generation of matrix S1;
C. Multiplying each in-phase component of the selected input signal with a
projection matrix to generate a column of matrix SI;
D. Storing each respective column to form matrix SI;
E. Determining which quadrature components of the input signals will be
utilized in the generation of matrix SQ;
F. Multiplying each quadrature component of the selected input signal with a
projection matrix to generate a column of matrix SQ; and
G. Storing each respective column to form matrix SQ.
In another embodiment, an apparatus for generating an S matrix is provided, the
S matrix having an in-phase and a quadrature component, the apparatus comprising: a
means for receiving a plurality of input signals W1 through Wn, where n represents the
number of input signals and where each input signal W has an in-phase component (W/)
and a quadrature component (Wg); a means for determining which in-phase components
of the input signals will be utilized in the generation of matrix SI; a first means for
multiplying each in-phase component of the selected input signal with a projection
matrix to generate a column of matrix SI; means for storing each respective column
to form matrix SI; a means for determining which quadrature components of the input
signals will be utilized in the generation of matrix SQ; a second means for multiplying
each quadrature component of the selected input signal with a projection matrix to

generate a column of matrix SQ; and means for storing each respective column to form
matrix SQ.
In another embodiment, a method for generating an S matrix is provided, the S
matrix having an in-phase and a quadrature component, the method comprising the steps
of:
A. Receiving a plurality of input signals W1 through Wn, where n represents the
number of input signals and where each input signal W has an in-phase
component (WI) and a quadrature component (WQ);
B. Determining which in-phase components of the input signals will be utilized
in the generation of matrix SI;
C. Multiplying each in-phase component of the selected input signal with a
projection matrix to generate an in-phase intermediate signal;
D. Utilizing relative amplitude information associated with the in-phase
component of the selected input signals to determine the sign of the selected
in-phase component of the input signal;
E. Multiplying the in-phase intermediate signal with its associated sign to
generate a column of matrix SI;
F. Storing each respective column to form matrix SI;
G. Determining which quadrature components of the input signals will be
utilized in the generation of matrix SQ;
H. Multiplying each quadrature component of the selected input signal with a
projection matrix to generate a quadrature intermediate signal;
I. Utilizing relative amplitude information associated with the quadrature
component of the selected input signals to determine the sign of the selected
quadrature component of the input signal;
J. Multiplying the quadrature intermediate signal with its associated sign to
generate a column of matrix SQ; and
K. Storing each respective column to form matrix SQ.

In another embodiment, an apparatus for generating an S matrix is provided, the
S matrix having an in-phase and a quadrature component, the apparatus comprising: a
means for receiving a plurality of input signals W1 through Wn, where n represents the
number of input signals and where each input signal W has an in-phase component (Wi)
and a quadrature component (WQ); a means for determining which in-phase components
of the input signals will be utilized in the generation of matrix SI and SQ; a first means
for multiplying each in-phase component of the selected input signal with a projection
matrix to generate an in-phase intermediate signal; a means for utilizing relative
amplitude information associated with the in-phase component of the input signals to
determine the sign of the in-phase component of the input signal; a second means for
multiplying the in-phase intermediate signal with its associated sign to generate a
column of matrix SI; means for storing each respective column to form matrix SI; a third
means for multiplying each quadrature component of the selected input signal with a
projection matrix to generate a quadrature intermediate signal; a means for
utilizing relative amplitude information associated with the quadrature component of the
input signals to determine the sign of the quadrature component of the input signal; a
fourth means for multiplying the quadrature intermediate signal with its associated sign
to generate a column of matrix SQ; and means for storing each respective column to
form matrix SQ.
In another embodiment, a method for generating an S matrix is provided, the S
matrix having an in-phase and a quadrature component, the method comprising the steps
of:
A. Receiving a plurality of input signals W1 through Wn, where n represents
the number of input signals and where each input signal W has an in-
phase component (WI) and a quadrature component (WQ);
B. Determining which input signals will be utilized in the generation of
matrix SI;
C. Multiplying each in-phase component of the selected input signal with a
projection matrix to generate an in-phase intermediate signal;

D. Determining relative amplitude associated with the in-phase component of
the selected input signals;
E. Multiplying the in-phase intermediate signal with its associated relative
amplitude to generate a column of matrix SI;
F. Summing each column of matrix SI to generate a composite column;
G. Storing the composite column to form matrix SI;
H. Determining which input signals will be utilized in the generation of
matrix SQ;
I. Multiplying each quadrature component of the selected input signal with a
projection matrix to generate a quadrature intermediate signal;
J. Determining relative amplitude associated with the quadrature component
of the selected input signals;
K. Multiplying the quadrature intermediate signal with its associated relative
amplitude to generate a column of matrix SQ;
L. Summing each column of matrix SQ to generate a composite column; and
M. Storing the composite column to form matrix SQ.
In another embodiment, an apparatus for generating an S matrix is provided, the
S matrix having an in-phase and a quadrature component, the apparatus comprising: a
means for receiving a plurality of input signals W1 through Wn, where n represents the
number of input signals and where each input signal W has an in-phase component (WI)
and a quadrature component (WQ); a means for determining which input signals will be
utilized in the generation of matrix SI and SQ; a first means for multiplying each in-
phase component of the selected input signal with a projection matrix to generate
an in-phase intermediate signal; a means for determining relative amplitude associated
with the in-phase component of the respective input signal; a second means for
multiplying the in-phase intermediate signal with its associated relative amplitude to
generate a column of matrix SI; first means for summing each column of matrix SI to
generate a first composite column; first means for storing the first composite column to
form matrix SI; a third means for multiplying each quadrature component of the selected

input signal with a projection matrix to generate a quadrature intermediate signal; a
means for determining relative amplitude associated with the quadrature component of
the respective input signal; a fourth means for multiplying the quadrature intermediate
signal with its associated relative amplitude to generate a column of matrix SQ; means
for summing each column of matrix SQ to generate a second composite column; and
means for storing the second composite column to form matrix SQ.
In another embodiment, a method for generating an S matrix is provided, the
method comprising the steps of:
A. Receiving a plurality of input signals W1 through Wn, where n represents the
number of input signals;
B. Determining which input signals will be utilized in the generation of matrix
S;
C. Multiplying each of the selected input signals with a projection matrix to
generate an intermediate signal;
D. Determining relative amplitude associated with the component of the
selected input signals;
E. Multiplying the intermediate signal with its associated relative amplitude to
generate a column of matrix S;
F. Summing each column of matrix S to generate a composite column; and
G. Storing the composite column to form matrix S.
Other objects and features of the present invention will be apparent from the
following detailed description of the preferred embodiment.
BRIEF DESCRIPTION OF THE DRAWINGS
The invention will be described in conjunction with the accompanying drawings,
in which:

Figure 1 is a depiction of leakage due to orthogonal projections of non-
orthogonal signal spaces in prior art signal-processing;
Figure 2 is a block diagram depicting a generalized architecture of a serial
receiver constructed in accordance with a preferred embodiment of the present
invention;
Figure 3 is a depiction of how a projection operator may be applied to a
reference signal when symbol boundaries of a signal being cancelled are not aligned
with the reference symbol boundaries;
Figure 4 is a depiction of misalignment of symbol boundaries and the inherent
causality in cancellation associated therewith;
Figure 5 is a block diagram depicting an architecture for a forward link receiver
constructed in accordance with the teachings of the present invention and utilized in
cdmaOne and/or cdma2000 systems;
Figure 6 is a block diagram depicting a searcher finger of the receiver illustrated
in Figure 5 and utilized in a cdmaOne system;
Figure 7 is a block diagram depicting a processing finger of the receiver
illustrated in Figure 5 and utilized in a cdmaOne system;
Figure 8 is a block diagram depicting a modified Hadamard transform module
that may be utilized in conjunction with the present teachings of the invention in a
cdmaOne system;
Figure 9 is a block diagram depicting a module for the generation of an
interference matrix S, using 'no information' of sign or relative amplitude, which may

be utilized in conjunction with the teachings of the present invention in a cdmaOne
system and/or cdma2000 system;
Figure 10 is a block diagram depicting a module for the generation of an
interference matrix S, using 'sign information', that may be utilized in conjunction with
the teachings of the present invention in a cdmaOne system and/or cdma2000 system;
Figure 11 is a block diagram depicting a module for the generation of an
interference matrix S, using 'relative amplitude (composite)' information, which may be
utilized in conjunction with the teachings of the present invention in a cdmaOne system
and/or cdma2000 system;
Figures 12A and B illustrate block diagrams which depict two examples of
modules combining methods for a generation of an interference matrix S that may be
utilized in conjunction with the teachings of the present invention in a cdmaOne system;
Figure 13 is a block diagram depicting a searcher finger for the receiver
illustrated in Figure 5 and utilized in a cdma2000 system;
Figure 14 is a block diagram depicting a processing finger for the receiver
illustrated in Figure 5 and utilized in a cmda2000 system;
Figure 15 is a block diagram depicting an amplitude estimator module for the
receiver illustrated in Figure 5 and utilized in a cdma2000 system;
Figures 16A and 16B are block diagrams depicting in phase and quadrature
modules for the generation of a 'no information' interference matrix S that may be
utilized in conjunction with the teachings of the present invention in a cdma2000
system;

Figures 17A and 17B are block diagrams depicting in phase and quadrature
modules for the generation of a 'sign information' interference matrix S that may be
utilized in conjunction with the teachings of the present invention in a cdma2000
system; and
Figures 18A and 18B are block diagrams depicting in phase and quadrature
modules for the generation of 'relative amplitude (composite)' interference matrix S that
may be utilized in conjunction with the teachings of the present invention in a
cdma2000 system.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
It is advantageous to define several terms before describing the invention. It
should be appreciated that the following definitions are used throughout this application.
Where the definition of terms departs from the commonly used meaning of the term,
applicant intends to utilize the definitions provided below, unless specifically indicated.
Definitions
For the purposes of the present invention, the term "cross-channel interference"
refers to the type of interference that results from one source's signals bleeding into the
acquisition and tracking channels of another source.
For the purposes of the present invention, the term "co-channel interference"
refers to the type of interference that occurs when one or more signals, e.g., a line-of-
sight signal; interferes with the ability to acquire a second, third or other multipath
signal from the same source.
For the purposes of the present invention, the term "finger" refers to either an
LOS or multipath copy of a signal from any source. It may consist of multiple channels.

For example, an IS-95 multipath finger may consist of the pilot, paging, synchronization
and a number of traffic channels.
For the purposes of the present invention, the term "multipath finger" refers
specifically to either an LOS or multipath signal from a single source. It may consist of
multiple channels. For example, an IS-95 multipath finger may consist of the pilot,
paging, synchronization and a number of traffic channels.
For the purposes of the present invention, the term "processing finger" refers to a
signal-processing element in a receiver that tracks a single multipath finger and
processes a single channel contained in a multipath finger. For example, in an IS-95
mobile receiver, each processing finger tracks a single multipath finger of a channel.
For the purposes of the present invention, the term "analog" refers to any
measurable quantity that is continuous in nature.
For the purposes of the present invention, the term "base station" refers to a
transmitter and/or receiver that is capable of communicating with multiple mobile units
in a wireless environment.
For the purposes of the present invention, the term "baseline receiver" refers to a
conventional CDMA receiver against which a receiver of the present invention may be
compared.
For the purposes of the present invention, the term "baseline finger processor"
refers to a processing finger in a baseline receiver that tracks a finger.
For the purposes of the present invention, the term "bit" refers to the
conventional meaning of "bit," i.e., a fundamental unit of information having one of two
possible values; a binary 1 or 0.

For the purposes of the present invention, the term "chip" refers to a non-
information bearing unit that is smaller than a bit, the fundamental information bearing
unit. Use of spreading codes produce fixed length sequences of chips that constitute
bit(s).
For the purposes of the present invention the term "code" refers to a specified
sequence of numbers that is applied to a message and is known by the intended recipient
of the message.
For the purposes of the present invention the term "Code-Division Multiple
Access (CDMA)" refers to a method for multiple access in which all users share the
same spectrum but are distinguishable from each other by a unique code.
For the purposes of the present invention, the term "code offset" refers to a
location within a code. For example, base stations in certain wireless environments
distinguish between each other by their location within a code, often a pseudorandom
sequence.
For the purposes of the present invention, the term "correlation" refers to the
inner product between two signals, typically scaled by the length of the signals or by
another normalization factor. Correlation provides a measure of how alike two signals
are.
For the purposes of the present invention, the term "digital" refers to the
conventional meaning of the term digital, i.e., relating to a measurable quantity that is
discrete in nature.
For the purposes of the present invention, the term "Doppler" refers to the
conventional meaning of the term Doppler, i.e., a shift in frequency that occurs due to
movement of a receiver, transmitter and/or background.

For the purposes of the present invention, the term "Global Positioning System
(GPS)" refers to the conventional meaning of this term, i.e., a satellite-based system for
position location.
For the purposes of the present invention, the term "in-phase" refers to the
component of a signal that is aligned in phase with a particular signal, such as a
reference signal.
For the purposes of the present invention, the term "quadrature" refers to the
component of a signal that is 90° out of phase with a particular signal, such as a
reference signal.
For the purposes of the present invention, the term "interference" refers to the
conventional meaning of the term interference, i.e., a signal that is not of interest but
that interferes with the ability to detect the signal of interest. Generally, interference is
structured noise that is created by other processes that are attempting to do the same
thing as the signal of interest, e.g., other base stations communicating with mobiles, or
multipath versions of the signal of interest.
For the purposes of the present invention, the term "linear combination" refers to
the combining of multiple signals or mathematical quantities in an additive way with
nonzero scaling of the individual signals.
For the purposes of the present invention, the term "matched filter" refers to a
filter that is designed to facilitate the detection of a known signal by effectively
correlating the received signal with an uncorrupted replica of the known signal.
For the purposes of the present invention, the term "noise" refers to the
conventional meaning of noise with respect to the transmission and reception of signals,
i.e., a random disturbance that limits the ability to detect a signal of interest.
Specifically, it refers to processes that are attempting to do something different than the

signal of interest. Additive noise adds linearly with the power of the signal of interest.
Examples of noise in cellular systems may include automobile ignitions, power lines
and microwave communication links.
For the purpose of the present invention, the term "matrix inverse" refers to the
inverse of a square matrix S, denoted by S"1, that is defined as that matrix which when
multiplied by the original matrix equals the identity matrix, I, i.e., a matrix which is all
zero save for a diagonal of all ones.
For the purposes of the present invention, the term "mobile" refers to a mobile
phone which functions as a transmitter or receiver and communicates with base stations.
For the purposes of the present invention, the term "modulation" refers to
imparting information on another signal, such as a sinusoidal signal or a pseudorandom
coded signal. Typically, this is accomplished by manipulating signal parameters, such
as phase, amplitude, frequency or some combination of these quantities.
For the purposes of the present invention, the term "multipath" refers to copies
of a signal that travel different paths to the receiver.
For the purposes of the present invention, the term "normalization" refers to a
scaling relative to another quantity.
For the purposes of the present invention, two nonzero vectors, e1 and e2 are said
to be "orthogonal" if their inner product (defined as , where T refers to the transpose
operator) is identically zero. Geometrically, this refers to vectors that are perpendicular
to each other.
For the purposes of the present invention, the term "pseudorandom number
(PN)" sequences refer to sequences that are often used in spread spectrum applications

as codes to distinguish between users while spreading the signal in the frequency
domain.
For the purposes of the present invention, the term "processing gain" refers to
the ratio of signal to noise ratio (SNR) of the processed signal to the SNR of the
unprocessed signal.
For the purposes of the present invention, the term "projection", with respect to
any two vectors x and y, refers to the projection of the vector x onto y in the direction of
a y with a length equal to that of the component of x, which lies in the y direction.
For the purposes of the present invention, the term "quasi-orthogonal functions
(QOF)" refers to a set of orthogonal functions used in cdma2000. QOFs are orthogonal
within a set, but between different QOF sets and Walsh codes there exists non-zero
correlation between at least one pair of codes from these different sets.
For the purposes of the present invention, the term "rake receiver" refers to a
method for combining multipath signals in order to increase the processing gain.
For the purposes of the present invention, the term "signal to noise ratio (SNR)"
refers to the conventional meaning of signal to noise ratio, i.e., the ratio of the signal to
noise (and interference).
For the purposes of the present invention, the term "spread spectrum" refers to
techniques that use spreading codes to increase the bandwidth of a signal to more
effectively use bandwidth while being resistant to frequency selective fading.
For the purposes of the present invention, the term "spreading code" refers to
pseudorandom number sequences that are used to increase the width of the signal in
frequency space in spread spectrum systems. Examples of spreading codes include:
Gold, Barker, Walsh codes, etc.

For the purposes of the present invention, the term "steering vector" refers to a
vector that contains the phase history of a signal that is used in order to focus the signal
of interest.
For the purposes of the present invention, the term "symbol" refers to the
fundamental information-bearing unit transmitted over a channel in a modulation
scheme. A symbol may be composed of one or more bits that may be recovered through
demodulation
For the purposes of the present invention, the term "transpose" refers to a
mathematical operation in which a matrix is formed by interchanging rows and columns
of another matrix. For example, the first row becomes the first column; the second row
becomes the second column, and so on.
Description
The serial cancellation CSPE receiver incorporates the coded signal-processing
engine (CSPE) into a spread spectrum receiver architecture in which interference
cancellation is performed in a serial manner. Specifically, interference cancellation
operations of single fingers, e.g., single LOS or multipath from a transmission source,
on the measured data are performed in a serial, or cascading, manner, typically from
highest to lowest power signals. Each processing finger may operate on the measured
data y or on processed data in which one or more interference signals have been
cancelled. One benefit of the serial approach is that a serial receiver processing-finger
may acquire, track and demodulate a signal that is buried beneath the interference floor.
A master control module controls data flow and control signals for all processing
fingers. Depending on the power of the signals acquired, the CSPE may or may not
cancel the interference of the previous signal(s).

The serial architecture 200 is presented in Figure 2 in a generalized form with an
arbitrary number of processing fingers 210, 212, 214. For clarity, only three processing
fingers are illustrated. Particular embodiments, later described, will provide cdmaOne
and cdma2000 specific elements of the present invention. Figure 2 depicts a serial
receiver 200 and an arbitrary finger processor 260 containing finger 212 and illustrating
the data flow therein. Signal 202 may either be processed at an intermediate frequency
(IF) or at base-band (BB) frequency. The connections depicted in the subsequent
figures may either be for a single IF signal or I (in-phase) and Q (quadrature) base-band
signals.
A description of each element of Figure 2 is contained in the following
subsections.
Control
Control block 206 controls data flow for all processing fingers 210, 212, 214in
receiver 200, i.e., it determines which data stream, time offsets, projection operators and
other parameters are sent to each processing finger 210, 212, 214. Moreover, it
maintains a master time or an equivalent method of representing time of arrival that is
used by all the processing fingers for the determination of code offsets in time.
Controller 206 may be modified as desired to achieve particular network requirements.
Note that it is to be understood that various changes and modifications may be made to
controller 206 without departing from the teachings of the present invention. Such
changes and modifications are to be understood as included within the scope of the
present invention. For example, due to memory and other computational reasons it may
be necessary to pass the interference matrix S to a module rather than the projection
matrix .
In a preferred embodiment, the inputs for controller 206 are illustrated as items
202 and 204 and may include, but are not limited to: - data stream containing the
transmitted signals where the j index specifies the number of interference signals that

have been removed; 4 - time offset for the signal, where k is the signal index;
projection operator, where the n index denotes the signal number while the k index
specifies the number of interference signals that have been removed; P - estimate of the
power of the tracked signals to determine which signals should be cancelled and in
which order the signals should be cancelled; and Info - an optional parameter that may
either specify relative signal amplitude of the signals or polarity of the bits transmitted.
This information is specifically used for cancellation purposes. The minimum input
parameters for cancellation purposes include:
The outputs for controller 206 are illustrated as data elements 208, 210, 212,
214, and 216. Each of these data elements may contain: - a data stream in which k
interference signals have been removed; a product of the projection operators
that is used to remove the k interference signals; and/or 4 - time offset for the Mi
interference signal.
Searcher Finger
Searcher finger block 220 acquires a signal in the received data 208. Inputs for
searcher finger block 220, include, but are not limited to: - a data stream in which j
interference signals have been removed; and - a product of the projection
operators, which is used to remove the k interference signals. Searcher finger block 220
provides time offset and relative power information to finger processor 260. The time
offset is a coarse approximation, the accuracy of which is further refined in the tracking
loop or code offset estimation of finger processor 260. Searcher finger block 220 may
operate on either the unprocessed segment of data or on a processed segment of data,
which has been operated on by a projection operator in a processing finger's CSPE
block in order to remove an interference signal(s).

Depending on the constraints of the system, the searcher algorithm may take
many forms. A standard CDMA searcher continually searches the unprocessed segment
y 202 for new signals to be assigned to processing fingers 210, 212,214. Embodiments
of the present invention have the capability to search within unprocessed data and the
processed data, e.g., y(1), y(2), ..., y(n-1). For example, the searcher algorithm may focus
its processing time on the y 202 with the greatest number of signals removed to
facilitate the acquisition of signals buried by the interference, it could search each y
alternatively for a short period of time or have additional searchers or correlators search
y(1), y(2), y(n-1). The former has difficulties when the relative powers of the signals
are changing and lingers are being reassigned because of the dependencies of
cancellation ordering in the serial cancellation process. The latter may unnecessarily
process y's with few or no signals cancelled, thereby decreasing the probability of
acquiring additional signals since they may be buried beneath the interference floor of
stronger signals. The addition of new searchers or correlators may be costly to
implement. The complexity of the searcher algorithm is dependent on the parameters of
receiver architecture.
The use of any prior art searcher algorithm is considered within the scope of the
present invention. As may be seen, the outputs from searcher finger block 220 are
preferably, tm - time offset for the (m)th signal acquired by the searcher; and an estimate
of signal power that is used to determine the order of the serial cancellation and to
determine whether signal cancellation is required for the acquisition of particular
signals. The output is illustrated by element 222. Outputs 222 may be utilized to
facilitate the acquisition of signals buried by the interference or may search each
alternatively for a short period of time, for simplicity, and may be provided to controller
206 as input 204 for these purposes.
Baseline Finger Processor
Baseline finger processor 230 tracks a signal in the received data in 212. It
provides time offset information tk+1 and an estimate of the tracked signal (reference

signal) 232 to subsequent blocks in the processing finger for correlator 240 and for the
construction of interference matrices 250. The inputs for baseline finger processor 230
are illustrated by element 212 and include: - a data stream in which k interference
signals have been removed; and - a product of the projection operators which
is used to remove the k interference signals.
If the data has been operated on by a projection operator in another processing
finger's CSPE block 250, in order to remove an interference signal(s), then it will be
necessary to use the projection operator(s) in the creation of a reference signal for
correlation purposes. This is illustrated as one of the inputs in 232.
As may be seen from Figure 2, the outputs from baseline finger processor 230
are: - a product of the projection operators, used to remove the k interference
signals, and a reference signal of the signal tracked in the baseline receiver where n
specifies the signal index; and tk+1 — time offset for the (k+1)th signal tracked in the
baseline receiver. These outputs are represented by element 232. As may be seen,
output 232 is provided to both correlator 240 and CSPE 250.
Correlator block 240 (shown in Figure 2) calculates a power estimate P in 244
that is used by control block 206 to order the signals for serial cancellation. Namely, it
determines whether a cancellation is necessary in each processing finger and in which
order. Additionally, the parameter Info is provided that supplies either information on
bits transmitted, relative power information or no information to control block 206
depending on the receiver architecture. Information on bits transmitted or relative
power is necessary for certain cancellation methods where there is bit boundary
misalignment and where cancellation is performed on segments longer than one Walsh
symbol as disclosed in U.S. Provisional Patent Application No. 60/331,480, entitled
"Construction of an Interference Matrix for a Coded Signal Processing Engine," the
entire contents and disclosure of which is hereby incorporated by reference herein.

As may be seen, the inputs for correlator 240 include: ■ a product of
the projection operators that remove the k interference signals and an estimate of the
signal tracked in the baseline receiver where n specifies the signal index; and tk+1 - time
offset for the (k+1)th signal tracked in the baseline receiver. The outputs of correlator
240 include: Info - either bits transmitted or relative signal amplitude information, if
required by the cancellation method; and Power - estimate of signal power that is used
to determine the order of the serial cancellation and to determine whether signal
cancellation is required for the acquisition and/or tracking of particular signals.
If the data has been operated on by a projection operator in another processing
finger's CSPE block 250, in order to remove an interference signal(s), it will be
necessary to use the projection operator(s) in the creation of a reference signal for
correlation purposes. This is illustrated as one of the inputs in 232. The output of
correlator 240 is illustrated by element 244 and comprises power and other signal
information, as discussed above. Correlator 240 may be modified as desired to achieve
particular network requirements.
To track signal s1 from the original data .y, the data is correlated with a reference
signal for s1 in block 240. However, to track a signal s„ after k interference signals have
been removed, data is correlated with a reference signal , which is produced after
multiplying the original s„ by the k corresponding projection operators, or by the
reference signal . The flexibility in being able to use two different reference
signals, i.e. either for the correlation operation with where i>0, is due
to the idempotent nature of projection matrices,


In general, the reference signal being correlated with the measured data may either have
as many projection operators applied to it as the measured data or all but the last
projection operator. Consider the following correlation:

Both the correlation and the correlation are mathematically
equivalent, though the latter is computationally more efficient since it requires the
application of one fewer projection matrix.
Application of a projection operator to a reference signal is straightforward when
the symbol boundaries, of the signal to be cancelled, align with the boundaries of the
signal for which one is looking, or the signal for which one is looking has no symbol
boundaries. For example, when acquiring and tracking a signal using a pilot channel
over a segment length equivalent to one Walsh symbol in cdmaOne and cdma2000, the
symbol boundaries are not relevant since Walsh code zero, used for the pilot, is all
zeros. However, misalignment issues may arise for signals with symbol boundaries
when applying a projection operator to a reference signal.
CSPE block 250 (shown in Figure 2) provides interference mitigation by
generating a projection operator to cancel the interfering signals represented in the
matrix S:


In the serial canceller, the matrix S consists of the signal s tracked in the current
processing finger and all channels to be cancelled. The processed data and the
projection operator are sent to the control module for processing by subsequent
fingers. The inputs for CSPE include: a product of the projection
operators, used to remove the k interference signals, and the signal tracked in the
baseline receiver where the n specifies the signal index; tk+1 - time offset for the (k+l)th
signal tracked in the baseline receiver; and, if required, Info - either bits transmitted or
relative signal amplitude information. The outputs for CSPE include: - an estimate
(reference signal) of the signal currently tracked in the processing finger;
processed data stream in which k interference signals have been removed;
processed data stream in which k+\ interference signals have been removed including
the signal currently being tracked; tk+i - time delay for the (k+1)th signal tracked in the
baseline receiver; and - projection operator for the removal of.
For a detailed description of the CSPE, the reader is referred to U.S. Provisional
Patent Application No. 60/331,480, entitled "Construction of an Interference Matrix for
a Coded Signal Processing Engine," filed November 16, 2001; U.S. Patent Application
No. 09/988,218, entitled "Interference Cancellation In a Signal," filed November 19,
2001; U.S. Patent Application No. 09/988,219, entitled "A Method and Apparatus for
Implementing Projections in Signal Processing Applications," filed November 19,2001;
U.S. Provisional Patent Application No. 60/326,199, entitled "Interference Cancellation
in a Signal," filed October 2,2001; U.S. Provisional Patent Application No. 60/325,215,
entitled "An Apparatus for Implementing Projections in Signal Processing
Applications," filed September 28, 2001; U.S. Provisional Patent Application No.
60/251,432, entitled "Architecture for Acquiring, Tracking and Demodulating
Pseudorandom Coded Signals in the Presence of Interference," filed December 4,2000;
U.S. Patent Application No. 09/612,602, filed July 7, 2000; and to U.S. Patent
Application No. 09/137,183, filed August 20, 1998. The entire disclosures and contents
of these applications are hereby incorporated by reference.

A system has herein been discussed in which the symbol boundaries are aligned.
It should be appreciated that the teachings of the present invention may be utilized even
if the signal boundaries are not aligned. Figure 3 is a depiction of how a projection
operator may be applied to a reference signal when symbol boundaries of a signal being
cancelled are not aligned with the reference symbol boundaries of the signal of interest.
Consider two signals s1 (310) and s2 (360), illustrated in Figure 3, where s1 is
canceled to demodulate s2. As seen in Figure 3, the symbol boundaries for s1 and s2 are
not aligned and are offset by ∆n. As a result, the projection operator, constructed to
cancel si, is applied to the s2 reference signal such that it is aligned to the boundaries of
s1 340, 342 344 and 346. However, when s2 is demodulated, the segment used for
correlation is aligned to the boundaries of s2 380, 382, 384 and 386. Projection
operators 320, 322, 324 and 326 are constructed over segments aligned with symbol
boundaries of s1 and applied to s2 resulting in segments 330, 332, 334 and 336.
However, in order to demodulate s2, it is necessary to correlate over segments 370, 372
and 374.
The correlation for demodulation may be written as

where the '-' denotes that the projection operator is aligned to the symbol boundaries of
s2 rather than with s1. As a result, is mathematically not a true projection operator.
Instead, it is composed of portions of two adjacent ] operators that comprise the
upper and lower portions of the matrix. Since, in general, the resulting matrix is
not a true projection matrix, it is not guaranteed to be idempotent. Therefore, in the case
of demodulation with misalignment between what is being cancelled and what is being
demodulated, the following statement is, in general, not true:


Mathematically, it will then be necessary to always have the index n,
corresponding to the projection operators, match between the data and the reference
signal for demodulation purposes. In CDMA communication systems that use a pilot
channel, acquisition and tracking of the pilot channel will be unaffected for a segment
length corresponding to one Walsh symbol, since it is a non-information bearing
channel with no symbol boundaries, and may exploit the idempotency of the projection
operators by aligning with the segment corresponding to the projection operator.
Another method, which would require a greater amount of computation and
require either bit or amplitude information, is to cancel signal s1 from the data y to
detect signal s2, determine the alignment of the symbol boundaries of signal s2, rebuild
the projection operator to remove s1 from y aligned to the symbol boundaries of s2 and
then correlate s2 over the segment corresponding to the boundaries of s2. Using this
method would preserve idempotency even with misalignment between what is being
cancelled and what is being detected. Therefore, in the case of demodulation with
misalignment between what is being cancelled and what is being demodulated, the
following statement is, in general, true for this method:

However, from an implementation perspective, the correlation may
be replaced by the correlation where the projection operators) are not applied to
the reference signal. Interference and the near-far effect are due to non-orthogonality of
signals and a large disparity in power. If the signals that are cancelled are relatively
orthogonal to the signal of interest, the projection operators have little effect on the
reference signal for the signal of interest. As a result, the subspace angle between
and sra is quite small and the vectors are similar. Therefore, the correlations
and may likely yield similar results. In the present invention, this may be
exploited whenever a projection operator or product of projection operators are applied

to a reference signal, e.g., demodulation of data; determination of active channel, bits or
amplitude information; and construction of the interference matrix, greatly simplifying
the implementation.
Processing the data
Suppose that the received data is composed of m signals ordered in terms of
power from highest to lowest with additive white Gaussian noise (AWGN). The data y
may be written as

where st denotes the rth signal, θi denotes the ith amplitude and n represents the noise
term. Note a slight departure from previous convention in the prior art section where H,
s, θ and ϕ were used. This change eliminates the need for H to be re-defined after each
serial cancellation operation.
The following procedure is an example of how the data processing may proceed.
There is a minimum one segment computational delay between each processing finger
in which a signal is removed. It is necessary to create a reference signal over an entire
segment before it is cancelled from the measured data. Subsequently, another
processing finger may process that segment of data with the previous signal removed.
Figure 4 depicts processing delay due to the misalignment of symbol boundaries
between fingers. The vertical lines occur at symbol boundaries, however, there may be
more than one symbol per segment. Figure 4 shows finger 1, illustrated as reference
numeral 410 and having segments 412, 414, 416, 418; finger 2, illustrated as reference
numeral 420 and having segments 422, 424, 426, 428; and finger 3, illustrated as
reference numeral 430 and having segments 432, 434, 436,438 where time increases in
the direction of increasing segment reference number. The segments for each finger are
misaligned as illustrated by the dashed lines. In order to process segment 422 with the
interference of finger 1 (410) removed it is necessary to have processed segments 412
and 414. Similarly, to process segment 424 with the interference of finger 1 (410)

removed it is necessary to have processed segments 414 and 416. Furthermore, in order
to process segment 432 with fingers 1 (410) and 2 (420) removed it is necessary to have
processed segments 422 and 424 which subsequently require the processing of segments
412, 414 and 416. Effectively, there may be at least a one-segment delay between each
finger in which a cancellation occurs.
When a receiver begins processing the data stream, the control block arbitrarily
assigns reception of the strongest signal to a processing finger, hereafter referred to as
the first processing finger. Moreover, processing fingers that track subsequent signals
will be referred to as the second processing finger, the third processing finger,. .., nth
processing finger, respectively. Relative ringer power may change during processing
and either the fingers may be re-assigned to maintain a particular ordering of power or
the control block may maintain a record of the order in terms of power and process
accordingly.
First Processing Finger:
Control block 206 sends the raw received signal data y, but no information
or time t information to the finger processing block 260 and y to CSPE block 250.
Baseline block 230 calculates an estimate of the parameters corresponding to the signal
of interest by correlating with a generated reference signal and the signal, offset delay
t1 and potentially the phase and doppler frequency to CSPE block 250 and correlator
block 240. CSPE block 250 generates the projection operator and operates on the
data v to produce the processed data.y(1) with the first signal removed.


For simplicity, any nonzero multiplicative operation on the noise term n will
produce a product n, i.e., Xn = n. Moreover, is defined as

CSPE block 250 sends the signal s1 and y to the combiner (not illustrated), if necessary,
and the Viterbi decoder. In addition, and t1 are sent to control block 206.
Correlator block 240 calculates a power measurement P and the Info term that is sent to
control block 206.
After the first processing finger acquires and tracks the strongest signal, control
block 206 will attempt to acquire and track a second signal (multipath of first signal or a
second transmitter). Control block 206 will make the determination of whether the
acquisition procedure will operate on processed data with the strongest signal removed
or if it will operate on the original data. This will determine which data and parameters
are passed to the second processing finger.
Second Processing Finger:
According to an embodiment of the present invention, without loss of generality,
the control block sends the processed data, and the time offset information t\ to
the baseline finger processing block and to the CSPE block to effectively find a
second signal with the strongest signal cancelled. The baseline finger processing block
calculates an estimate of the next strongest signal by correlating with either the
generated reference signal or S2 and sends the signal and offset delay fe to
the CSPE and correlator blocks. The CSPE block generates the projection operator
and operates on the data, to produce the processed datay that has the second
signal removed.


The CSPE block sends the signal s2(1) and to the Viterbi decoder while
and are sent to the control block. The correlator block calculates the power
measurement term P and the Info term that may be subsequently sent to the control
block.
The control block continues to compare the power measurement of the two
transmitters. If the second measurement exceeds the power of the first, the control flow
may change and the two processing fingers of the receiver will effectively switch roles.
Namely, signal two will be removed from the data (if necessary) and then either the
processed data or original signal will be sent to the processing finger operating on the
first signal.
After the second finger acquires and tracks the next strongest signal, the control
block will attempt to acquire and track a third signal (multipath of the first or second
signal or a second or third transmitter). The control block will make the determination
of whether the acquisition procedure will operate on the data with either the two
strongest signals removed, one of them removed or if it will operate on the original data.
This will determine which data and parameters are passed to the third processing finger.

Third Processing Finger:
According to an embodiment of the present invention, without loss of generality,
the second signal does not need to be removed and the control block sends the processed
data and the time delay information t2 to the baseline receiver block and yw to
the CSPE block to effectively find the third strongest signal with the signal in
processing finger 1 removed. The baseline finger processing block calculates an
estimate of the next strongest signal by correlating with a generated reference signal
or s3 and sends the reference signal and offset delay t3 to the CSPE and
correlator blocks. The CSPE block generates the projection operator and operates
on the data to produce the processed data that has the first and third signals
removed. The prime denotes that different signals were cancelled than in the previous
processing finger case, i.e., (2) refers to the cancellation of processing fingers 1 and 2
whereas (2') refers to the cancellation of processing fingers 1 and 3.

The CSPE block sends the signal to the Viterbi decoder while y(2),
and t3 are sent to the control block. The correlator block calculates a power
measurement P and the Info term that may be subsequently sent to the control block.
The control block continues to compare the power measurement of the three
transmitters. If the relative powers switch order, then the control flow may change and
the appropriate processing fingers of the receiver will effectively switch roles.

Moreover, the CSPE may be turned on or off depending on the power requirements and
the level of interference.
Effectively, this procedure may be continued for an arbitrary number of
processing fingers. Consider the nth processing finger in this process.
Nth processing finger:
According to an embodiment of the present invention, without loss of generality,
the control block sends the processed data with k (k of the corresponding k projection operators and the time offset
information to the baseline receiver block and to the CSPE block to effectively
find the nth strongest signal with k signals removed. The baseline block calculates an
estimate of the tracking parameters of the next strongest signal by correlating with a
generated reference signal and sends the signal and offset delay t„ to
the CSPE and correlator blocks. The CSPE block generates the projection operator
and operates on the data to produce the processed data y(k+1) that has the nth
signal removed.


The CSPE block sends the signal and to the Viterbi decoder while
and tn are sent to the control block. The correlator block calculates a power
measurement P and the info term that is subsequently sent to the control block.
The control block continues to compare the power measurement of all the
transmitters that are being tracked. If the ordering of the fingers, based on their relative
power, changes, then the control flow may change and the appropriate processing
fingers of the receiver will effectively switch roles. Moreover, the CSPE may be turned
on or off for particular fingers depending on the power requirements and the amount of
interference.
The following particular embodiments present the cdmaOne forward link serial
CSPE canceling receiver and the cdma2000 forward link serial CSPE canceling
receiver, respectively.
Example I
The following embodiment is the cdmaOne (IS-95) forward link receiver. The
cdmaOne serial cancellation CSPE receiver incorporates the coded signal-processing
engine (CSPE) into a cdmaOne receiver architecture in which interference cancellation
is performed in a serial manner as described above. Specifically, interference
cancellation operations of single fingers, e.g., one or more channels from a LOS or
multipath signal, are performed in a serial, or cascading, manner, typically ordered in
terms of power from highest to lowest. Each processing finger may operate on the
received data y or on processed data in which one or more interference signals have
been cancelled. The benefit of this serial approach is that a serial receiver processing-
finger may track and demodulate a signal that may otherwise be buried beneath the
interference and may be undetectable by a baseline receiver. A master control module
controls data flow and control signals for all processing fingers. Depending on the

generality, the second finger is fed to finger processor 560 with data that has the strong
signal removed. The signal is tracked, demodulated, an interference matrix is created
and the signal is removed from the input data signal. The resulting signal has the first
two tracked signals removed from it in a serial manner, i.e., successive cancellations.
The process continues in a similar manner for the other finger processors.
Searcher 540 may search the received data or data in which interference signal(s) have
been removed in a serial manner. Multipath signals corresponding to the same base
station are combined in a Rake receiver in module 590.
In Figure 6, a searcher 600 (such as that shown previously in Figure 5, element
540) is discussed in greater detail. The pilot Walsh code, which is all zeros, is
multiplied by the short code in multiplier 610. If the input data y has had interference
signals removed, then the product of multiplier 610 is multiplied by the corresponding
projection matrices in multiplier 620. The reference signal computed in 620 is
multiplied by the input data signal y in multiplier 630. The correlation procedure is
completed by summing the product of y and the reference signal over a correlation
length N in summation block 640. The short code multiplied in multiplication block
610 is chosen such that the reference signal checks all possible code offsets.
Comparator 650 uses standard methods to select the strongest signal. However,
if a processing finger is already tracking a signal then that signal will not be reacquired.
Moreover, if the receiver has enough signals (LOS and/or multipath signals) from one
base station, the searcher may be instructed to not acquire any more multipath signals
from the same base station. Depending on the searching algorithm, the control module
may provide the searcher with either an unprocessed signal or one in which interference
signal(s) have been removed.
In Figure 7, a processing finger 700 (such as that shown previously in Figure 5,
element 550) is discussed in greater detail. The parameters associated with the input
signal y are refined in tracking loop(s) 710. Tracking loop(s) 710 may include a delay-

power of the signals that are to be acquired, the CSPE may or may not cancel the
interference of the previous signal(s).
Figure 5 depicts a forward link receiver 500. An RF signal 502 is received by
antenna 504 and then is down-converted by converter 510 from RF to base-band (BB)
based on a nominal carrier frequency. It should be appreciated that the present
invention encompasses receivers that process either base-band or IF. The base-band
signal is then sampled in an analog to digital converter (A/D) 520 to create a digital
signal. Control module 530 feeds the digital signal into searcher 540, which acquires
the strongest signal finger and communicates the short code offset and possibly the
Doppler frequency to control module 530. Searcher 540 continues to search over the
code offsets in order to acquire another signal. Control module 530 feeds the data and
acquisition information into one of the four processing fingers 550, 560, 570 and 580,
respectively. While Figure 5 depicts four processing fingers, the present invention is not
limited to a specific number of processing fingers but instead applies to an arbitrary
number of fingers.
Without loss of generality, assume for this example that the finger is assigned to
finger processor 550. The finger processor tracks the finger, demodulates the signal,
creates an interference matrix to cancel the signal and finally removes the signal from
the input data signal. The demodulated signal is fed to demodulation module 590 that
performs the Rake receiver combining as needed for multipath signals. The interference
matrix and processed data are fed back to control module 530.
With information from searcher 540 and the neighbor list for the finger tracked
in processing finger 550, control module 530 will decide whether to track a multipath
associated with the finger currently tracked in processing finger 550 or the signal of
another base station. Control module 530 has searcher 540 search over the code offsets
for other strong signals in either the received data or in the data with the interfering
finger removed. The latter is done if the interference from the first signal is too strong
to detect another signal or the removal will facilitate acquisition. Without loss of

locked loop (DLL) or code offset estimation, a phase-locked loop (PLL) or phase
estimation and/or a frequency-locked loop (FLL) or frequency estimation. At this point,
this embodiment of the present invention differs from the standard baseline cdmaOne
receiver architecture. The data flow is split between the architecture for signal
demodulation and the CSPE architecture 760 for interference cancellation. Tracking
loop(s) or estimation modules 710 refine the parameters for the reference signal
generation used in the demodulation of the channel. After tracking loop(s) or estimation
modules 710, the signal is de-spread by multiplying an appropriate short code spreading
sequence and the phase is stripped in multiplier 720.
The Walsh code of the desired channel is multiplied by a projection matrix or
product of projection matrices in multiplier 730, if necessary, and is multiplied with the
data signal in multiplier 740. The product of the data and the reference code is summed
in summer 750 over one Walsh symbol. The demodulated data is then fed to a
demodulation module, such as shown in Figure 5, element 590, where Rake receiver
combining is performed when multipath signals from the same base station are being
demodulated concurrently.
A modified Hadamard transform module 770 is applied to the de-spread data
signal. The Walsh codes used for channelization in cdmaOne are derived from a rank
64 Hadamard matrix. Multiplication of the de-spread data with the appropriate row of
the Hadamard matrix (Walsh symbol) and summing over one Walsh symbol effectively
demodulates the corresponding channel. Hadamard transform module 770 demodulates
all 64 channels in one finger. Since the processing finger may process both unprocessed
data and data in which interference signal(s) have been removed, a projection matrix or
product of projection matrices may have to be applied to the Walsh codes prior to
multiplication with the data as indicated by element 772. Output 774 of this module is
the signal amplitude of each channel. It is referred to as relative channel amplitude 774
in order to emphasize that it is not necessary to know the absolute signal amplitude for
the CSPE, but instead the relative amplitude between channels in the same finger is
sufficient.

The generation of S module 780 has a lot of flexibility in terms of its
implementation. The channels to be canceled from the data signal may be pre-set as a
fixed-size subset of channels or the complete set of channels or it may be dynamically
determined from the relative channel amplitude output from Hadamard transform
module 770 or another criteria. For example, a threshold may be set, such that all
channels above this particular threshold are selected or a fixed number of channels may
be chosen such that those channels with the greatest power are selected to be included in
the generation of the S matrix. A control module, such as shown in Figure 5, element
530, also determines which method of cancellation is to be used, i.e., sign information,
relative power information for the composite method, no information, or the
cancellation method may be fixed by the architecture. Reference signals are generated
and used as vectors in the construction of the S matrix. If the input data is processed
data, then a projection matrix or product of projection matrices 772 may be applied to
the reference signals. The output of module 780 is the S matrix and the projection
operator constructed from S that projects a signal onto a subspace orthogonal to the
subspace of S. Module 790 applies the new projection operator (denoted by '*') to the
data signal. Processing finger 700 feeds the new projection operator and the processed
data y(1) to a control module, such as shown in Figure 5, element 530.
In Figure 8, a modified Hadamard Transform module 800 (such as that shown in
Figure 7, element 770) is discussed in greater detail. The input y is split into 64 paths in
order to correlate it with the 64 Walsh symbols and calculate an estimate of each
channel's amplitude. The 64 Walsh symbols are multiplied by the appropriate
projection matrix or product of projection matrices, if necessary. For example, see 801,
811 and 821. The result is then multiplied with y in respective multipliers 802, 812 and
822 and summed over a Walsh symbol in respective summers 803, 813 and 823. The
estimate of each channel's amplitude, which is output, may be incorrect by a scale
factor, but the relative amplitude between channels is correct.

Figures 9, 10, 11 and 12 depict several examples of the generation of an S
matrix. Figure 9 depicts the generation of S matrix 900 using no information of bits
transmitted or relative signal amplitude. Each channel has a selector (901, 911 and 921)
that determines which Walsh symbols (channels) will be removed from the data signal.
If the data, has been processed, i.e., has had interference signals removed, then the
appropriate projection matrix or product of projection matrices is applied to each Walsh
symbol by the respective multipliers 902, 912 and 922. The reference vector output
from each selected channel is included as a vector in interference matrix S 930. The
ordering of the vectors does not matter.
Figure 10 depicts the generation of S matrix 1000 using sign (bit) information
from each channel. Each channel has a selector (1001, 1011 and 1021) that determines
which Walsh symbols will be removed from the data signal. If the data has been
processed then the appropriate projection matrix or product of projection matrices is
applied to each Walsh symbol by respective multipliers 1002, 1012 and 1022. Relative
amplitude information is processed by a module (1003, 1013 and 1023) in each channel
to determine the sign of the bit transmitted. The sign information is multiplied in
respective multipliers 1004, 1014 and 1024 with the results from respective multipliers
1002, 1012 and 1022. The reference vector output from each channel is included in
interference matrix S 1030. The ordering of the vectors does not matter.
Figure 11 depicts the generation of S matrix 1100 using relative amplitude
information from each channel in order to use the composite method of cancellation.
Each channel has a respective selector (1101, 1111 and 1121) that determines which
Walsh symbols will be removed from the data signal. If the data has been processed
then the appropriate projection matrix or product of projection matrices is applied to
each Walsh symbol by the respective multiplier 1102, 1112 and 1122. Relative
amplitude information is used to scale the result in each channel by the appropriate
amount with the respective multipliers 1103, 1113 and 1123. The reference vector
output from each channel is added together to form a composite vector in adder 1130.
The resulting composite reference vector is included in interference matrix S 1140.

Figures 12A and 12B depict two examples of the generation of an S matrix, in
which a combination of the above-described methods are utilized. Figure 12A shows a
combination of using no information of bits transmitted or relative signal amplitude and
the composite method and Figure 12B shows a combination of using relative amplitude
information and the composite method.
In Figure 12A, each channel has a respective selector 1201, 1211 and 1221 that
determines which Walsh symbol will be removed from the data signal without using bit
or relative amplitude information. If the data has been processed then the appropriate
projection matrix or product of projection matrices is applied to each Walsh symbol by
respective multiplier 1202, 1212 and 1222. The reference vectors output from each
channel is included in the interference matrix S. Similarly, selectors 1206, 1216 and
1226 determine which Walsh symbols will be removed from the data signal using
relative amplitude information and the composite method. If the data has been
processed then the appropriate projection matrix or product of projection matrices is
applied to each Walsh symbol by respective multiplier 1207, 1217 and 1227. Relative
amplitude information is used to scale each reference vector appropriately by respective
multiplier 1208, 1218 and 1228. The reference vector output from each channel is
summed together by summer 1230 to form a composite vector that is included in
interference matrix S 1235. The ordering of the vectors in the S matrix does not matter.
In Figure 12B, each channel has a respective selector 1251, 1261 and 1271 that
determines which Walsh symbol will be removed from the data signal using sign
information. If the data has been processed then the appropriate projection matrix or
product of projection matrices is applied to each Walsh symbol by respective multiplier
1252, 1262 and 1272. Relative amplitude information is processed by respective
modules 1253, 1263 and 1273 in each channel to determine the sign of the bit
transmitted. The sign information is multiplied by respective multipliers 1254, 1264
and 1274 with the results from multipliers 1252, 1262 and 1272. The reference vector
output from each channel is included in interference matrix S 1285. Similarly,

respective selectors 1256, 1266 and 1276 determine which Walsh symbols will be
removed from the data signal using the relative amplitude information and the
composite method. If the data has been processed then the appropriate projection matrix
or product of projection matrices is applied to each Walsh symbol by respective
multipliers 1257, 1267 and 1277. Relative amplitude information is used to scale each
reference vector appropriately by respective multipliers 1258, 1268 and 1278. The
reference vector output from each channel is summed together to form a composite
vector by summer 1280. This composite vector is included in interference matrix S
1285. The ordering of the vectors does not matter.
Example II
The following embodiment is of the cdma2000 forward link receiver.
Modifications have to be made to the cdmaOne embodiment to accommodate features
and enhancements made in cdma2000. Quasi-orthogonal (QOF) and concatenated
functions may be used to achieve a smaller impact on the number of orthogonal codes
available for traffic channels. Variable length Walsh codes are also used to attain higher
data rates. Specifically, shorter Walsh codes down to 4 chips in length are used to
increase the data rate. The limitation on Walsh codes is a length limit of 128 for IX
rates and 256 for 3X rates, except for the auxiliary pilot and auxiliary transmit diversity
pilot channels.
Due to the varying lengths of the Walsh codes it will become increasingly
important to have bit or relative amplitude information to facilitate interference
cancellation. If the interference matrix contains non-pilot interference vectors
composed of different length Walsh codes, it becomes imperative that the vectors of
shorter length Walsh codes use either bit or relative amplitude information in order to
correctly cancel interference. For information bearing channels, it is necessary for no
Walsh symbol boundaries to appear in the interference matrix if no bit or relative
amplitude information is used. The benefit of canceling over a single Walsh symbol is
that it is not necessary to know bit or relative amplitude information. However, it may

not be feasible to cancel interference over only 4 chip symbols or if there is symbol
misalignment since a longer data record may provide better cancellation properties.
Cross-correlation will have to be accounted for when a mix of QOFs and
variable length Walsh codes are used for channelization. While the goal is to minimize
the cross-correlation between QOFs and variable length Walsh codes, the codes are not
truly orthogonal and there exists a nonzero correlation. Even with perfect time
alignment, QOFs are not orthogonal to the original Walsh code set. Within a QOF set,
orthogonality is preserved, but there is a cross-correlation between code vectors from
different sets. A critical difference is that when QOFs are used, channels within the
same finger may no longer be orthogonal to each other. Therefore, the present invention
may be applied to cancellation of channels within one finger.
Moreover, cdma2000 may use orthogonal transmit diversity (OTD) to mitigate
multipath effects. OTD splits the transmitted symbols into two paths where each path is
spread by a different Walsh code or quasi-orthogonal function associated with each
antenna. As a result, the receiver architecture depicts the separation of the I and Q
channels to accommodate the application of different Walsh codes, if necessary.
Moreover, it emphasizes the construction of separate interference matrices for the I and
Q channels for cancellation purposes.
The cdma2000 serial CSPE receiver incorporates the coded signal-processing
engine (CSPE) into a cdma2000 receiver architecture in which interference cancellation
is performed in a serial manner. Specifically, interference cancellation operations of
single fingers, e.g., one or more channels from a LOS or multipath signal, are performed
in a serial, or cascading, manner, typically ordered in terms of power from highest to
lowest. Each processing finger may operate on the received data y or on processed data
in which one or more interference signals have been cancelled. The benefit of this serial
approach is that a serial receiver processing finger may track and demodulate a signal
that may otherwise be buried beneath the interference and be undetectable to a baseline
receiver. A master control module controls data flow and control signals for all

processing fingers. Depending on the power of the signals that are to be acquired, the
CSPE may or may not cancel the interference of the previous signal(s).
As discussed above, Figure 5 depicts a forward link receiver 500. Forward link
receiver 500 architecture is applicable to both cdmaOne and cdma2000. An RF signal
received by the antenna is down-converted in 510 from RF to base-band (BB) based on
the nominal carrier frequency. The present embodiment encompasses receivers that
process base-band or IF signals. The base-band signal is then sampled in 520 to create a
digital signal. The I and Q channels are not shown explicitly, but are implicit in all the
data connections in the figure. Control module 530 feeds the digital signal into searcher
540, which acquires the strongest signal finger and communicates the short code offset
and possibly the Doppler frequency and/or phase to control module 530. Searcher 540
continues to search over the code offsets in order to acquire another signal. Control
module 530 feeds the data and acquisition information into one of the four processing
fingers 550, 560, 570 and 580. While Figure 5 depicts four processing fingers, the
present embodiment is not limited to a specific number of processing fingers but instead
applies to an arbitrary number of fingers.
Without loss of generality, suppose that the finger is assigned to finger processor
550. The finger processor tracks the finger, demodulates the signal, creates interference
matrices to cancel the signal and finally removes the signal from the input data signal.
The demodulated signal is fed to demodulation module 590 that performs the Rake
receiver combining as needed for multipath signals. The interference matrices and
processed data are fed back to control module 530.
With information from searcher 540 and the neighbor list from the finger tracked
in processing finger 550, control module 530 will decide whether to track a multipath
associated with the finger currently tracked in processing finger 550 or another base
station. Control module 530 has searcher 540 search over the code offsets for other
strong signals in either the received data or in the data with the interfering finger
removed. The latter is done if the interference from the first signal is too strong to

detect or adequately track another signal. Without loss of generality, the second finger
is fed to finger processor 560 with data that has the strong signal removed. The signal is
tracked, demodulated, interference matrices are created and the signal is removed from
the input data signal. Thus, the resulting signal has the first two tracked signals
removed from it in a serial manner, i.e., successive cancellations.
The process continues in a similar manner for the other finger processors.
Searcher 540 may search the received data or data in which interference signal(s) have
been removed in a serial manner. Multipath signals corresponding to the same base
station are combined in a Rake receiver in module 590.
In Figure 13, searcher 1300 (such as that shown in Figure 5, element 540) is
discussed in greater detail. The pilot Walsh code is multiplied by the short code by
respective multipliers 1301 and 1311. If the input data y has had interference signals
removed, then the products of the multiplications in multipliers 1301 and 1311 are
multiplied by the corresponding projection matrices in the respective multipliers 1303
and 1313. The reference signals computed by multipliers 1303 and 1313 are multiplied
in the respective multipliers 1305 and 1315 with the respective input data signals, y1 and
VQ. The correlation procedure is completed by summing the products of the land Q
channels with the reference signals over a correlation length (N chips) by respective
summers 1307 and 1317. The short code multiplied in multiplication blocks 1301 and
1311 are chosen such that the reference signal checks all possible code offsets.
Comparator 1309 uses standard methods to select the strongest signal. However,
if a processing finger is already tracking a signal, then that signal will not be reacquired.
Moreover, if the receiver has enough signals (LOS and/or multipath signals) from one
base station, the searcher may be instructed to not acquire any more multipath signals
from the same base station. Depending on the searching algorithm, the control module
may provide the searcher with either an unprocessed signal or one in which interference
signal(s) have been removed.

In Figure 14, a processing finger 1400 (such as that shown in Figure 5, element
550) is discussed in greater detail. The parameters of the input signals yI and VQ are
further refined in tracking loop(s) or parameter estimation module(s) 1410. Tracking
loop(s) or estimation module(s) 1410 may include a DLL or code offset estimation, a
PLL or phase estimation and/or an FLL or frequency estimation. At this point, this
embodiment of the present invention differs from the standard baseline cdma2000
receiver architecture. The data flow is split between the architecture for signal
demodulation and the CSPE architecture for interference cancellation in blocks 1440
and 1450.
Tracking loop(s) or parameter estimation module(s) 1410 refine the parameters
for the reference signal generation used in the demodulation of the channel. After 1410,
the signals are de-spread by the appropriate short code spreading sequence by respective
multipliers 1401 and 1421. The Walsh code, concatenated Walsh code or quasi-
orthogonal function (QOF) of the desired channel is multiplied by a projection matrix or
product of projection matrices by respective multipliers 1403 and 1423, if necessary,
and is then multiplied with the I and Q data signals by respective multipliers 1405 and
1425. The product of the data and the reference codes is summed by respective
summers 1407 and 1427 over one Walsh or QOF symbol. The demodulated data is then
fed to a demodulation module, such as shown in Figure 5, element 590, where Rake
receiver combining is performed when multipath signals from the same base station are
demodulated.
Amplitude estimator modules 1409 and 1429 are applied to the de-spread I and
Q data signals. Variable length Walsh codes and QOFs are used for channelization in
cdma2000. Walsh codes and QOFs are derived from an orthogonal Hadamard matrix.
Multiplication of the de-spread data with the appropriate symbol and summing over a
symbol length effectively demodulates the corresponding channel. The amplitude
estimator demodulates all channels in one finger. Since the processing finger may
process both unprocessed data and data in which interference signal(s) have been
removed, a projection matrix or product of projection matrices may have to be applied

to the symbols prior to multiplication with the data. The output of this module is the
signal amplitude of each channel. It is referred to as relative channel amplitude in order
to emphasize that it is not necessary to know the absolute signal amplitude for the
CSPE, but instead the relative amplitude between channels in the same finger is
sufficient.
The generation of S, modules 1411 and 1431, have a lot of flexibility in terms of
their implementation. The channels to be canceled from the data signal can be pre-set as
a fixed-size subset of channels or the complete set of channels or it may be dynamically
determined from the relative channel amplitude output from the amplitude estimator
modules 1409 and 1429. For example, a threshold may be set, such that all channels
above this particular threshold are selected or a fixed number of channels may be chosen
such that those with the greatest power are selected to be included in the generation of
the S matrix. The control module also determines which method of cancellation is to be
used, i.e., sign information, relative power information for the composite method or no
information, or it may be fixed in the architecture. Reference signals are generated and
used as vectors in the construction of the S matrices. If the input data is processed data,
then a projection matrix or product of projection matrices is applied to each of the
reference signals. The output of modules 1411 and 1431 is the S matrix and the
projection operator constructed from the S matrices that project the signals onto a
subspace orthogonal to the subspace of each of the S matrices respectively. Modules
1413 and 1433 apply the new projection operators (denoted by '*') to the data signals.
The processing finger feeds the new projection operators and the processed data y/1} and
VQ(1) to the control module.
In Figure 15, amplitude estimator modules 1500 and 1550 (such as those shown
in Figure 14, elements 1409 and 1429) are discussed. The input data yI and VQ are
considered separately and are correlated with Walsh and QOF symbols in order to
calculate an estimate of each channel's amplitude. In the figure, the symbols are
denoted by Wj, which represents variable length Walsh codes and QOF symbols. The
symbols are multiplied by the appropriate projection matrix or product of projection

matrices, if necessary. For example, see respective multipliers 1501, 1511, 1551 and
1561. The result is then multiplied with yi by respective multipliers 1503 and 1513 and
with VQ by respective multipliers 1553 and 1563 and then summed over the symbol
length in respective summers 1505, 1515, 1555 and 1565. The estimate of each
channel's amplitude, which is output by the modules 1500 and 1550, may be off by a
scale factor, but the correct relative amplitude between channels is all that is necessary.
Figures 16A, 16B, 17A, 17B, 18A and 18B depict several examples of
'generation of S' modules. Figures 16A and 16B depict the generation of S matrix
modules 1600 and 1650 that use no information of bits transmitted or relative signal
amplitude. Each channel has a respective selector 1601, 1611, 1651 and 1661 that
determines which symbols (channels) will be removed from the data signal. If the data
has been processed, i.e., has had interference signals removed, then the appropriate
projection matrix or product of projection matrices is applied to each symbol by
respective multipliers 1603, 1613, 1653 and 1663. The reference vector output from
each selected channel is included as a vector in the interference matrices Si and SQ, 1620
and 1670, respectively. The ordering of the vectors in the S matrices does not matter.
Figures 17A and 17B depict generation of S matrix modules 1700 and 1750
using sign (bit) information from each channel. Each channel has a respective selector
1701, 1711, 1751 and 1761 that determines which symbols (channels) will be removed
from the data signals. If the data has been processed then the appropriate projection
matrix or product of projection matrices is applied to each symbol by respective
multipliers 1703,1713,1753 and 1763. Relative amplitude information is processed by
a respective amplitude module 1705,1715,1755 and 1765 in each channel to determine
the sign of the bit transmitted. The sign information multiplies the symbols in
respective multipliers 1707, 1717, 1757 and 1767. The reference vector output from
each channel is included in the interference matrices Si and SQ, 1720 and 1770,
respectively. The ordering of the vectors does not matter.

Figures 18A and 18B depict generation of S matrix modules 1800 and 1850
using relative amplitude information from each channel in order to use the composite
method of cancellation. Each channel has a respective selector 1801, 1811, 1851 and
1861 that determines which symbols will be removed from the data signals. If the data
has been processed then the appropriate projection matrix or product of projection
matrices is applied to each symbol by respective multipliers 1803,1813,1853 and 1863.
Relative amplitude information is used to scale the result in each channel by respective
multipliers 1805, 1815, 1855 and 1865 by an appropriate amount. The reference vector
output from each channel is added together to form a composite vector by respective
adders 1820 and 1870 for the I and Q channels respectively. The resulting composite
reference vectors are used to construct the SI and SQ interference matrices, 1830 and
1880, respectively.
The methods for constructing S matrices may be combined in the manner of
Figure 12, provided for the cdmaOne embodiment, for example, by combining the
composite method with either the method using bit information or the method using
neither bit nor relative signal amplitude.
The methods and apparatus of the present invention may be applied to other
CDMA communication embodiments, e.g., WCDMA. Moreover, the present invention
may be applied to global positioning systems, radar and optics.
Although the present invention has been fully described in conjunction with the
preferred embodiment thereof with reference to the accompanying drawings, it is to be
understood that various changes and modifications may be apparent to those skilled in
the art. Such changes and modifications are to be understood as included within the
scope of the present invention as defined by the appended claims, unless they depart
therefrom.

WE CLAIM:
1. A serial receiver for a wireless communication system, said communication system
comprising:
a means for receiving a signal y having data parameters;
a control processor for receiving said signal y and said data parameters;
at least two fingers, of which at least one is a search finger and at least one is a
tracking finger; and said control processor being for determining which of said data
parameters are sent to respective fingers;
wherein said tracking finger comprises a correlator and a Coded Signal Processing
Engine (CSPE), said CSPE being for interference cancellation in the reception of said
signal y.
2. The serial receiver for a wireless communication system as claimed in claim 1,
wherein said data parameters are selected from the group consisting of: data streams,
time offsets, projection operators, corresponding interference matrices, power
information, signal amplitude, and signal polarity.
3. The serial receiver for a wireless communication system as claimed in claim 2,
wherein said data streams are at an intermediate frequency (IF).
4. The serial receiver for a wireless communication system as claimed in claim 2,
wherein said data streams are at base-band (BB) frequency.
5. The serial receiver for a wireless communication system as claimed in claim 1,
wherein said control processor has an output selected from the group consisting of: y(k),
a data stream in which k interference signals have been removed; and

a product of projection operators used to remove the k interference signals, wherein

denotes a projection operator, index i denotes a signal number, index j specifies a
number of interference signals that have been removed, and

denotes a product operation acting on projection operators over indices i and j; and
tk, time offset for the kth interference signal.
6. The serial receiver for a wireless communication system as claimed in claim 1,
wherein said search finger receives input from said control processor, said input being an
unprocessed measured segment of data.
7. The serial receiver for a wireless communication system as claimed in claim 1,
wherein said search finger receives an input from said control processor, said input being
selected from the group consisting of: y(k) , a data stream in which k interference signals
have been removed; and

a product of a projection operator used to remove the k interference signals, wherein
denotes a projection operator, index i denotes a signal number, index j specifies a
number of interference signals that have been removed, and

denotes a product operation acting on projection operators over indices i and j.
8. The serial receiver for a wireless communication system as claimed in claim 1,
wherein said search finger generates an output to said tracking finger.

9. The serial receiver for a wireless communication system as claimed in claim 8,
wherein the search finger output is selected from the group consisting of: time offset and
relative power information.
10. The serial receiver for a wireless communication system as claimed in claim 9,
wherein said time offset is a coarse approximation of a time offset for at least one
interfering signal.
11. The serial receiver for a wireless communication system as claimed in claim 1,
wherein said correlator correlates said signal y with a reference signal for S1, where S1 is
the signal of interest.
12. The serial receiver for a wireless communication system as claimed in claim 7,
wherein said correlator correlates said signal y(k) with a reference signal Sn(k).
13. The serial receiver for a wireless communication system as claimed in claim 12,
wherein said reference signal sn(k) is produced by multiplying reference signal sn by k
corresponding projection operators.
14. The serial receiver for a wireless communication system as claimed in claim 12,
wherein said reference signal equivalent to sn(k) is produced by multiplying reference
signal sn by (k-1) corresponding projection operators.
15. The serial receiver for a wireless communication system as claimed in claim 1,
wherein said CSPE comprises: an apparatus for generating a projection operator and
canceling interfering sources from a received signal (y), said signal comprising si a signal
of the source of interest; s1, s2, s3 ..., sp, signals of other interfering sources; and noise
(n); said apparatus having:
means for determining a basis matrix U;
means for storing elements of said basis matrix U; and
means for determining yperp where: yperp=y-U(UTU)-1 UTy.

16. The serial receiver for a wireless communication system as claimed in claim 1, wherein
said CSPE comprises: an apparatus for generating a projection operator and canceling interfering
sources from a received signal (y), said signal comprising Si S1, S2, S3 ..., Sp, signals of other
interfering sources; and noise (n); said apparatus having:
A. means for assigning s1 as a first basis vector u1;
B. means for determining a,-, where uiTu1=σi and ui denotes an ith basis vector;
C. means for storing u1;
D. means for computing inner products of the SI+1 and the u1 through ui vectors;
E. means for multiplying said inner product with a respective scalar 1/σi and
thereby creating a first intermediate product;
F. means for scaling each respective basis vector ui by multiplying each
respective first intermediate product with each respective basis vector ui,
G. means for serially subtracting said intermediate product from si+1;
H. means for utilizing the result from step G and subtracting the next incoming
value of

until all the values are processed;
I. means for obtaining the next basis vector ui+1 from step H;
J. means for comparing ui+1 to a predetermined value and if equal to or less than said
value, going to step O;
K. means for storing ui+1 ;
L. means for determining an inner product of uTi+1ui+1;
M. means for determining the reciprocal of step K which is 1/σi+1;
N. means for storing 1/σi+1;
O. means for incrementing i;
P. means for conducting steps D through O until i=p, where p is the total number of
said sources of interest; and
Q. means for determining yperp where: yperp=y-U(UTU)-1 UTy, where U denotes a
basis matrix comprising one or more basis vectors.


ABSTRACT

A SERIAL RECEIVER FOR A WIRELESS COMMUNICATION SYSTEM
A serial receiver for a wireless communication system is disclosed. The
communication system comprises: a means for receiving a signal y having data parameters; a
control processor; said control processor for receiving said signal y and said data parameters;
at least two fingers, said control processor for determining which of said data parameters are
sent to respective fingers, wherein of said fingers, at least one is a search finger and at least
one is a tracking finger; and wherein said tracking finger comprises a correlator (240) and a
Coded Signal Processing Engine [CSPE] (250), said CSPE for interference cancellation in
the reception of said signal y.

Documents:

753-KOLNP-2004-(15-05-2012)-CORRESPONDENCE.pdf

753-kolnp-2004-abstract.pdf

753-KOLNP-2004-AMANDED CLAIMS.pdf

753-KOLNP-2004-ASSIGNMENT-1.1.pdf

753-kolnp-2004-assignment.pdf

753-kolnp-2004-claims.pdf

753-KOLNP-2004-CORRESPONDENCE 1.2.pdf

753-KOLNP-2004-CORRESPONDENCE-1.1.pdf

753-KOLNP-2004-CORRESPONDENCE-1.3.pdf

753-kolnp-2004-correspondence.pdf

753-kolnp-2004-description (complete).pdf

753-KOLNP-2004-DRAWINGS-1.1.pdf

753-kolnp-2004-drawings.pdf

753-KOLNP-2004-EXAMINATION REPORT 1.1.pdf

753-kolnp-2004-examination report.pdf

753-KOLNP-2004-FORM 1-1.1.pdf

753-KOLNP-2004-FORM 1-1.2.pdf

753-kolnp-2004-form 1.pdf

753-kolnp-2004-form 18.pdf

753-KOLNP-2004-FORM 2.pdf

753-KOLNP-2004-FORM 3 1.1.pdf

753-KOLNP-2004-FORM 3-1.1.pdf

753-kolnp-2004-form 3.pdf

753-KOLNP-2004-FORM 4.pdf

753-KOLNP-2004-FORM 5 1.1.pdf

753-KOLNP-2004-FORM 5-1.1.pdf

753-kolnp-2004-form 5.pdf

753-KOLNP-2004-FORM 6.pdf

753-KOLNP-2004-GPA 1.1.pdf

753-kolnp-2004-gpa.pdf

753-KOLNP-2004-GRANTED-ABSTRACT.pdf

753-kolnp-2004-GRANTED-CLAIMS.pdf

753-KOLNP-2004-GRANTED-DESCRIPTION (COMPLETE).pdf

753-KOLNP-2004-GRANTED-DRAWINGS.pdf

753-KOLNP-2004-GRANTED-FORM 1.pdf

753-KOLNP-2004-GRANTED-FORM 2.pdf

753-kolnp-2004-GRANTED-SPECIFICATION.pdf

753-KOLNP-2004-OTHERS.pdf

753-KOLNP-2004-PA.pdf

753-KOLNP-2004-REPLY TO EXAMINATION REPORT 1.1.pdf

753-kolnp-2004-reply to examination report.pdf

753-kolnp-2004-specification.pdf


Patent Number 254401
Indian Patent Application Number 753/KOLNP/2004
PG Journal Number 44/2012
Publication Date 02-Nov-2012
Grant Date 31-Oct-2012
Date of Filing 03-Jun-2004
Name of Patentee RAMBUS, INC.
Applicant Address 4440 CAMINO REAL, LOS ALTOS, CA 94022, UNITED STATES OF AMERICA
Inventors:
# Inventor's Name Inventor's Address
1 OLSON, ERIC, S. 3565 28TH STREET #102, BOULDER, CO 80301
2 THOMAS, JOHN, K. 290 SKYLANE DRIVE ERIE, CO 80516
3 NARAYAN, ANAND, P. 1950 ATHENS STREET, APARTMENT C, BOULDER, CO 80302
PCT International Classification Number G01S
PCT International Application Number PCT/US2003/00928
PCT International Filing date 2003-01-13
PCT Conventions:
# PCT Application Number Date of Convention Priority Country
1 10/247,836 2002-09-20 U.S.A.
2 60/348,106 2002-01-15 U.S.A.