Gold code

A Gold code, also known as Gold sequence, is a type of binary sequence, used in telecommunication (CDMA) and satellite navigation (GPS). Gold codes are named after Robert Gold. Gold codes have bounded small cross-correlations within a set, which is useful when multiple devices are broadcasting in the same frequency range. A set of Gold code sequences consists of 2n + 1 sequences each one with a period of 2n &minus; 1.

A set of Gold codes can be generated with the following steps. Pick two maximum length sequences of the same length 2n &minus; 1 such that their absolute cross-correlation is less than or equal to 2(n+2)/2, where n is the size of the linear-feedback shift register used to generate the maximum length sequence (Gold '67). The set of the 2n &minus; 1 exclusive-ors of the two sequences in their various phases (i.e. translated into all relative positions) together with the two maximum length sequences form a set of 2n + 1 Gold code sequences. The highest absolute cross-correlation in this set of codes is 2(n+2)/2 + 1 for even n and 2(n+1)/2 + 1 for odd n.

The exclusive or of two different Gold codes from the same set is another Gold code in some phase.

Within a set of Gold codes about half of the codes are balanced – the number of ones and zeros differs by only one.

Gold codes are used in GPS. The GPS C/A ranging codes are Gold codes of period 1,023.