Golay-code generation
A Golay-code generator configured for generating Golay complementary code pairs comprises a sequence of delay elements configured for providing a predetermined set of fixed delays to at least a first input signal and a sequence of adaptable seed vector insertion elements configured for multiplying at least a second input signal by a variable seed vector, wherein each of a plurality of seed vectors corresponds to at least one predetermined piconet. The Golay-code generator may further comprise multiplexers configured for switching inputs and outputs of at least two delay elements in the sequence of delay elements to produce a plurality of compatible delay vectors. The Golay-code generator may further comprise a code-truncation module configured to shorten the Golay complementary code pairs for producing a plurality of daughter codes.
1. An apparatus for generating at least one Golay complementary code pair comprising:
a sequence of delay elements configured to delay at least a first input signal,
a sequence of adaptable seed vector insertion elements configured to multiply at least a second input signal by at least one of a plurality of seed vectors corresponding to at least one piconet, and to set at least one element of the at least one of the plurality of seed vectors to zero,
a plurality of combiners configured to combine the delayed at least first input signal and the multiplied at least second input signal to produce the at least one Golay complementary code pair, and
a code-truncation module configured to shorten the at least one Golay complementary code pair to produce a plurality of daughter codes.
2. The apparatus recited in claim 1 configured to process a Dirac impulse as the first and second input signals.
3. The apparatus recited in claim 1 wherein the at least one Golay complementary code pair comprises a plurality of codes having a periodic cross correlation less than 16 and a periodic autocorrelation function with a main correlation peak and no side lobes around the main correlation peak.
4. The apparatus recited in claim 1 , wherein the sequence of adaptable seed vector insertion elements is configured to generate all Golay code pairs for a set of piconets.
5. The apparatus recited in claim 1 , wherein the at least one Golay complementary code pair comprises mother codes.
6. The apparatus recited in claim 1 , wherein the sequence of adaptable seed vector insertion elements is configured to generate at least one of a set of seed vectors, the set comprising binary-valued seed vectors and complex-valued seed vectors.
7. A method for generating at least one Golay complementary code pair, the method comprising:
delaying at least a first input signal with respect to a delay profile,
multiplying at least a second input signal by at least one of a plurality of seed vectors corresponding to at least one piconet,
setting at least one element of the at least one of the plurality of seed vectors to zero,
combining the delayed at least first input signal and the multiplied at least second input signal to produce the at least one Golay complementary code pair, and
shortening the at least one Golay complementary code pair to produce a plurality of daughter codes.
8. The method recited in claim 7 configured to process a Dirac impulse as the first and second input signals.
9. The method recited in claim 7 , wherein the at least one Golay complementary code pair comprises a plurality of codes having a periodic cross correlation less than 16 and a periodic autocorrelation function with a main correlation peak and no side lobes around the main correlation peak.
10. The method recited in claim 7 , wherein multiplying the at least second input signal by the at least one of a plurality of seed vectors comprises generating a plurality of Golay-code pairs for a set of piconets.
11. The method recited in claim 7 , wherein the at least one Golay complementary code pair comprises mother codes.
12. The method recited in claim 7 , wherein multiplying the at least second input signal by the at least one of a plurality of seed vectors comprises generating at least one of a set of seed vectors, the set comprising binary-valued seed vectors and complex-valued seed vectors.
13. An apparatus for generating Golay complementary code pairs comprising:
a sequence of delay elements configured to delay at least a first input signal,
a set of seed vector insertion elements configured to multiply at least a second input signal by at least one of a plurality of seed vectors corresponding to at least one piconet,
a plurality of combiners configured to combine the delayed at least first input signal and the multiplied at least second input signal to produce the Golay complementary code pairs, and
a plurality of multiplexers configured to switch inputs and outputs of at least two delay elements in the sequence of delay elements to produce a plurality of compatible delay vectors.
14. A method for generating Golay complementary code pairs, the method comprising:
delaying at least a first input signal with respect to at least one of a set of compatible delay vectors using a sequence of delay elements,
multiplying at least a second input signal by at least one of a plurality of seed vectors corresponding to at least one piconet,
combining the delayed at least first input signal and the multiplied at least second input signal to produce the Golay code complementary code pairs, and
switching inputs and outputs of at least two delay elements in the sequence of delay elements to select at least one of the set of compatible delay vectors.
15. A matched filter for processing Golay complementary code pairs, the matched filter comprising:
a plurality of Golay processing elements, each of the processing elements comprising:
at least one delay element configured to delay at least a first input signal,
a set of seed vector insertion elements configured to multiply at least a second input signal by a plurality of seed-vector values for producing at least one of a plurality of scaled input signal values,
at least a first multiplexer coupled to the set of seed vector insertion elements, the at least first multiplexer configured to select the at least one of the plurality of scaled input signal values, and
at least a second multiplexer comprising a plurality of inputs coupled to the at least one delay element and the at least first multiplexer, the at least second multiplexer configured to select at least one of the plurality of inputs in response to at least one code length of the Golay complementary code pairs.
16. The matched filter recited in claim 15 , configured to process at least one of a set of codes, the set comprising same-length codes and different-length codes.
17. A matched-filtering method for processing Golay complementary code pairs, the method comprising:
delaying at least a first input signal,
multiplying at least a second input signal by a plurality of seed-vector values for producing at least one of a plurality of scaled input signal values,
selecting the at least one of the plurality of scaled input signal values, and
selecting at least one of the delayed at least first input signal and the selected at least one of the plurality of scaled input signal values in response to at least one code length of the Golay complementary code pairs.
18. The method recited in claim 17 , wherein the Golay complementary code pairs comprise at least one of a set of codes, the set comprising a binary code and a complex code.
19. An apparatus for generating at least one Golay complementary code pair comprising:
means for delaying an input signal with respect to a fixed delay profile, and
means for adaptively employing at least one of a plurality of seed vectors corresponding to at least one predetermined piconet.
20. A computer readable storage media comprising instructions executable to cause an apparatus to generate at least one Golay complementary code pair by:
delaying an input signal with respect to a fixed delay profile, and
adaptively employing at least one of a plurality of seed vectors corresponding to at least one predetermined piconet.
21. An apparatus for generating Golay complementary code pairs comprising:
means for delaying an input signal with respect to at least one of a set of compatible delay vectors,
means for employing at least one of a plurality of seed vectors corresponding to at least one predetermined piconet, and
means for switching inputs and outputs of at least two delay elements in a sequence of delay elements to select at least one of the set of compatible delay vectors.
22. A computer readable storage media comprising instructions executable to cause an apparatus to generate Golay complementary code pairs by:
delaying an input signal with respect to at least one of a set of compatible delay vectors,
employing at least one of a plurality of seed vectors corresponding to at least one predetermined piconet, and
switching inputs and outputs of at least two delay elements in a sequence of delay elements to select at least one of the set of compatible delay vectors.
23. An apparatus for processing Golay complementary code pairs comprising:
means for delaying at least a first input signal,
means for multiplying at least a second input signal by a plurality of seed-vector values for producing at least one of a plurality of scaled input signal values,
means for selecting the at least one of the plurality of scaled input signal values, and
means for being responsive to at least one code length of the Golay complementary code pairs.
24. A computer readable storage media comprising instructions executable to cause an apparatus to process Golay complementary code pairs by:
delaying at least a first input signal,
multiplying at least a second input signal by a plurality of seed-vector values for producing at least one of a plurality of scaled input signal values,
selecting the at least one of the plurality of scaled input signal values, and
being responsive to at least one code length of the Golay complementary code pairs.