I'm trying to understand the way in which CDMA works. Once the transmitter bit sequence is spread it is modulated for instance using a PSK modulator. Lets assume BPSK is used. I'm particularly interested in the case in which there are 2 transmitters each with its own spread sequence, orthogonal to the other, so they don't mutually interfere . Assuming they both transmit to the same receiver at the same time using the same carrier frequency and BPSK modulation. How is the receiver capable of demodulating the BPSK signal in order to recover the bit sequence from both receivers so it can be passed to the respective de-spread stages where the original messages can be recovered?

To me the transmitters' information is divided in code, but codes can only be separated once they are bits not while they are "pass band symbols", right? And before they can be successfully recovered as bits, isn't there a lot of interference at the BPSK demodulating stage where phases from 2 BPSK carriers are being received at the same time? How can the BPSK demodulator demodulate useful bits under that circumstance?

CDMA diagram

  • $\begingroup$ I believe your confusion is in what you think the "demodulation" process must look like with reference to a traditional BPSK receiver. Can you put a more detailed block diagram up of what you think the receiver looks like specifically with reference to your "BPSK demodulation stage"? From that we can probably help you eliminate your confusion but let's start with what you know. $\endgroup$ Commented Apr 15, 2017 at 1:13
  • $\begingroup$ You're right @Dan Boschen I was confused thinking about a traditional matched filter that compares BPSK symbols where in fact I have to compare the whole sequence of symbols that belong to the spread sequence at once. So instead of symbol by symbol I must perform a "spread sequence" by "spread sequence" analysis. What led me to think wrong about this was the fact that I didn't know that the spread sequence could maintain its good properties of orthogonality after being modulated into pass-band symbols. To me the properties could only be found in base band symbols (bits) $\endgroup$
    – VMMF
    Commented Apr 15, 2017 at 17:18
  • 1
    $\begingroup$ Very good. Yes, after you despread, then you can view the resulting signal as a traditional BPSK signal, although I am not sure if that would lead to good insight into the best demodulation techniques since the two processes are not really separated (a spread spectrum receiver is not really well described as a despreading stage followed by what would appear to be an independent BPSK receiver since chip level sync and carrier recovery effect the despreading so it is a combined operation). $\endgroup$ Commented Apr 15, 2017 at 17:19

1 Answer 1


To me the transmitters' information is divided in code, but codes can only be separated once they are bits not while they are "pass band symbols", right?


I'm not quite sure how to continue this answer, other than saying, "please re-read the CDMA introduction you've been reading".

The whole idea is that you receive a sequence that is a superposition of the two transmit signals, and by correlation with the known spreading sequences, you can extract the bits from that.

Let's put it more mathematical:

Your spreading sequences are called $c_i$.

Orthogonality is defined via the inner product:

$$a \perp b \iff <a, b> = 0 = <b,a>\text{ .}$$

Now, let's assume perfectly orthonormal sequences, so that $<c_i, c_j> = \delta_{ij}$, i.e. the inner product is 1 only if you multiply a sequence with itself, and 0 for any other sequence.

Corollary, the $c$ span a vector space $C$ which contains all linear combinations of CDMA sequences; its dimension is the same as the number of possible sequences, since these per definition are orthogonal (and hence, especially linearly independent) and form a basis.

Now, let's apply the code. You'll take one symbol $s$, in case of BPSK, one bit, represent it as $\{-1,+1\}=S$, and multiply it to get the transmit sequence $t$. You get the set of possible transmit sequences $t_{i,s}$ for user $i$:

$$T_i = \left\{sc_i \,\forall s\in S \right\}= \left\{ -c_i, +c_i\right\}$$

Notice that $T_i$ spans a vector space that has one dimension less than $C$!

Let's now define a receive signal $r$. We don't know what symbols were sent yet, so we say that user $i$ sent symbol $s_i$, and user $j$ sent symbol $s_j$:

$$r = s_ic_i+ s_jc_j$$

Now, we simply consider $r$ to be a sequence of complex numbers.

What happens now if we multiply $r$ with the individual spreading sequences $c$? Let's do it with user $i$'s code:

$$\begin{align} <c_i,r> &= <c_i, s_ic_i+ s_jc_j>&\text{linearity of inner product}\\ &= <c_i, s_ic_i>+ <c_i, s_jc_j>&\text{$s_i$, $s_j$ are scalars}\\ &= s_i <c_i, c_i> + s_j <c_i, c_j>&\text{orthonormality}\\ &= s_i \cdot 1 + s_j \cdot 0\\ &= s_i \end{align}$$

How nice! The same works for every other user, too.

I was a bit pushing the vector space notion here: It's important to realize that all this simply happens due to linear algebra representing our signals. You can now also see why CDMA systems that support a high number of users get slower per user (simply because that dictates a higher number of base vectors of $C$, which dictates a higher dimensionality and thus, longer sequences). Also, it shows that CDMA on this theoretical level works with any linear modulation, since we simply need $S\subset \mathbb C$, i.e. $s$ just needs to be scalar.

  • $\begingroup$ yes. Ok, aside from the channel influence on the receive signal, but we're simply ignoring that here. $\endgroup$ Commented Apr 14, 2017 at 20:46
  • $\begingroup$ So 1) instead of correlating an incoming symbol with either one of the two symbols of BPSK (classic matched filter behavior) I don't do that, I correlate what is incoming with both spread sequences? So 2) what was my previous "symbol time" is now of "spread sequence length" and I analyse the signal in chunks of that length? In the end 3) a spread sequence length will transform into a original transmitter symbol, right? So 4) the only purpose of naming it BPSK is to indicate that in the spreading sequences I'll find 2 different phases and not because there's a traditional BPSK demodulator? $\endgroup$
    – VMMF
    Commented Apr 14, 2017 at 20:49
  • $\begingroup$ 1) hm. What is wrong with first matched filtering? Make an equation, think hard. 2) answered in my answer 3) answered in my answer 4) hm, no? BPSK is what defines your $S$, see the last paragraph of my answer. $\endgroup$ Commented Apr 14, 2017 at 20:51
  • $\begingroup$ Although sarcasm is not the best way to teach, you gave a very good answer and helped me see my mistake. Thanks $\endgroup$
    – VMMF
    Commented Apr 15, 2017 at 17:22

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.