IP Library Granted Patent US 6,856,945
Granted Patent B2
US 6,856,945 · App. 09/988,219 · Granted Feb 15, 2005

Method and apparatus for implementing projections in singal processing applications

Assignee: TensorComm, Inc.
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 6,856,945
App. No.
09/988,219
Granted
Feb 15, 2005
Kind
B2
Abstract

A novel method and apparatus is provided for enabling the computation of a signal in a certain subspace, its projection that lies outside the subspace, and the orthogonal basis for a given matrix. More particularly, the present invention relates to the use of such a method or apparatus for real-time hardware applications since the method and apparatus may be utilized without matrix inversions or square root computations.

Claims (678)

1. A method for generating a projection of a received signal y, said received signal comprising H, a signal of a source of interest; S, the signals of all other sources and multi-path versions of the source of interest and composed of vectors s 1 , s 2 , s 3 , . . . , s p ; and noise (n); the method comprising the steps of:

determining a basis matrix U composed of basis vectors u 1 , u 2 , . . . u p ;

storing elements of said basis matrix U;

generating a diagonal matrix from stored said elements of the basis matrix U;

generating one or more scalars from the diagonal matrix and from the basis vectors of the basis matrix U; and

applying the one or more scalars to the received signal to project the signal of the source of interest.

2. The method recited in claim 1 , further comprising the step of computing the basis vectors, wherein computing the basis vectors comprises the steps of:

A. assigning s 1 as a first vector of basis matrix U;

B. decomposing s 2 into a component which is in said basis matrix U and a component that is not (u 2 ); and

C. redefining the basis matrix U to incorporate basis vector u 2 .

3. The method recited in claim 2 , wherein said step of computing the basis vectors further comprises the steps of:

repeating steps B and C for each vector of S.

4. The method recited in claim 2 , wherein said step of computing the basis vectors further comprises the steps of:

comparing u i to a predetermined threshold and if u i is greater than said threshold, adding u i to the basis and repeating steps B and C for each vector of S, else ignoring the u i and continuing to repeat steps B and C.

5. The method recited in claim 2 , wherein said step of computing the basis vectors further comprises the steps of:

computing 1/σ i , where u i T u i =σ i ; and

storing u i and 1/σ i .

6. The method recited in claim 2 , wherein said step of computing the basis vectors further comprises the steps of:

computing

u

i

=

s

i

-

u

1

1

σ

1

u

1

T

s

i

-

u

2

1

σ

2

u

2

T

s

i

-

-

u

i

-

1

1

σ

i

-

1

u

i

-

1

T

s

i

;

storing u i and 1/σ i , wherein u i T u i =σ i ; and

repeating said computing and storing steps if u i is above a predetermine threshold, else ignoring this particular u i .

7. The method recited in claim 1 , wherein said step of applying comprises the step of calculating y perp with the following formula:

y

perp

=

y

-

U

[

1

σ

1

0

0

0

1

σ

2

0

0

0

1

σ

p

]

U

T

y

,

wherein y perp is a projected said received signal y, σ i =u i T u i , and u i is a basis vector of U.

8. The method recited in claim 7 , wherein said step of calculating y perp comprises the step of calculating y perp with the following formula:

y

perp

=

y

-

u

1

1

σ

1

u

1

T

y

-

u

2

1

σ

2

u

2

T

y

-

u

p

-

1

1

σ

p

-

1

u

p

-

1

T

y

-

u

p

1

σ

p

u

p

T

y

9. The method recited in claim 8 , further comprising the step of determining

y

s

=

u

1

1

σ

1

u

1

T

y

-

u

2

1

σ

2

u

2

T

y

-

u

p

-

1

1

σ

p

-

1

u

p

-

1

T

y

-

u

p

1

σ

p

u

p

T

y

,

wherein y s is a projected said signal of the source of interest.

10. A method for generating a projection of a received signal y, said received signal comprising H, a spread signal matrix of a source of interest; S, the spread signal matrix of all other sources of interest and composed of vectors s 1 , s 2 , s 3 . . . , s p ; and noise n; the method comprising the steps of:

