I find it hard to find on the internet a simplified explanation of the principle of operation of the CDMA system. Could you give me an example of how it works and how a receiver can correctly identify a user's message?

Precisely, as I understand it, each user sends a certain message, often called spreading code, which is composed of a series of pulses called chips.

For example, the spreading codes of two users may be:

User 1: 1, 1, -1, -1

User 2: -1, -1.1, -1

I read on the internet that each user has a personal code, which is chosen to ensure orthogonality to avoid interference. However it is not specified which sequences must be orthogonal: orthogonality between the spreading codes, orthogonality between the personal code of a user and those of the other users, orthogonality between the personal code of a user and the spreading codes of other users?

  • \$\begingroup\$ orthogonality between all of those you mentioned. It's quite easy to generate systematically 1000s of orthogonal (or nearly orthogonal, which is good enough for the application) codes, check out Gold code as one way of doing this. I don't know whether any particular CDMA system like IS-95 uses this method, but it's one method, and there others. \$\endgroup\$
    – Neil_UK
    Sep 26, 2019 at 10:31
  • \$\begingroup\$ what must be orthogonal? certainly before the bit-recovery process, the correlation (using analog or DSP methods) must have been performed. For lowest power, where must the correlation be performed? \$\endgroup\$ Sep 26, 2019 at 13:24
  • \$\begingroup\$ Back in the university we have learned this stuff using this textbook: amazon.ca/Computer-Networks-Andrew-S-Tanenbaum-ebook/dp/… And I am not suggesting anything, but I saw some links for downloads around... \$\endgroup\$
    – Eugene Sh.
    Sep 26, 2019 at 13:33

1 Answer 1


Orthogonal (or nearly orthogonal) means essentially that the convolution between two codes does not peak significantly, so someone decoding with a different code will get a low average signal power. From there, you'll probably have to take a math class.


Your Answer

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

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