If we have data we need to transmit which is $i$, so we should multiply is using XOR function with spreading code $y$.

How many bits (Maximum and Minimum) should $i$ and $y$ can have ?


1 Answer 1


There's no lower and upper general limits, aside from the fact that you need to transmit at least 1 bit, and that your spreading sequence should be longer than 1.

By the way, you typically apply spreading to symbols, not bits.

Spreading sequences can be binary, but they don't have to be.

So, bits is the wrong unit here; symbols for $i$ would be right, and chips for $y$.

  • $\begingroup$ Thank you so much, Ok noted. I watched the basic of that operation in this link, youtube.com/watch?v=XJ81CuujwYE .. when it says there spreading code, that can be any value ? or it's constant. For example, according to that video, if i have user #1 which is 00, I can give him any spreading code with length =4 , and then continue the process ? or that spreading code is constant for every user ? $\endgroup$ Commented Nov 25, 2018 at 8:07
  • $\begingroup$ I mean the spreading code can be generated randomly or there is a rule for generating them ? $\endgroup$ Commented Nov 25, 2018 at 8:14
  • $\begingroup$ Since we're talking about using codes to multiplex between multiple users: each user needs to have their own code, and the codes must be sufficiently low in cross-correlation so that what was meant for one user doesn't disturb what the other receives. In a perfectly synchronous system, that requirement is fulfilled by orthogonality (in the vector space sense); the problem is actually harder than just finding a set of orthogonal vectors: Typically, such sequences need to still be pretty orthogonal under non-perfect time synchronization, and under some frequency shift. $\endgroup$ Commented Nov 25, 2018 at 10:04
  • $\begingroup$ There's books (in fact, bookshelves, probably) on the design of CDMA systems alone, and I'm pretty sure that you won't need a high level of insight, but take away these points: 1. to perfectly separate $N$ users, you need $N$ orthogonal spreading sequences. If you understand each sequence as a vector: that's an ONB of an $N$-dimensional space. 2. Real-world systems can't be assumed to be perfectly synchronous; you can e.g. see that if you assume that any of the channel realizations used have a significant multipath, then you not only need the orthogonality (from 1), but orthogonality under $\endgroup$ Commented Nov 25, 2018 at 10:08
  • $\begingroup$ time shift. That "very small cross-correlation function for non-zero delays" property is impossible to achieve with the $N$ orthogonal sequences, so trade-offs are made. 3. same goes for any system that experiences Doppler effect and oscillator inaccuracies, i.e. frequency shifts. You need to do a trade off between sequence length (hence, 1/data speed), orthogonality under perfect sync and zero cross- and autocorrelation for zero delay. $\endgroup$ Commented Nov 25, 2018 at 10:11

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.