forming an orthogonal basis U of the matrix S, comprising:

A. assigning s i as a first basis vector u 1 ,

B. determining σ i , where u i T u i =σ i ,

C. storing u i ,

D. computing of inner products of the s i+1 and the u 1 through u i vectors,

E. multiplying said inner product with a respective scalar 1/σ i and thereby creating a first intermediate product,

F. scaling each respective basis vector u i by multiplying each respective first intermediate product with each respective basis vector u i ,

G. obtaining a vector sum from step F,

H. subtracting said vector sum from s i+1 to obtain the next basis vector u i+1 ,

I. comparing u i+1 to a predetermined value and if equal to or less than said value, discarding the u i+1 and going to step N,

J. storing u i+1 ,

K. determining an inner product of u T i+1 u i+1 ,

L. determining the reciprocal of step K which is 1/σ i+1 ,

M. storing 1/σ i+1 ,

N. incrementing i, and

O. conducting steps D through N until i=p, where p is the total number of said sources of interest;

generating a diagonal matrix from stored 1/σ i+1 values;

generating one or more scalars from the diagonal matrix and from the basis vectors of the orthogonal basis U; and

applying the one or more scalars to the received signal to project the source of interest.

11. The method recited in claim 10 , wherein said computing step (D) is conducted in series.

12. The method recited in claim 10 , wherein said computing step (D) is conducted in parallel.

13. The method recited in claim 10 , wherein said multiplying step (E) is conducted in series.

14. The method recited in claim 10 , wherein said multiplying step (E) is conducted in parallel.

15. The method recited in claim 10 , wherein said scaling step (F) is conducted in series.

16. The method recited in claim 10 , wherein said scaling step (F) is conducted in parallel.

17. The method recited in claim 10 , wherein said storing step (C) also stores σ i .

18. The method recited in claim 10 , wherein said storing step (C) also stores 1/σ i .

19. The method recited in claim 10 , wherein said inner product step (K) is conducted in series.

20. The method recited in claim 10 , wherein said inner product step (K) is conducted in parallel.

21. The method recited in claim 10 , further comprising the step of determining

y

s

=

u

1

1

σ

1

u

1

T

y

-

u

2

1

σ

2

u

2

T

y

-

u

p

-

1

1

σ

p

-

1

u

p

-

1

T

y

-

u

p

1

σ

p

u

p

T

y

,

wherein y s is a projected said source of interest.

22. A method for generating a projection of a received signal y, said received signal comprising H, a spread signal matrix of a source of interest; S, the spread signal matrix of all other sources of interest and composed of vectors s 1 , s 2 , s 3 . . . , s p ; and noise (n); the method comprising the steps of:

forming an orthogonal basis U of the matrix S, comprising:

A. assigning s 1 as a first basis vector u 1 ,

B. determining σ i , where u i T u i =σ i ,

C. storing u i ,

D. computing of inner products of the s i+1 and the u 1 through u i vectors,

E. multiplying said inner product with a respective scalar 1/σ i and thereby creating a first intermediate product,

F. scaling each respective basis vector u i by multiplying each respective first intermediate product with each respective basis vector u i ,

G. serially subtracting said intermediate product from s i+1 ,

H. utilizing the result from step G and subtracting the next incoming value of

u

i

1

σ

i

u

i

T

s

i

+

1

until all the values are processed,

I. obtaining the next basis vector u i+1 from step H,

J. comparing u i+1 to a predetermined value and if equal to or less than said value, discarding u i+1 and going to step O,

K. storing u i+1 ,

L. determining an inner product of u T i+1 u i+1 ,

M. determining the reciprocal of step K which is 1/σ i+1 ,

N. storing 1/σ i+1 ,

O. incrementing i, and

P. conducting steps D through O until i=p, where p is the total umber of said sources of interest;

generating a diagonal matrix from stored 1/σ i+1 values;

generating one or more scalars from the diagonal matrix and from the basis vectors of the orthogonal basis U; and

applying the one or more scalars to the received signal to project the source of interest.

23. The method recited in claim 22 , wherein said computing step (D) is conducted in series.

