Claims
- 1. A method of generating an offset sequence comprising acts of:
generating a reference sequence; determining an initial state vector based at least in part on a mask associated with a first offset from the reference sequence; and generating the offset sequence from the first state vector, the offset sequence offset from the reference sequence by the first offset.
- 2. The method of claim 1, wherein the acts of generating the reference sequence and generating the offset sequence include generating the reference sequence and the offset sequence at different phases of a base sequence.
- 3. The method of claim 2, wherein the act of determining the initial state vector includes an act of determining the initial state vector based at least in part on a characteristic polynomial associated with the base sequence.
- 4. The method of claim 3, wherein the act of determining the initial state vector includes an act of multiplying the mask by the characteristic polynomial.
- 5. The method of claim 3, wherein the act of determining the initial state vector includes an act of determining the initial state vector based at least in part on a current state vector associated with the reference sequence.
- 6. The method of claim 2, wherein the act of generating the offset sequence includes an act of generating a plurality of bits of the offset sequence on each iteration, each iteration comprising acts of:
providing i bits of a current state vector as a first portion of the offset sequence, i having a value greater than 1; computing a subsequent state vector advanced at least i states from the current state vector; and updating the current state vector to the subsequent state vector.
- 7. The method of claim 6, wherein the act of computing the subsequent state vector includes computing the subsequent state vector based on the current state vector and a characteristic polynomial associated with the base sequence.
- 8. The method of claim 7, wherein the act of computing the subsequent state vector includes an act of computing the subsequent state vector based on at least one partial state vector associated with the current state vector and a truncated polynomial.
- 9. The method of claim 8, wherein the at least one partial state vector includes a first partial state vector and a second partial state vector and wherein the act of computing the subsequent state vector includes an act of computing a sum of the first partial state vector and a product of the second partial state vector and the truncated polynomial.
- 10. The method of claim 7, wherein i has a value based on an order difference of the characteristic polynomial.
- 11. The method of claim 7, wherein on each iteration, the act of computing a subsequent state vector includes an act of computing an expanded state vector having a number of bits simultaneously available greater than an order difference of the characteristic polynomial.
- 12. The method of claim 7, further comprising an act of expanding the characteristic polynomial to provide an expanded characteristic polynomial.
- 13. The method of claim 12, wherein the act of expanding the characteristic polynomial includes an act of expanding the characteristic polynomial such that an order difference of the expanded characteristic polynomial is greater than an order difference of the characteristic polynomial.
- 14. The method of claim 13, wherein i is equal to the order difference of the expanded characteristic polynomial.
- 15. The method of claim 12, wherein the act of expanding the characteristic polynomial includes at least one of applying coarse polynomial shaping, fine polynomial shaping and one-step polynomial reshaping.
- 16. A computer readable medium encoded with instructions for execution on at least one processor, the instructions, when executed on the at least one processor, performing a method comprising acts of:
generating a reference sequence; determining an initial state vector based at least in part on a mask associated with a first offset from the reference sequence; and generating the offset sequence from the first state vector, the offset sequence offset from the reference sequence by the first offset.
- 17. The computer readable medium of claim 16, wherein the acts of generating the reference sequence and generating the offset sequence include generating the reference sequence and the offset sequence at different phases of a base sequence.
- 18. The computer readable medium of claim 17, wherein the act of determining the initial state vector includes an act of determining the initial state vector based at least in part on a characteristic polynomial associated with the base sequence.
- 19. The computer readable medium of claim 18, wherein the act of determining the initial state vector includes an act of multiplying the mask by the characteristic polynomial.
- 20. The computer readable medium of claim 18, wherein the act of determining the initial state vector includes an act of determining the initial state vector based at least in part on a current state vector associated with the reference sequence.
- 21. The computer readable medium of claim 17, wherein the act of generating the offset sequence includes an act of generating a plurality of bits of the offset sequence on each iteration, each iteration comprising acts of:
providing i bits of a current state vector as a first portion of the offset sequence, i having a value greater than 1; computing a subsequent state vector advanced at least i states from the current state vector; and updating the current state vector to the subsequent state vector.
- 22. The computer readable medium of claim 21, wherein the act of computing the subsequent state vector includes computing the subsequent state vector based on the current state vector and a characteristic polynomial associated with the base sequence.
- 23. The computer readable medium of claim 22, wherein the act of computing the subsequent state vector includes an act of computing the subsequent state vector based on at least one partial state vector associated with the current state vector and a truncated polynomial.
- 24. The computer readable medium of claim 23, wherein the at least one partial state vector includes a first partial state vector and a second partial state vector and wherein the act of computing the subsequent state vector includes an act of computing a sum of the first partial state vector and a product of the second partial state vector and the truncated polynomial.
- 25. The computer readable medium of claim 22, wherein i has a value based on an order difference of the characteristic polynomial.
- 26. The computer readable medium of claim 21, wherein on each iteration, the act of computing a subsequent state vector includes an act of computing an expanded state vector having a number of bits simultaneously available greater than an order difference of a characteristic polynomial associated with the base sequence.
- 27. The computer readable medium of claim 22, further comprising an act of expanding the characteristic polynomial to provide an expanded characteristic polynomial.
- 28. The computer readable medium of claim 27, wherein the act of expanding the characteristic polynomial includes an act of expanding the characteristic polynomial such that an order difference of the expanded characteristic polynomial is greater than an order difference of the characteristic polynomial.
- 29. The computer readable medium of claim 28, wherein i is equal to the order difference of the expanded characteristic polynomial.
- 30. The computer readable medium of claim 27, wherein the act of expanding the characteristic polynomial includes at least one of applying coarse polynomial shaping, fine polynomial shaping and one-step polynomial reshaping.
- 31. A computer readable medium encoded with instructions for execution on at least one processor, the instructions, when executed on the at least one processor, performing a method for use with a sequence generator having a plurality of states, the method comprising acts of:
receiving an input including a mask associated with a first offset of a reference sequence of the sequence generator; and determining a first state of the plurality of states based on the input such that when the first state is applied to the sequence generator, an offset sequence at the first offset from the reference sequence is provided.
- 32. The computer readable medium of claim 31, wherein the act of receiving an input includes an act of receiving an input including a characteristic polynomial associated with the sequence generator.
- 33. The computer readable medium of claim 32, wherein the act of receiving the input includes an act of receiving an input including a current state of the sequence generator associated with the reference sequence.
- 34. The computer readable medium of claim 32, wherein the act of receiving the input includes an act of receiving an input including at least one pre-computed state of the sequence generator.
- 35. The computer readable medium of claim 32, wherein the act of determining one of the plurality of states includes an act of multiplying the characteristic polynomial by the mask.
- 36. The computer readable medium of claim 31, further performing an act of applying the first state to the sequence generator.
- 37. The computer readable medium of claim 36, further comprising an act of generating the offset sequence such that a plurality of bits of the offset sequence are generated on each iteration, each iteration including acts of:
providing i bits of a current state of the sequence generator as a first portion of the offset sequence, i having a value greater than 1; computing a next state of the sequence generator advanced at least i states from the current state; and updating the current state to the next state.
- 38. The computer readable medium of claim 37, wherein the act of computing the next state includes computing the next state based on the current state and a characteristic polynomial associated with the sequence generator.
- 39. The computer readable medium of claim 38, wherein the act of computing the next state includes an act of computing the next state based on at least one partial state vector associated with the current state and a truncated polynomial, the truncated polynomial truncated from the characteristic polynomial.
- 40. The computer readable medium of claim 39, wherein the at least one partial state vector includes a first partial state vector and a second partial state vector and wherein the act of computing the next state includes an act of computing a sum of the first partial state vector and a product of the second partial state vector and the truncated polynomial.
- 41. The computer readable medium of claim 38, wherein i has a value based on an order difference of the characteristic polynomial.
- 42. The computer readable medium of claim 37, wherein on each iteration, the act of computing the next state includes an act of computing an expanded state having a number of bits available that is greater than an order difference of a characteristic polynomial associated with the sequence generator.
- 43. The computer readable medium of claim 41, further comprising an act of expanding the characteristic polynomial to provide an expanded characteristic polynomial.
- 44. The computer readable medium of claim 43, wherein the act of expanding the characteristic polynomial includes an act of expanding the characteristic polynomial such that an order difference of the expanded characteristic polynomial is greater than an order difference of the characteristic polynomial.
- 45. The computer readable medium of claim 44, wherein i is equal to the order difference of the expanded characteristic polynomial.
- 46. The computer readable medium of claim 43, wherein the act of expanding the characteristic polynomial includes at least one of applying coarse polynomial shaping, fine polynomial shaping and one-step polynomial reshaping.
- 47. The computer readable medium of claim 31 in combination with a transceiver, the transceiver comprising:
a memory including the computer readable medium; and a processor coupled to the memory, the processor adapted to execute the instructions encoded on the computer readable medium.
- 48. The combination of claim 47, in further combination with a plurality of transceivers, each of the plurality of transceivers comprising:
a memory including the computer readable medium; and a processor coupled to the memory, the processor adapted to execute the instructions encoded on the computer readable medium.
- 49. The combination of claim 48, wherein at least one of the plurality of transceivers is a base station and wherein the memory includes a plurality of masks assigned to each respective other of the plurality of transceivers.
- 50. The combination of claim 48, wherein the memory of each of the plurality of transceivers includes a respective mask unique from masks of each other of the plurality of transceivers.
- 51. A sequence generator comprising:
a first component having a plurality of states, the first component configured to generate a reference sequence and an offset sequence; and a second component adapted to receive at least one mask associated with an offset from the reference sequence, the second component configured to determine an initial state from the plurality of states based at least in part on the at least one mask such that when the first component is operated from the initial state, the first component generates the offset sequence offset from the reference sequence by the offset.
- 52. The sequence generator of claim 51, wherein the reference sequence and the offset sequence are produced at separate phases of a base sequence.
- 53. The sequence generator of claim 52, wherein when the sequence generator is transitioned through each of the plurality of states, a period of the base sequence is generated.
- 54. The sequence generator of claim 53, wherein the base sequence is a maximal length pseudo noise sequence.
- 55. The sequence generator of claim 51, wherein the second component is adapted to determine the initial state based at least in part on a characteristic polynomial.
- 56. The sequence generator of claim 51, wherein the second component is adapted to determine the initial state based at least in part on a current state of the first component associated with the reference sequence.
- 57. The sequence generator of claim 51, wherein the first component is adapted to simultaneously provide at least two bits of a current state associated with the reference sequence as a portion of the offset sequence.
- 58. The sequence generator of claim 57, wherein the second component is further adapted to compute a next state advanced from the current state by at least two of the plurality of states.
- 59. The sequence generator of claim 58, wherein the number of bits provided simultaneously is equal to the number of states the next state is advanced from the current state.
- 60. The sequence generator of claim 58, wherein at least one of the at least two bits and the at least two states are the same in number as an order difference of a characteristic polynomial associated with the sequence generator.
- 61. The sequence generator of claim 58, wherein the second component is adapted to increase a length of the plurality of states such that the at least two bits of the current state provided as the output sequence is increased in number.
- 62. The sequence generator of claim 58, wherein the second component is adapted to generate an expanded state associated with the current state of the sequence generator associated with the offset sequence, the expanded state having a greater number of bits available simultaneously than each of the plurality of states.
- 63. The sequence generator of claim 62, wherein the expanded state is associated with an expanded characteristic polynomial having an order difference greater than an order difference of a characteristic polynomial associated with the sequence generator.
- 64. The sequence generator of claim 63, wherein the order difference of the expanded characteristic polynomial is increased from the order difference of the characteristic polynomial by applying at least one of course polynomial reshaping, fine polynomial reshaping, and one-step polynomial reshaping.
- 65. The sequence generator of claim 63, wherein the order difference of the expanded characteristic polynomial is a multiple of 8.
- 66. The sequence generator of claim 62, wherein the expanded state vector is determined based on a current state associated with the characteristic polynomial and an expansion operator associated with the characteristic polynomial.
- 67. The sequence generator of claim 51, in combination with a transceiver, the transceiver comprising:
at least one processor coupled to the first component and the second component; a modem coupled to the processor, the modem adapted to modulate and demodulate data with the offset sequence provided by the first component.
- 68. The sequence generator of claim 67, wherein the transceiver further comprises a memory for storing a mask associated with an offset of the reference sequence.
- 69. The sequence generator of claim 51, in combination with a network, the network comprising a plurality of transceivers, each transceiver comprising:
at least one processor coupled to the first component and the second component; a modem coupled to the processor, the modem adapted to modulate and demodulate data with the offset sequence provided by the first component.
- 70. The sequence generator of claim 69, wherein at least one of the plurality of transceivers is a base station, the base station further comprising a memory for storing a plurality of masks associated with each other of the plurality of transceivers.
- 71. A method of generating an output sequence produced by a sequence generator having a plurality of states, the method comprising acts of:
providing at least two bits of a first state of the plurality of states to form a first portion of the output sequence; determining a second state of the plurality of states, the second state advanced from the first state by at least two states; and providing at least two bits of the second state to form a subsequent portion of the output sequence.
- 72. The method of claim 71, wherein the act of determining a second state of the plurality of states is based on the first state and a characteristic polynomial associated with the sequence generator.
- 73. The method of claim 72, wherein the act of determining a second state of the plurality of states is based on at least one partial state associated with the first state and a truncated polynomial associated with the characteristic polynomial.
- 74. The method of claim 71, further comprising an act of increasing in number the at least two bits provided simultaneously as portions of the output sequence by increasing a length of at least one of the plurality of states.
- 75. The method of claim 74, wherein the act of increasing the length of the plurality of states includes determining an expanded state of at least one of the plurality of states based on an expanded characteristic polynomial.
- 76. The method of claim 75, wherein the at least two bits provided as portions of the output sequence are equal in number to an order difference of the expanded characteristic polynomial.
- 77. The method of claim 75, wherein the at least two bits provided as portions of the output sequence is equal in number to a multiple of 8.
- 78. The method of claim 71, further comprising an act of determining the first state from a mask associated with an offset sequence offset from a reference sequence by a first offset, such that when the first state is applied to the sequence generator, the output sequence is provided at the first offset from the reference sequence.
- 79. A sequence generator comprising:
a register for storing a current state vector defining one of a plurality of states, the register adapted to provide at least two bits of the current state vector as an output sequence; and a state generator coupled to the register, the state generator adapted to determine a next state vector advanced from the current state vector by at least two states on each iteration and configured to update the current state vector with the next state vector such that the register provides a next at least two bits of the output sequence on each iteration.
- 80. The sequence generator of claim 79, wherein the sequence generator is configured to generate a base sequence associated with a characteristic polynomial and the state generator is further adapted to determine an initial state vector based at least on a mask, such that when the initial state vector is provided to the register, the output sequence is at a phase of the base sequence corresponding to the mask.
- 81. The sequence generator of claim 80, wherein the at least two bits of the output sequence provided on each iteration are equal in number to an order difference of the characteristic polynomial.
- 82. The sequence generator of claim 79, further comprising a polynomial reshaper adapted to increase a length of at least one of the plurality of states.
- 83. The sequence generator of claim 82, wherein the polynomial reshaper is adapted to determine at least one expanded state vector increased in length from at least one of the plurality of states.
- 84. The sequence generator of claim 83, wherein the at least one expanded state vector is associated with an expanded characteristic polynomial.
- 85. The sequence generator of claim 84, wherein the plurality of bits provided on each iteration has a number equal to an order difference of the expanded characteristic polynomial.
CROSS-REFERENCES TO RELATED APPLICATIONS
[0001] This application claims the benefit under 35 U.S.C. §119(e) of U.S. Provisional Application 60/404,822, filed Aug. 19, 2002, entitled “SOFTWARE PSEUDO-NOISE GENERATION,” by An, and U.S. Provisional Application 60/404,654, filed Aug. 20, 2002, entitled “FAST LFSR ENGINE,” by An. The aforementioned applications are incorporated herein by reference in their entirety.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60404822 |
Aug 2002 |
US |
|
60404654 |
Aug 2002 |
US |