I'm trying to understand why Gold codes and Kasami codes are used instead of pure m-sequences, in direct-sequence spread-spectrum (DSSS) communication systems, to prevent interference between multiple transmitters.

If I understand correctly, Gold codes are defined as the XOR between two m-sequences with different polynomials of the same degree (e.g. one LFSRs based on $p_1(x)$, and another LFSR based on $p_2(x)$ both of degree 20; the LFSR outputs are then XOR'd together), and within one system, multiple transmitters use the same pairs of polynomials but with a different time shift. (Kasami is also an XOR so I guess it's similar.)

How is this better than, say, having a system where all transmitters use m-sequences but each of them uses a different polynomial? (In both cases, the autocorrelation values are higher than the cross-correlation values)

  • 1
    $\begingroup$ because the XOR and shift register stuffs are fast. $\endgroup$
    – AlexTP
    Commented Aug 15, 2017 at 18:17
  • $\begingroup$ both are fast, but why are Gold/Kasami better? $\endgroup$
    – Jason S
    Commented Aug 15, 2017 at 19:15
  • $\begingroup$ Activate and Accesses Processes into the Google Data Kasamai!Thank You! $\endgroup$ Commented Nov 24, 2017 at 4:58

1 Answer 1


There are very few m-sequences of any given length with good cross-correlation properties. Their autocorrelation properties are excellent, but the cross-correlation properties are variable. For example, there are 18 m-sequences of period 127 but to have good cross-correlation properties, one must choose a set of no more than $\require{cancel}\cancel{\text{3}}$ 6 m-sequences out of the 18 available. As a consequence, when several sequences with good cross-correlation properties are needed, one needs to use Gold sequence sets or Kasami sequence sets which have good cross-correlation properties and good (though not excellent) autocorrelation properties.

For more than you probably want to know, I refer you to the paper D.V. Sarwate and M.B. Pursley, "Cross-correlation properties of pseudorandom and related sequences," Proc. IEEE, vol.68, pp.593-619, May 1980. It includes a detailed discussion of the Gold sequences as well as the small sets and large sets of Kasami sequences.

  • $\begingroup$ huh... what happens if you have 4 m-sequences? they have good pairwise cross-correlation properties, but .... ? $\endgroup$
    – Jason S
    Commented Aug 15, 2017 at 19:04
  • 2
    $\begingroup$ I had typos in. my answer. At length 127, the cross-correlation between two m-sequences must have value at least 17. If you choose 6 m-sequences carefully (i.e. not a random selection), the $15 = \binom{6}{2}$ cross-correlations all have maximum value 17. If you add a 7th m-sequence into the set and it doesn't matter which the seventh one is, the new sequence will have cross-correlation at least 41 with one of the original 6 sequences. At longer lengths (up to $2^{15}-1$) there are only smaller subsets of m-sequences that will work, See Table 1 of my paper cited above. $\endgroup$ Commented Aug 15, 2017 at 19:52
  • $\begingroup$ Oh, I see, so the mutually acceptable m-sequences are hard to construct (need very particular subsets of m-sequences with a given length), whereas with Gold sequences they are easy and systematic to construct. $\endgroup$
    – Jason S
    Commented Aug 15, 2017 at 20:01
  • $\begingroup$ are those pairs of m-sequences which have low cross-correlation the same thing as the "preferred pairs" found in your paper + others? $\endgroup$
    – Jason S
    Commented Aug 15, 2017 at 20:17
  • 1
    $\begingroup$ Yes, and the sets of sequences in which each pair is a preferred pair is called a connected set. 6 is the size of the maximal connected set of length 127. $\endgroup$ Commented Aug 15, 2017 at 20:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.