24. The method recited in claim 22 , wherein said computing step (D) is conducted in parallel.

25. The method recited in claim 22 , wherein said multiplying step (E) is conducted in series.

26. The method recited in claim 22 , wherein said multiplying step (E) is conducted in parallel.

27. The method recited in claim 22 , wherein said scaling step (F) is conducted in series.

28. The method recited in claim 22 , wherein said scaling step (F) is conducted in parallel.

29. The method recited in claim 22 , wherein said storing step (C) also stores σ i .

30. The method recited in claim 22 , wherein said storing step (C) also stores 1/σ i .

31. The method recited in claim 22 , wherein said inner product step (L) is conducted in series.

32. The method recited in claim 22 , wherein said inner product step (L) is conducted in parallel.

33. The method recited in claim 22 , further comprising the step of determining

y

s

=

u

1

1

σ

1

u

1

T

y

-

u

2

1

σ

2

u

2

T

y

-

u

p

-

1

1

σ

p

-

1

u

p

-

1

T

y

-

u

p

1

σ

p

u

p

T

y

,

wherein y s is a projected said source of interest.

34. An apparatus for generating a projection of received signal y, said received signal comprising H, a signal of a source of interest; S, the signals of all other sources and composed of vectors s 1 , s 2 , s 3 . . . , s p ; and noise (n); the apparatus comprising:

means for determining a basis vector U;

means for storing elements of said basis vector U; and

means for generating a diagonal matrix from stored said elements of the basis vector U;

means for generating one or more scalars from the diagonal matrix and from the basis vector U; and

means for applying the one or more scalars to the received signal to project the signal of the source of interest.

35. An apparatus for generating a projection of a received signal y, said received signal comprising H, a spread signal matrix of a source of interest; S, the spread signal matrix of all other sources of interest and composed of vectors s 1 , s 2 , s 3 . . . , s p ; and noise (n); the apparatus comprising:

means for forming an orthogonal basis U of the matrix S, comprising:

A. means for assigning s 1 as a first basis vector u i ,

B. means for determining σ i , where u i T u i =σ i ,

C. means for storing u i ,

D. means for computing of inner products of the s i+1 and the u 1 through u i 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 u i by multiplying each respective first intermediate product with each respective basis vector u i ,

G. means for obtaining a vector sum from step F,

H. means for subtracting said vector sum from s i+1 to obtain the next basis vector u i+1 ,

I. means for comparing u i+1 to a predetermined value and if equal to or less than said value, discarding this u i+1 and going to step N,

J. means for storing u i+1 ,

K. means for determining an inner product of u T i+1 u i+1 ,

L. means for determining the reciprocal of step K which is 1/σ i+1 ,

M. means for storing 1/σ i+1 ,

N. means for incrementing i,

O. means for conducting steps D through N until i=p, where p is the total number of said sources of interest;

means for generating a diagonal matrix from stored 1/σ i+1 values;

means for generating one or more scalars from the diagonal matrix and from the basis vectors of the orthogonal basis U; and

means for applying the one or more scalars to the received signal to project the source of interest.

36. An apparatus for generating a projection from a received signal y, said received signal comprising H, a spread signal matrix of a source of interest; S, the spread signal matrix of all other sources of interest and composed of vectors s 1 , s 2 , s 3 . . . , s p ; and noise (n); the apparatus comprising:

means for forming an orthogonal basis U of the matrix S, comprising:

A. means for assigning s 1 as a first basis vector u i ,

B. means for determining σ i , where u i T u i =σ i ,

C. means for storing u i ,

D. means for computing of inner products of the s i+1 and the u 1 through u i 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 u i by multiplying each respective first intermediate product with each respective basis vector u i ,

G. means for serially subtracting said intermediate product from s i+1 ,

H. means for utilizing the result from step G and subtracting the next incoming value of

u

i

1

σ

i

u

i

T

s

i

+

1

until all the values are processed,

I. means for obtaining the next basis vector u i+1 from step H,

J. means for comparing u i+1 to a predetermined value and if equal to or less than said value, going to step O,

K. means for storing u i+1 ,

L. means for determining an inner product of u T i+1 u i+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;

