(This is a followup question to Is this a "valid" CDMA modulation?)

Is it possible to find a CDMA scheme in which the receiver can only have a simple slicer? In other words, for the receiver, the signal should look like an ASK-like signal, i.e. it can detect a bit of 1 (above the average) or a bit of 0 (below the average) but cannot detect signal levels. It also cannot perform despreading in analog domain.

Further explanations:

It seems to me that any CDMA scheme that uses Walsh codes (or PN codes) result inevitably in a signal with multiple levels when the transmissions of multiple stations are summed. For example, even in the simple example from https://en.wikipedia.org/wiki/Code-division_multiple_access#Example, the output signal is $(0, −2, −2, 0, 2, 0, 2, 0)$, consisting of three different signal levels. For demodulation, the receiver needs to sample the signal levels in order to sum them together.

On the contrary, operating in $GF(2)$ seems to preserve the desired signal properties. However, it seems real spectrum spreading is not possible with this method, since only one station would transmit a bit at a given time (and while technically being CDMA, being more time division multiplex, see Is this a "valid" CDMA modulation?)

  • 1
    $\begingroup$ You can use a single slicer for standard CDMA signal (such as GPS)! The SNR penalty for doing so is approximately 2.2 dB depending on the excess noise bandwidth prior to slicing. $\endgroup$ Commented Apr 18, 2020 at 1:06
  • $\begingroup$ Oh that sounds promising. Do you happen to have a pointer for this? $\endgroup$
    – divB
    Commented Apr 18, 2020 at 1:10
  • 1
    $\begingroup$ Sure I’ll give more details as an answer $\endgroup$ Commented Apr 18, 2020 at 1:12

1 Answer 1


Yes you are correct that the reception of multiple CDMA signals from different transmitters tends toward a complex Gaussian distribution given the central limit theorem at play - which is not very different from the thermal noise that a spread spectrum signal may be buried in at reception. Yet this does not preclude us from making a hard decision on each sample at the receiver! So there is no need for a constant envelope CDMA in order to use a simple slicer.

Since CDMA signals are buried in the "noise" of other signals and natural noise, if you take multiple samples and average you can get higher effective precision depending on the number of times you over sample within any symbol interval. Oversampling and averaging in the presence of noise is called "dithering"; as long as there is zero-mean noise present the average will converge to higher precision. (Simple example: consider a 1 bit converter that puts out 0 or 1 based on the input being higher or lower than 0.5. If truth was .25, and if we had a uniform noise distribution on each sample that exceeded +/-0.5, then over many samples we will decide 3 zeros for every 1 zero and the average with be 0.25.)

If you do this simplistically by just increasing your sampling rate, you end up getting an extra $0.5$ bits of precision for every doubling of the sampling rate. See this post for further details: What are advantages of having higher sampling rate of a signal?

Sigma Delta converters do this with noise shaping for even higher gains in precision vs the sampling rate.

