Why are Gold codes and Kasami codes used instead of pure m-sequences?

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)

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

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.
• 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. – Dilip Sarwate Aug 15 '17 at 19:52