IP Library Granted Patent US 7,203,221
Granted Patent B2
US 7,203,221 · App. 10/099,916 · Granted Apr 10, 2007

Load balancing computational methods in a short-code spread-spectrum communications system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,203,221
App. No.
10/099,916
Granted
Apr 10, 2007
Kind
B2
Abstract

The invention provides methods and apparatus for multiple user detection (MUD) processing that have application, for example, in improving the capacity CDMA and other wireless base stations. One aspect of the invention provides a multiprocessor, multiuser detection system for detecting user transmitted symbols in CDMA short-code spectrum waveforms. A first processing element generates a matrix (hereinafter, “gamma matrix”) that represents a correlation between a short-code associated with one user and those associated with one or more other users. A set of second processing elements generates, e.g., from the gamma matrix, a matrix (hereinafter, “R-matrix”) that represents cross-correlations among user waveforms based on their amplitudes and time lags. A third processing element produces estimates of the user transmitted symbols as a function of the R-matrix.

Claims (481)

1. A method of processing spread spectrum waveforms transmitted by a plurality of users of a spread spectrum system, comprising

distributing among a plurality of logic units parallel tasks each for computing a portion of a matrix indicative of cross correlations among the waveforms transmitted by the users,

partitioning computation of the cross-correlation matrix such that a computational load associated with a task distributed to one of said logic units is substantially equal to computational load associated with another task distributed to another logic unit,

executing with the plurality of logic units the distributed tasks,

generating detection statistics corresponding to symbols transmitted by the users and encoded in the waveforms as a function of the cross correlation matrix, and

generating estimates of the symbols based on the detection statistics.

2. The method of claim 1 , further comprising the step of defining a metric associated with each partition in accord with the relation:

B i =A i −A i−1

wherein

A i represents an area of a portion of the cross-correlation matrix corresponding to the ith partition, and

i represents an index corresponding to the number of logic units.

3. The method of claim 2 , further comprising the step of representing the cross-correlation matrix as a composition of a rectangular component and a triangular component.

4. The method of claim 3 , wherein each area A i includes a first portion corresponding to the rectangular component and a second portion corresponding to the triangular component of the cross-correlation matrix.

5. The method of claim 4 , wherein the step of partitioning the matrix includes selecting the matrix associated with the partitions to be substantially equal.

6. The method of claim 3 , wherein the cross-correlation matrix is computed as a composition of a first component that represents correlations among time lags and code sequences associated with the waveforms transmitted by the users and a second component that represents correlations among multipath signal amplitudes associated with the waveforms transmitted by the users.

7. A method of processing spread spectrum waveforms transmitted by a plurality of users of a spread spectrum system, comprising

partitioning computation of a matrix representing cross-correlations among the waveforms transmitted by the users in accord with a pre-defined metric,

distributing among a plurality of logic units parallel tasks each corresponding to one of said partitions for computing a portion of the matrix,

executing with the plurality of logic units the distributed tasks,

assembling said computed portions to generate the cross-correlation matrix,

representing the cross-correlation matrix as a composition of a first component that represents correlations among time lags and code sequences associated with the waveforms transmitted by the users and a second component that represents correlations among multipath signal amplitudes associated with the waveforms transmitted by the users,

generating detection statistics corresponding to symbols transmitted by the users and encoded in the waveforms as a function of the cross correlation matrix, and

estimating the symbols based on the detection statistics.

8. The method of claim 7 , wherein the step of partitioning comprises defining the metric in accord with the relation:

B i =A i −A i−1

wherein

A i represents an area of a portion of the cross-correlation matrix corresponding to the ith partition, and

i represents an index corresponding to the number of logic units.

9. A method of processing spread spectrum waveforms transmitted by a plurality of users of a spread spectrum system, comprising

partitioning computation of a matrix representing cross-correlations among the waveforms transmitted by the users in accord with a pre-defined metric,

distributing among a plurality of logic units parallel tasks each corresponding to one of said partitions for computing a portion of the matrix,

executing with the plurality of logic units the distributed tasks,

assembling said computed portions to generate the cross-correlation matrix,

representing the cross-correlation matrix as a composition of a first component that represents correlations among time lags and code sequences associated with the waveforms transmitted by the users and a second component that represents correlations among multipath signal amplitudes associated with the waveforms transmitted by the users,

generating detection statistics corresponding to symbols transmitted by the users and encoded in the waveforms as a function of the cross correlation matrix, and

generating estimates of the symbols based on the detection statistics

wherein correlations among the code sequences associated with the respective users are computed in accord with the relation:

Γ

l

k

[

m

]

1

2

N

l

n

=

0

N

-

1

c

l

*

[

n

]

·

c

k

[

n

-

m

]

wherein

Γ lk [m] represents correlation between l and k user codes corresponding to a shift of m chips,

c * l [n] represents complex conjugate of the code sequences associated with the lth user,

c k [n−m] represents the code sequences associated with kth user,

N represents the length of the code, and

N l represent the number of non-zero length of the code.

10. The method of claim 9 , further comprising the step of computing the first component of the cross correlation matrix as a matrix component (herein referred to as C matrix) in accord with the relation:

C

l

k

q

q

·

[

m

]

=

m

g

[

m

N

c

+

τ

]

·

Γ

l

k

[

m

]

wherein

g is a pulse shape vector,

N c is the number of samples per chip,

τ is a time lag, and

Γ lk [m] represents correlation between l and k user codes corresponding to a shift of m chips.

11. The method of claim 10 , further comprising the step of computing the cross-correlation matrix (herein referred to as r matrix) in accord with the relation:

r

lk

[

m

]

=

q

=

1

L

q

=

1

L

R

e

{

a

^

l

q

*

a

k

q

·

C

l

k

q

q

·

[

m

]

}

=

R

e

{

a

l

H

·

C

l

k

[

m

]

·

a

k

}

wherein

â lq * is an estimate of α lq * , which represents a complex conjugate of one multipath amplitude component of the 1 th user,

α kq , is one multipath amplitude component associated with the k th user, and

C denotes the aforesaid C matrix.

12. The method of claim 11 , wherein the step of generating detection statistics comprises computing the detection statistics in accord with the relation:

y

l

[

m

]

=

r

l

l

[

0

]

b

l

[

m

]

+

k

=

1

K

v

r

l

k

[

-

1

]

b

k

[

m

+

1

]

+

k

=

1

K

v

[

r

l

k

[

0

]

-

r

l

l

[

0

]

δ

l

k

]

b

k

[

m

]

+

k

=

1

K

v

r

l

k

[

1

]

b

k

[

m

-

1

]

+

η

l

[

m

]

wherein

y l [m] represents detection statistic for the mth symbol transmitted by the lth user,

r ll [0]b l [m] represents a signal of interest, and

remaining terms of the relations represent Multiple Access Interference (MAI) and noise.

13. The method of claim 12 , wherein the step of generating symbol estimates comprises computing the estimates in accord with the relation:

b

^

l

[

m

]

=

s

i

g

n

{

y

l

[

m

]

-

k

=

1

K

v

r

l

k

[

-

1

]

b

^

k

[

m

+

1

]

-

k

=

1

K

v

[

r

l

k

[

0

]

-

r

l

l

[

0

]

δ

l

k

]

b

^

k

[

m

]

-

k

=

1

K

v

r

l

k

[

1

]

b

^

k

[

m

-

1

]

}

wherein

{circumflex over (b)} l [m] represents an estimate of the mth symbol transmitted by the lth user,

g is a pulse shape vector,

N c is the number of samples per chip,

τ is a time lag, and

Γ represents the Γ matrix.

Assignments (6)
NOTICE OF SUCCESSOR AGENT AND ASSIGNMENT OF SECURITY INTEREST IN REEL/FRAME 038589/0305 Recorded Nov 7, 2025
From: BANK OF AMERICA, N.A., AS PREDECESSOR AGENT
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS SUCCESSOR AGENT
Reel/Frame 073506/0385 →
SECURITY AGREEMENT Recorded May 2, 2016
From: MERCURY SYSTEMS, INC.; MERCURY DEFENSE SYSTEMS, INC.; MICROSEMI CORP.-SECURITY SOLUTIONS; MICROSEMI CORP.-MEMORY AND STORAGE SOLUTIONS
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 038589/0305 →
CHANGE OF NAME Recorded Apr 1, 2016
From: MERCURY COMPUTER SYSTEMS, INC.
To: MERCURY SYSTEMS, INC.
Reel/Frame 038333/0331 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Oct 12, 2012
From: SILICON VALLEY BANK
To: MERCURY COMPUTER SYSTEMS, INC.
Reel/Frame 029119/0355 →
SECURITY AGREEMENT Recorded Feb 20, 2010
From: MERCURY COMPUTER SYSTEMS, INC.
To: SILICON VALLEY BANK
Reel/Frame 023963/0227 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2002
From: OATES, JOHN H.
To: MERCURY COMPUTER SYSTEMS, INC.
Reel/Frame 013130/0242 →