Data communications system and hybrid time-code multiplexing method
First Claim
Patent Images
1. A method for communicating over a network having a plurality of nodes comprising the steps of:
- generating a plurality of cyclically orthogonal codes, each code being orthogonal and a circularly shifted version of every other one of the cyclically orthogonal codes, and each having an equal number of chips;
generating a set of one or more transmit codes from one or more of the cyclically orthogonal codes, wherein the transmit codes have a greater number of chips than the cyclically orthogonal codes;
generating a plurality of match codes, wherein each transmit code is orthogonal to a first subset of the plurality of match codes and is not orthogonal to a first remainder of the plurality excluding the first subset, and wherein a shift of the transmit code by a predetermined number of chips is orthogonal to a second subset of the plurality of match codes and is not orthogonal to a second remainder of the plurality excluding the second subset;
assigning the set of transmit codes to a first node; and
transmitting information from the first node to a second node using the set of transmit codes such that the information may be recovered using one or more of the match codes.
19 Assignments
0 Petitions
Accused Products
Abstract
A data communications system, particularly suited for shared or wireless communications channels, capable of accommodating terminals having different throughput capabilites by flexibly allocating cyclically rotated phases of a common code is disclosed. One or more shifts of a cyclic orthogonal code are assigned to a terminal. These codes are preferably cyclically padded to increase their tolerance to arbitrary time shifts, and the resulting codes are used to spread the signals for transmission.
120 Citations
67 Claims
-
1. A method for communicating over a network having a plurality of nodes comprising the steps of:
-
generating a plurality of cyclically orthogonal codes, each code being orthogonal and a circularly shifted version of every other one of the cyclically orthogonal codes, and each having an equal number of chips;
generating a set of one or more transmit codes from one or more of the cyclically orthogonal codes, wherein the transmit codes have a greater number of chips than the cyclically orthogonal codes;
generating a plurality of match codes, wherein each transmit code is orthogonal to a first subset of the plurality of match codes and is not orthogonal to a first remainder of the plurality excluding the first subset, and wherein a shift of the transmit code by a predetermined number of chips is orthogonal to a second subset of the plurality of match codes and is not orthogonal to a second remainder of the plurality excluding the second subset;
assigning the set of transmit codes to a first node; and
transmitting information from the first node to a second node using the set of transmit codes such that the information may be recovered using one or more of the match codes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
modulating the information using a first modulation;
combining the modulated information with one of the transmit codes in the set of transmit codes; and
sending the modulated information combined with the transmit code to the second node.
-
-
6. The method of claim 5, wherein the first modulation is a Quadrature Amplitude Modulation.
-
7. The method of claim 5, wherein the first modulation is a Phase Shift Keying modulation.
-
8. The method of claim 5, wherein each of the cyclically orthogonal codes is derived from a ternary sequence.
-
9. The method of claim 5, wherein each of the cyclically orthogonal codes is derived from a row of a circulant-unitary matrix.
-
10. The method of claim 1, further comprising the steps of:
-
determining a set of constellations, each of the constellations include a collection of symbols; and
selecting a constellation within the set of constellations;
wherein the step of transmitting the information includes using the selected constellation to transmit the information.
-
-
11. The method of claim 10, wherein the selecting step includes the substep of chosing a constellation based on a Quality of Service for the information.
-
12. The method of claim 11, further comprising the steps of:
-
selecting a power level for transmitting the information based on the Quality of Service for the information; and
wherein the step of transmitting the information includes the substep of using the selected power level to transmit the information.
-
-
13. The method of claim 1, wherein the step of transmitting the information includes the substep of:
channel pre-coding the information prior to transmitting the information to the second node.
-
14. The method of claim 1, wherein the step of transmitting the information includes the substep of:
encoding the information using forward error correction encoding.
-
15. The method of claim 14, wherein the encoding step includes the substep of
using Reed-Solomon encoding to encode the information. -
16. The method of claim 14, wherein the encoding step includes the substep of
using Turbo encoding to encode the information. -
17. The method of claim 1, wherein the step of transmitting the information includes the substeps of:
-
generating a container including a payload for transmitting user information and a header for transmitting overhead information; and
transmitting the container from the first node to the second node.
-
-
18. The method of claim 17, further comprising the steps of:
-
determining a set of constellations, each constellation including a collection of symbols; and
selecting a constellation within the set of constellations for each container to be transmitted; and
wherein the substep of transmitting the container includes the substep of using the selected constellation to transmit the information; and
wherein different constellations are used for transmitting different containers.
-
-
19. The method of claim 17, wherein the step of transmitting the information includes the substep of:
encoding the information using forward error correction encoding.
-
20. The method of claim 19, wherein the type of forward error correction used is variable for different containers.
-
21. The method of claim 17, wherein the header includes sequences to facilitate one of channel measurements, timing recovery, and packet reassembly.
-
22. The method of claim 1, wherein the step of transmitting the information includes the substeps of:
-
selecting a transmit code from the set of transmit codes;
generating a spread signal using the selected code by performing a fast fourier transform; and
transmitting the generated spread signal.
-
-
23. The method of claim 1, further comprising the steps of:
-
receiving the transmitted information at the second node; and
generating a despread signal at the second node using a fast fourier transform.
-
-
24. The method of claim 1, wherein each of the cyclically orthogonal codes includes a plurality of chips and includes a beginning and an end, wherein the step of generating the set of transmit codes includes the steps of:
-
selecting a cyclically orthogonal code from the plurality of cyclically orthogonal codes; and
generating a transmit code including a plurality of chips using the selected cyclically orthogonal code, the transmit code includes a beginning, a middle, and an end, the beginning of the transmit code includes a plurality of chips from the end of the selected cyclically orthogonal code, the middle of the transmit code includes the selected cyclically orthogonal code, and the end of the transmit code includes a plurality of chips from the beginning of the selected cyclically orthogonal code.
-
-
25. The method of claim 1, further comprising steps of
generating a plurality of header bits; -
generating a plurality of payload bits;
modulating the header bits with a first modulation; and
modulating the payload bits with a second modulation;
wherein the step of transmitting the information includes the substeps of transmitting the modulated the header bits, and transmitting the modulated payload bits.
-
-
26. The method of claim 25, wherein the first modulation is a Phase Shift Keying modulation.
-
27. The method of claim 25, wherein the second modulation is a Quadrature Amplitude Modulation.
-
28. The method of claim 25, wherein the second modulation is a Phase Shift Keying modulation.
-
29. A node for communicating over a network, comprising:
-
means for storing a subset of transmit codes, the subset of transmit codes being derived from a set of cyclically orthogonal codes in which each cyclically orthogonal code in the set of cyclically orthogonal codes is orthogonal to and a circularly shifted version of every other one of the cyclically orthogonal codes in the set of cyclically orthogonal codes, and wherein a transmit code has a greater number of chips than a cyclically orthogonal code; and
means for transmitting information using the subset of transmit codes, wherein the transmitted information can be recovered using one of a plurality of match codes, and wherein each transmit code is orthogonal to a first subset of the plurality of match codes and is not orthogonal to a first remainder of the plurality excluding the first subset, and wherein a shift of the transmit code by a predetermined number of chips is orthogonal to a second subset of the plurality of match codes and is not orthogonal to a second remainder of the plurality excluding the second subset. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56)
means for modulating the information using a first modulation;
means for combining the modulated information with one of the transmit codes in the subset of transmit codes; and
means for transmitting the modulated information combined with the transmit code to the second node.
-
-
34. The node of claim 33, wherein the first modulation is a Quadrature Amplitude Modulation.
-
35. The node of claim 33, wherein the first modulation is a Phase Shift Keying modulation.
-
36. The node of claim 33, wherein each of the cyclically orthogonal codes is derived from a ternary sequence.
-
37. The node of claim 33, wherein each of the cyclically orthogonal codes is derived from a row of a circulant-unitary matrix.
-
38. The node of claim 29 further comprising:
-
means for selecting a constellation within a set of constellations, each of the constellations including a collection of symbols;
wherein the means for transmitting the information includes using the selected constellation to transmit the information.
-
-
39. The node of claim 38, wherein the constellation is selected based on a Quality of Service for the information.
-
40. The node of claim 39, further comprising
means for selecting a power level for transmitting the information based on the Quality of Service for the information; wherein the means for transmitting the information includes means for using the selected power level to transmit the information.
-
41. The node of claim 29, wherein the means for transmitting the information includes:
means for channel pre-coding the information prior to transmitting the information to the second node.
-
42. The node of claim 29, wherein the means for transmitting the information includes:
means for encoding the information using forward error correction encoding.
-
43. The node of claim 42, wherein the means for encoding the information includes means for encoding the information using Reed-Solomon encoding.
-
44. The node of claim 42, wherein the means for encoding the information includes means for encoding the information using Turbo encoding.
-
45. The node of claim 29, further comprising
means for generating a container including a payload for transmitting user information and a header for transmitting overhead information; wherein the means for transmitting the information includes means for transmitting the container.
-
46. The node of claim 45, further comprising
means for selecting a constellation within a set of constellations each constellation including a collection of symbols; -
wherein the means for transmitting the container includes means for using the selected constellation; and
wherein different constellations may be used for transmitting different containers.
-
-
47. The node of claim 45, wherein the means for transmitting the information includes
means for encoding the information using forward error correction encoding. -
48. The node of claim 45, wherein the type of forward error correction used varies for different containers.
-
49. The node of claim 45, wherein the header includes sequences to facilitate one of channel measurements, timing recovery, and packet reassembly.
-
50. The node of claim 29, wherein the means for transmitting the information includes:
-
means for selecting a transmit code from the subset of transmit codes;
means for generating a spread signal using the selected transmit code by performing a fast fourier transform; and
means for transmitting the generated spread signal.
-
-
51. The node of claim 29, further comprising
means for receiving information transmitted by the second node; - and
means for generating a despread signal using a fast fourier transform.
- and
-
52. The node of claim 29, wherein each of the plurality of cyclically orthogonal codes includes a plurality of chips and includes a beginning and an end,
wherein the means for transmitting includes means for using a transmit code, including a plurality of chips, for transmitting the information, wherein the transmit code includes a beginning, a middle, and an end, and wherein beginning of the transmit code includes a plurality of chips from the end of a cyclically orthogonal code selected from the plurality of cyclically orthogonal codes, the middle of the transmit code includes the selected cyclically orthogonal code, and the end of the transmit code includes a plurality of chips from the beginning of the selected cyclically orthogonal code. -
53. The node of claim 29, further comprising
means for generating a plurality of header bits; -
means for generating a plurality of payload bits;
means for modulating the header bits with a first modulation; and
means for modulating the payload bits with a second modulation;
wherein the means for transmitting the information includes means for transmitting the modulated header bits, and means for transmitting the modulated payload bits.
-
-
54. The node of claim 53, wherein the first modulation is Phase Shift Key.
-
55. The node of claim 53, wherein the second modulation is a Quadrature Amplitude Modulation.
-
56. The node of claim 53, wherein the second modulation is a Phase Shift Keying modulation.
-
57. A method for communicating over a network having a plurality of nodes, comprising the steps of:
-
generating a circulant-unitary matrix having a plurality of rows;
selecting a row including a plurality of elements from the circulant-unitary matrix, the row having a beginning and an end;
generating a circularly padded code using the selected row, the circularly padded code including a beginning, a middle, and an end, the beginning of the circularly padded code includes a plurality of elements from the end of the selected row, the middle of the circularly padded code includes the selected row; and
the end of the circularly padded code includes a plurality of elements from the beginning of the selected row; and
transmitting information using the circularly padded code from a first node to a second node using a row of the circulant-unitary matrix. - View Dependent Claims (58, 59)
receiving the transmitted information at the second node; and
recovering the information at the second node using a fast fourier transform.
-
-
59. The method of claim 57, wherein the step of transmitting the information includes the substep of:
combining the row of the circulant-unitary matrix with the information using a fast fourier transform.
-
60. A node for communicating over a network having a plurality of nodes, comprising:
-
means for storing a row of a circulant-unitary matrix wherein each row includes a plurality of elements and includes a beginning and an end; and
means, using a circularly padded code, for transmitting information from the node to a second node using the stored row;
wherein the circularly padded code includes a beginning, a middle, and an end, the beginning of the circularly padded code includes a plurality of elements from the end of a row selected from the circulant-unitary matrix, the middle of the circularly padded code includes the selected row; and
the end of the circularly padded code includes a plurality of elements from the beginning of the selected row.- View Dependent Claims (61, 62)
means for receiving a signal transmitted by the second node; means for recovering information from the received signal using a fast fourier transform.
-
-
62. The node of claim 60, further comprising
means for combining the row of the circulant-unitary matrix with the information using a fast fourier transform.
-
63. A method for communicating over a network having a plurality of nodes comprising the steps of:
-
generating a plurality of cyclically orthogonal codes, each cyclically orthogonal code being orthogonal and a circularly shifted version of every other one of the cyclically orthogonal codes, and each having an equal number of chips;
generating a set of one or more transmit codes from one or more of the cyclically orthogonal codes, wherein the transmit codes have a greater number of chips than the cyclically orthogonal codes;
generating a plurality of match codes, wherein each transmit code is orthogonal to a first subset of the plurality of match codes and is not orthogonal to a first remainder of the plurality excluding the first subset, and wherein a shift of the transmit code by a predetermined number of chips is orthogonal to a second subset of the plurality of match codes and is not orthogonal to a second remainder of the plurality excluding the second subset;
storing the match codes in a first node;
receiving information transmitted from a second node to the first node using the set of transmit codes; and
recovering the transmitted information using one or more of the match codes.
-
-
64. A node for communicating over a network, comprising:
-
means for storing a plurality of match codes, means for receiving information transmitted from a second node using a transmit code, wherein the transmit code is derived from a set of cyclically orthogonal codes in which each cyclically orthogonal code in the set of cyclically orthogonal codes is orthogonal to and a circularly shifted version of every other one of the cyclically orthogonal codes in the set of cyclically orthogonal codes, and wherein the transmit code has a greater number of chips than a cyclically orthogonal code in the set of cyclically orthogonal codes; and
means for recovering the transmitted information using one or more of the match codes, wherein the transmit code is orthogonal to a plurality of the match codes and is not orthogonal to one of the match codes, and wherein a shift of the transmit code by a predetermined number of chips is orthogonal to a plurality of the match codes and is not orthogonal to a different one of the match codes.
-
-
65. A method for communicating between a first node and a second node, comprising the steps of:
-
generating a plurality of match codes, each of the match codes including an equal number of chips;
generating a plurality of transmit codes, each of the transmit codes including a greater number of chips than the number of chips in each match code, each transmit code includes a plurality of subcodes, each subcode includes a plurality of chips equal in number to the number of chips in each match code, and each subcode is orthogonal to all but one of the match codes;
assigning one of the transmit codes to the first node; and
transmitting information from the first node to the second node using the assigned transmit code. - View Dependent Claims (66, 67)
generating a second plurality of match codes, each of the match codes including an equal number of chips to the number of chips in each match code in the first plurality of match codes; generating a second plurality of transmit codes, each of the transmit codes including a greater number of chips than the number of chips in each match code, each transmit code in the second plurality of transmit codes includes a plurality of subcodes, each subcode in each transmit code in the second plurality of transmit codes includes a plurality of chips equal in number to the number of chips in each match code, each subcode in each transmit code in the second plurality of transmit codes is orthogonal to all but one of the match codes in the second plurality of match codes, and each subcode in each transmit code in the second plurality of transmit codes is orthogonal to each of the match codes in the first plurality of match codes;
assigning a transmit code from the second plurality of transmit codes to a third node; and
transmitting information from the third node to the second node using the assigned transmit code.
-
-
67. The method of claim 65, wherein each of the transmit codes is derived from a match code.
Specification