Given the reception of CDMA is to correlate by accumulating the results of each sample over long codes before deciding what symbol was actually sent (see How CDMA receiver extract it's corresponding data from the receiving modulated & superposition-ed signal?) , it is not even necessary to oversample to achieve the same effect of averaging by dithering as described above- the noise gets averaged out in the correlation.

This is demonstrated below as applicable to both a standard bi-phase (BPSK) communication and BPSK with CDMA with the descriptions above. In the plot we see a barker code sequence [1 0 1 1 0 1 1 1 0 0 0] which has the desirable property as a PN sequence to not be correlated to shifted versions of itself, which was detailed at the link given above. As transmitted it is either sent as a $+1$ or a $-1$. As received it is corrupted by noise and the histogram of all received signals given a $+1$ was transmitted (blue) or a $-1$ was transmitted (red) is shown on the left. For the samples in the histogram that go beyond the zero-crossing, an error would result when we make a decision on that sample. In standard BPSK communication we are indeed concerned about the errors in every bit, to the amount of that histogram crossing the zero-crossing is a big deal and results in the waterfall curves we get relating BER to SNR (as noise in the SNR is the standard deviation of that histogram related to S which is the average).

Noise with code sequence

HOWEVER notably in CDMA any individual error is of less concern since we are no longer concerned with the individual decisions (hence we will call the individual values in the sequence chips and not bits) but the overall average of our decisions over the complete symbol interval.

Consider the two plots below, which is the same me as our plot above showing a BPSK sequence in high and low SNR conditions. The upper plot with what would result at a higher SNR and a relatively lower error rate on each chip. The bottom plot shows the typical CDMA application where we we receive the signal in the presence of very high noise, including the signals from other CDMA transmitters using other codes (so to us they appear very much as AWGN noise). In this case, the tail showing the distribution of samples that would result in an error on each chip is quite large. However to be clear in CDMA we are capturing lots of samples before making a final decision as to which overall code was transmitted--an individual chip error is not a significant consequence. So in the lower plot as long as we are averaging a very large number of samples before we make our final decision (In GPS there are 1023 chips in each sequence, and we also go through 20 sequences before making a data bit decision, so 20460 samples if we only used one sample per chip) we will still demodulate with a very low error rate.


If that is still confusing consider that we undo the code sequence by multiplying it with the code in the receiver, so if a data symbol of one is desired, the transmitter will send the sequence as [1 -1 1 1 -1 1 1 1 -1 -1 -1], and if a data symbol of of zero is desired the transmitter with send the inverse of the code as [-1 1 -1 -1 1 -1 -1 -1 1 1 1]. Thus we convert the code sequence to all one's for data symbol "one" and all minus one's for data symbol "zero". In the presence of AWGN noise only a simple repetition code would have the same effect.

However to note: A typical bi-phase CDMA signal (such as GPS) given the typical phase, time and frequency offset of the receiver will be equally distributed in AM and PM components. Slicing is equivalent to hard-limiting which removes all AM. You may conclude from this that there would be a 3 dB loss of signal; actual results range from 1.6 to 2.2 dB depending on the excess bandwidth of the receiver prior to slicing (more bandwidth less noise penalty). There is a nice chart showing this in James Spilker's GPS books "Global Position Systems Theory and Practice Volume I and II".

This is illustrated further with the graphic below depicting operation of CDMA in the presence of a non-coherent single-tone jammer where in fact there would be a 3 dB loss in SNR under this condition due to hard-limiting the signal. This helps illustrate the important distinction on the effects of hard limiting a CDMA signal that we would expect to receive with a negative SNR, compared to a traditional BPSK signal that we would expect to receive with a positive SNR.

For high SNR conditions with the signal much larger than the jammer, the diagram on the left shows the signal as received with some arbitrary phase offset (and would also have a carrier offset, so this graphic would be rotating at that offset rate). The fixed phasor represents our signal relative to the jammer that is shown in the smaller phasor rotating with its relative offset in frequency (non-coherent). Here the noise due to the jammer is composed of equal AM and PM components, and with hard limiting we remove all the AM without changing our signal level resulting in a +3 dB improvement in SNR.

For low SNR conditions, the situation is reversed in that our signal is much smaller than our noise which is the typcial case for CDMA operation. So here our signal prior to hard-limiting is the AM and PM components on the single tone jammer. With hard limiting we reduce our signal level 3 dB further relative to the jammer, thus is a loss of 3 dB in SNR.

CDMA with Non-coherent single tone jammer

The other issue with hard-limiting and slicing is vulnerability to coherent jammers. If your receiver is slicing and an intentional jammer is able to send a single tone coherently in phase then then received signal will be an AM only component on top of the jamming signal and will be completely removed. Jamming and interference rejection in general is a high motivation to use higher levels of quantization for CDMA signals; there is little benefit of going beyond 3-4 bits otherwise. So for AJ considerations it is a really bad idea to hard-limit or equivalently slice.

  • $\begingroup$ Hi @Dan Boschen, thank you, this is a great and comprehensive answer and I marked it as solution. However, I think you are making fairly narrow assumptions and I am not sure how valid they are. I ran a simple MATLAB experiment (code: pastebin.com/CVVLKY6F) in which I encode many bits via a $2^B$ Walsh code. I then hard-limit (slice/clip) the resulting summed CDMA signal, de-spread and plot BER vs $B$. This is the result: snipboard.io/Z8AiNs.jpg. While BER decreases with code length, it plateaus and is still 10% for $2^{10}=1024$ length Walsh Code! $\endgroup$
    – divB
    Commented Apr 30, 2020 at 21:29
  • $\begingroup$ There is no thermal noise here. Hence I see this may work as the code length tends to infinite, but I do not see this working out with a practical orthogonal code (say, 16-bit Walsh). Would you be able to elaborate on this a bit? $\endgroup$
    – divB
    Commented Apr 30, 2020 at 21:31
  • $\begingroup$ The noise needn't be "thermal" specifically but we are always operating in the presence of "noise"...For a typical application with a single receiver from multiple transmitters, each of the transmit signals will not be aligned as in your experiment, and will tend toward a Gaussian noise distribution, assuming they are all received at approximately the same signal level, which the system will do through the power control loop. So you have multiple signals at random phase and frequency offsets, which can be equivalently modeled as Gaussian noise with 6+ signals due to the central Limit theorem. $\endgroup$ Commented Apr 30, 2020 at 22:31
  • $\begingroup$ When you say the BER is 10% for a 2^10 Walsh Code-- This doesn't make sense, are you computing the BER of every chip in the Walsh Code or the correlation over the entire sequence (as one symbol) ? $\endgroup$ Commented Apr 30, 2020 at 22:40
  • $\begingroup$ Are you perhaps trying to implement a single transmitter for one to many? This would need to be a complex I Q signal with random phase offsets for each code to do that- but no receiver would be so synchronized from multiple transmitters if that is what you are trying to emulate $\endgroup$ Commented Apr 30, 2020 at 22:57

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.