Asymmetric orthogonal codes for wireless system receivers with multiplication-free correlators
DCFirst Claim
Patent Images
1. A system for processing a signal in a wireless network, comprising:
- a transmitter configured to select at least one spreading code from a spreading matrix, spread a signal using the at least one spreading code, and transmit the spread signal through the wireless network; and
a receiver configured to select at least one despreading code from a despreading matrix, the despreading matrix being an inverse of the spreading matrix, despread the transmitted signal using the at least one despreading code, and process the despread signal.
8 Assignments
Litigations
0 Petitions
Accused Products
Abstract
A method includes receiving a transmitted signal and generating an orthogonal despreading code that is different than the code used to spread the transmitted signal. The method then despreads the received signal using the orthogonal despreading code. By using a code to despread the received signal that is different than the code used to spread the signal, the overall interference in the system (100) can be reduced.
-
Citations
47 Claims
-
1. A system for processing a signal in a wireless network, comprising:
-
a transmitter configured to select at least one spreading code from a spreading matrix, spread a signal using the at least one spreading code, and transmit the spread signal through the wireless network; and
a receiver configured to select at least one despreading code from a despreading matrix, the despreading matrix being an inverse of the spreading matrix, despread the transmitted signal using the at least one despreading code, and process the despread signal. - View Dependent Claims (2, 3, 4, 6, 7, 8, 9, 10, 11)
select the spreading code from a row of the spreading matrix, and wherein, when selecting, the receiver is configured to;
select the despreading code from a column of the despreading matrix.
-
-
3. The system of claim 1 wherein the spreading and despreading matrices are of a square form.
-
4. The system of claim 3 wherein a row of the spreading matrix is a circular cyclic shift of a preceding row.
-
6. The system of claim 1 wherein the spreading and despreading matrices are of a rectangular or square and not invertible form.
-
7. The system of claim 6 wherein the despreading matrix is a pseudo inverse of the spreading matrix.
-
8. The system of claim 1 wherein the spreading matrix is an arbitrary matrix of complex numbers.
-
9. The system of claim 1 wherein the despreading matrix contains only 1'"'"'s and 0'"'"'s.
-
10. The system of claim 9 wherein, when despreading, the receiver is configured to:
-
select portions of the spread signal in those positions where the at least one despreading code contains a 1; and
add the selected portions.
-
-
11. The system of claim 1 wherein the spreading matrix is a rectangular matrix having at least one square sub-matrix, the at least one square sub-matrix having rows of codes that are circular cyclic shifts of one another.
-
5. The system of clam 4 wherein a column of the despreading matrix is a circular cyclic shift of a preceding column.
-
12. A system for processing signals in a wireless network, comprising:
-
means for selecting a plurality of spreading codes from a spreading matrix;
means for spreading the signals using the plurality of spreading codes;
means for transmitting the spread signals through the wireless network;
means for selecting despreading codes from a despreading matrix, the despreading matrix being an inverse of the spreading matrix;
means for despreading the transmitted signals using the at least one despreading code; and
means for processing the despread signals.
-
-
13. A method for processing a signal in a wireless network, comprising:
-
spreading a signal using one or more spreading codes from a spreading matrix;
transmitting the spread signal through the wireless network;
despreading the transmitted signal using one or more despreading codes from a despreading matrix, the despreading matrix being an inverse of the spreading matrix; and
processing the despread signal. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22)
selecting the one or more spreading codes from rows of the spreading matrix; and
selecting the one or more despreading codes from columns of the despreading matrix.
-
-
15. The method of claim 13 wherein the spreading and despreading matrices are square matrices.
-
16. The method of claim 15 wherein a row of the spreading matrix is a circular cyclic shift of a preceding row of the spreading matrix.
-
17. The method of claim 13 wherein the spreading matrix is a rectangular or square, but not invertible, matrix.
-
18. The method of claim 17 wherein the despreading matrix is a pseudo inverse of the spreading matrix.
-
19. The method of claim 13 wherein the spreading matrix is an arbitrary matrix of complex numbers.
-
20. The method of claim 13 wherein the despreading matrix contains only 1'"'"'s and 0'"'"'s.
-
21. The method of claim 20 wherein the despreading includes:
-
selecting portions of the spread signal in those positions where the one or more despreading codes contain a 1, and adding the selected portions.
-
-
22. The method of claim 13 wherein the spreading matrix is a rectangular matrix having at least one square sub-matrix, the at least one square sub-matrix having rows of codes that are circular cyclic shifts of one another.
-
23. A method for processing signals transmitted in a wireless communication system, the method comprising:
-
receiving a transmitted signal;
generating at least one orthogonal despreading code, the at least one orthogonal despreading code being different than a code used to spread the transmitted signal, the spreading code being a row of a spreading matrix of complex numbers;
despreading the received signal using the at least one orthogonal despreading code; and
processing the despread signal. - View Dependent Claims (24, 25, 26, 27)
inverting the spreading matrix to create a despreading matrix, selecting the at least one despreading code from a column of the despreading matrix that corresponds to the row of the spreading matrix, and normalizing the selected despreading code.
-
-
25. The method of claim 23 wherein the spreading matrix is one of a rectangular and a square, but not invertible, matrix and wherein the generating includes:
-
pseudo-inverting the spreading matrix to create a despreading matrix, selecting the at least one despreading code from a column of the despreading matrix that corresponds to the row of the spreading matrix, and normalizing the selected despreading code.
-
-
26. The method of claim 23 wherein the generating at least one orthogonal despreading code generates a despreading code that contains only 1'"'"'s and 0'"'"'s.
-
27. The method of claim 26 wherein the despreading comprises:
-
selecting portions of the transmitted signal in those positions where the at least one despreading code contains a 1; and
adding the selected portions.
-
-
28. A receiver having an antenna that receives a signal transmitted in a wireless communication network, the receiver comprising:
-
a despreading code generator configured to generate at least one orthogonal despreading code, the at least one orthogonal despreading code being different than a code used to spread the transmitted signal, the spreading code being a row of a spreading matrix; and
a correlator configured to receive the transmitted signal and the at least one orthogonal despreading code, and despread the received signal using the at least one orthogonal despreading code. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35)
invert the spreading matrix to form a despreading matrix, select the at least one orthogonal despreading code from a column of the despreading matrix, and normalize the selected despreading code.
-
-
31. The receiver of claim 28 wherein the despreading matrix is a square matrix where each row is a circular cyclic shift of a previous row.
-
32. The receiver of claim 28 wherein the despreading matrix is a rectangular matrix having at least one square sub-matrix, the at least one square sub-matrix having rows of codes that are circular cyclic shifts of one another.
-
33. The receiver of claim 28 wherein the spreading matrix is one of a rectangular and square, but not invertible, matrix and wherein, when generating, the despreading code generator is configured to:
-
pseudo-invert the spreading matrix to form a despreading matrix, select the at least one orthogonal despreading code from a column of the despreading matrix, and normalize the selected despreading code.
-
-
34. The receiver of claim 28 wherein, when generating, the despreading code generator is configured to:
generate the at least one orthogonal despreading code such that the despreading code contains only 1'"'"'s and 0'"'"'s.
-
35. The receiver of claim 34 wherein, when despreading, the correlator is configured to:
-
select portions of the received signal in those positions where the at least one orthogonal despreading code contains a 1, and add the selected portions.
-
-
36. A system comprising:
-
a first transmitter configured to generate a spreading code matrix, rows of the spreading code matrix corresponding to different spreading codes, allocate a first group of spreading codes in the spreading code matrix to a first signal to be transmitted, spread the first signal using the first group of spreading codes, and transmit the spread first signal; and
a second transmitter configured to generate the spreading code matrix, allocate a second different group of spreading codes in the spreading code matrix to a second signal to be transmitted, the second different group being allocated such that a third group of unassigned spreading codes is located between the allocated first group and second different group of spreading codes, spread the second signal using the second different group of spreading codes, and transmit the spread second signal. - View Dependent Claims (37, 38, 39, 40)
-
-
41. A method for transmitting signals, comprising:
-
generating a spreading code matrix, rows of the spreading code matrix corresponding to different spreading codes;
assigning a first group of spreading codes in the spreading code matrix to a first signal to be transmitted;
assigning a second different group of spreading codes in the spreading code matrix to a second signal to be transmitted, the second different group being assigned such that a third group of unassigned spreading codes is located between the assigned first group and second different group of spreading codes;
spreading the first signal using the first group of spreading codes;
spreading the second signal using the second different group of spreading codes; and
transmitting the first and second spread signals. - View Dependent Claims (42, 43, 44, 45)
assigning the second different group of spreading codes such that a number of spreading codes in the third group corresponds to a time synchronization uncertainty factor.
-
-
43. The method of claim 41 further comprising:
circularly extending, prior to assigning, the spreading code matrix.
-
44. The method of claim 41 wherein the spreading code matrix is a rectangular matrix having one or more square sub-matrices, the one or more square sub-matrices having rows of codes that are circular cyclic shifts of one another.
-
45. The system of claim 41 wherein the spreading code matrix is a square matrix, and wherein each row of the spreading code matrix is a circular cyclic shift of a preceding row.
-
46. In a network including at least one transmitter that generates a spreading matrix, the spreading matrix having a plurality of spreading codes, spreads signals using at least one spreading code from the spreading matrix, and transmits the spread signals, and a receiver that the receives the transmitted spread signals, the receiver comprising:
-
a memory configured to store instructions for generating a despreading matrix, the despreading matrix being an inverse of the spreading matrix and having a plurality of despreading codes, selecting at least one despreading code from the despreading matrix, and despreading the received signals using the at least one despreading code; and
a processor configured to execute the instructions in the memory.
-
-
47. In a network including a transmitter that transmits signals to one or more receivers, the transmitter comprising:
-
a memory configured to store instructions for generating a spreading code matrix that contains a plurality of spreading codes, allocating a first group of spreading codes in the spreading code matrix to a first signal to be transmitted, for allocating a second different group to spreading codes in the spreading code matrix to a second signal to be transmitted, the second different group being allocated such that a third group of unassigned spreading codes is located between the allocated first group and second group of spreading codes, for spreading the first signal using the first group of spreading codes, for spreading the second signal using the second different group of spreading codes, and for transmitting the first and second spread signals; and
a processor configured to execute the instructions in the memory.
-
Specification