means for generating a diagonal matrix from stored 1/σ i+1 values;

means for generating one or more scalars from the diagonal matrix and from the basis vectors of the orthogonal basis U; and

means for applying the one or more scalars to the received signal to project the source of interest.

37. A method for generating a projection of a received signal y, said received signal comprising H, a signal of a source of interest; S, the signals of all other sources and multi-path versions of the source of interest and composed of vectors s 1 , s 2 , s 3 . . . , s p ; and noise (n); the method comprising the steps of:

determining a basis matrix U composed of basis vectors u 1 , u 2 . . . , u p ;

storing elements of said basis matrix U;

generating a diagonal matrix from stored said elements of the basis matrix U;

generating one or more scalars from the diagonal matrix and from the basis vectors of the basis matrix U;

applying the one or more scalars to the received signal to project the signal of the source of interest: and

determining

y

s

=

u

1

1

σ

1

u

1

T

y

-

u

2

1

σ

2

u

2

T

y

-

u

p

-

1

1

σ

p

-

1

u

p

-

1

T

y

-

u

p

1

σ

p

u

p

T

y

,

wherein y s is a projected said signal of the source of interest.

38. An apparatus for generating a projection from a received signal y, said received signal comprising H, a signal of a source of interest; S, the signals of all other sources and composed of vectors s 1 , s 2 , s 3 . . . , s p ; and noise (n); the apparatus comprising:

means for determining a basis vector U;

means for storing elements of said basis vector U;

means for generating a diagonal matrix from stored said elements of the basis vector U;

means for generating one or more scalars from the diagonal matrix and from the basis vector U;

means for applying the one or more scalars to the received signal to project the signal of the source of interest; and

means for determining

y

s

=

u

1

1

σ

1

u

1

T

y

-

u

2

1

σ

2

u

2

T

y

-

u

p

-

1

1

σ

p

-

1

u

p

-

1

T

y

-

u

p

1

σ

p

u

p

T

y

,

wherein y s is a projected said signal of the source of interest.

39. A system, comprising:

means for generating a first matrix from a received signal, wherein the received signal comprises a plurality of signals;

means for generating a second matrix from the first matrix, wherein the second matrix is a substantially orthogonal basis of the first matrix;

means for storing values used in generating the second matrix;

means for generating a diagonal matrix from stored said values;

means for generating one or more scalars from the diagonal matrix and from the second matrix; and

means for multiplying the one or more scalars to the received signal to project the received signal substantially orthogonal to said plurality of signals.

40. A method, comprising:

generating a first matrix from a received signal, wherein the received signal comprises a plurality of signals;

generating a second matrix from the first matrix, wherein the second matrix is a substantially orthogonal basis of the first matrix;

storing values used in generating the second matrix;

generating a diagonal matrix from stored said values;

generating one or more scalars from the diagonal matrix and from the second matrix; and

multiplying the one or more scalars to the received signal to project the received signal substantially orthogonal to said plurality of signals.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 9, 2014
From: RAMBUS INC.
To: III HOLDINGS 1, LLC
Reel/Frame 032642/0115 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE INFORMATION PREVIOUSLY RECORDED ON REEL 024202 FRAME 0630. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 19, 2010
From: TENSORCOMM, INC.
To: RAMBUS INC.
Reel/Frame 024706/0648 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 9, 2010
From: TENSORCOMM, INC.
To: RAMBUS, INC.
Reel/Frame 024202/0630 →
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION NUMBER PREVIOUSLY RECORDED ON REEL 012314 FRAME 0817. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 8, 2010
From: THOMAS, JOHN; NARAYAN, ANAND
To: TENSORCOMM, INC.
Reel/Frame 024202/0408 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2001
From: THOMAS, JOHN K.; NARAYAN, ANAND P.
To: TENSORCOMM INC.
Reel/Frame 012314/0817 →
Continuity (4)
Provisional Application 6032619900 · Oct 2, 2001
Provisional Application 6032521500 · Sep 28, 2001
Provisional Application 6025143200 · Dec 4, 2000
Related Publication 20040030534A1 · Feb 12, 2004