Introduction to CDMA

by Michael Hendry

This paper provides an introduction to Code Division Multiple Access (CDMA) communications, covering a Radio Carrier Station (RCS) and a Fixed Subscriber Unit (FSU).

This introduction to CDMA proceeds heuristically, we use very little mathematics in developing the theories, and do not assume a deep mathematical or engineering background. If you would like further information on the math and communication theories behind this introduction, please consult the following references:

Viterbi, A. CDMA: Principles of Spread Spectrum Communication Addison-Wesley Wireless Communications Series, 1995

Pickholtz, R. L., Schilling, D. L., and Milstein, L. B. “Theory of Spread-Spectrum Communications—A Tutorial” IEEE Trans. Commun., vol. COM30, no. 5, May 1982, pp 855-884.

Pickholtz, R. L., Schilling, D. L., and Milstein, L. B. Revisions to “Theory of Spread-Spectrum Communications—A Tutorial” IEEE Trans. Commun., vol. COM32, no. 2, Feb 1984, pp 211-212.


Introduction to Spread Spectrum Communications

CDMA is a form of Direct Sequence Spread Spectrum communications. In general, Spread Spectrum communications is distinguished by three key elements:

1. The signal occupies a bandwidth much greater than that which is necessary to send the information. This results in many benefits, such as immunity to interference and jamming and multi-user access, which we’ll discuss later on.

2. The bandwidth is spread by means of a code which is independent of the data. The independence of the code distinguishes this from standard modulation schemes in which the data modulation will always spread the spectrum somewhat.

3. The receiver synchronizes to the code to recover the data. The use of an independent code and synchronous reception allows multiple users to access the same frequency band at the same time.

In order to protect the signal, the code used is pseudo-random. It appears random, but is actually deterministic, so that the receiver can reconstruct the code for synchronous detection. This pseudo-random code is also called pseudo-noise (PN).

700132

Figure 1. Direct Sequence Spread Spectrum System

Three Types of Spread Spectrum Communications

There are three ways to spread the bandwidth of the signal:

Direct Sequence Spread Spectrum

CDMA is a Direct Sequence Spread Spectrum system. The CDMA system works directly on 64 kbit/sec digital signals. These signals can be digitized voice, ISDN channels, modem data, etc.

Figure 1 shows a simplified Direct Sequence Spread Spectrum system. For clarity, the figure shows one channel operating in one direction only.

Signal transmission consists of the following steps:

1. A pseudo-random code is generated, different for each channel and each successive connection.

2. The Information data modulates the pseudo-random code (the Information data is “spread”).

3. The resulting signal modulates a carrier.

4. The modulated carrier is amplified and broadcast.

Signal reception consists of the following steps:

1. The carrier is received and amplified.

2. The received signal is mixed with a local carrier to recover the spread digital signal.

3. A pseudo-random code is generated, matching the anticipated signal.

4. The receiver acquires the received code and phase locks its own code to it.

5. The received signal is correlated with the generated code, extracting the Information data.


Implementing CDMA Technology

The following sections describe how a system might implement the steps illustrated in Figure 1.

Input data

CDMA works on Information data from several possible sources, such as digitized voice or ISDN channels. Data rates can vary, here are some examples:

Data Source

Data Rate

Voice

Pulse Code Modulation (PCM)

64 kBits/sec

Adaptive Differential Pulse Code Modulation (ADPCM)

32 kBits/sec

Low Delay Code Excited Linear Prediction (LD-CELP)

16 kBits/sec

ISDN

Bearer Channel (B-Channel)

64 kBits/sec

Data Channel (D-Channel)

16 kBits/sec

The system works with 64 kBits/sec data, but can accept input rates of 8, 16, 32, or 64 kBits/sec. Inputs of less than 64 kBits/sec are padded with extra bits to bring them up to 64 kBits/sec.

For inputs of 8, 16, 32, or 64 kBits/sec, the system applies Forward Error Correction (FEC) coding, which doubles the bit rate, up to 128 kbits/sec. The Complex Modulation scheme (which we’ll discuss in more detail later), transmits two bits at a time, in two bit symbols. For inputs of less than 64 kbits/sec, each symbol is repeated to bring the transmission rate up to 64 kilosymbols/sec. Each component of the complex signal carries one bit of the two bit symbol, at 64 kBits/sec, as shown below.


Generating Pseudo-Random Codes

For each channel the base station generates a unique code that changes for every connection. The base station adds together all the coded transmissions for every subscriber. The subscriber unit correctly generates its own matching code and uses it to extract the appropriate signals. Note that each subscriber uses several independant channels.

In order for all this to occur, the pseudo-random code must have the following properties:

1. It must be deterministic. The subscriber station must be able to independently generate the code that matches the base station code.

2. It must appear random to a listener without prior knowledge of the code (i.e. it has the statistical properties of sampled white noise).

3. The cross-correlation between any two codes must be small (see below for more information on code correlation).

4. The code must have a long period (i.e. a long time before the code repeats itself).

Code Correlation

In this context, correlation has a specific mathematical meaning. In general the correlation function has these properties:

Intermediate values indicate how much the codes have in common. The more they have in common, the harder it is for the receiver to extract the appropriate signal.

There are two correlation functions:

The receiver uses cross-correlation to separate the appropriate signal from signals meant for other receivers, and auto-correlation to reject multi-path interference.

700133

Figure 2a. Pseudo-Noise Spreading

700134

Figure 2b. Frequency Spreading

Pseudo-Noise Spreading

The FEC coded Information data modulates the pseudo-random code, as shown in Figure 2a. Some terminology related to the pseudo-random code:

Figure 2b shows the process of frequency spreading. In general, the bandwidth of a digital signal is twice its bit rate. The bandwidths of the information data (fi) and the PN code are shown together. The bandwidth of the combination of the two, for fc>fi, can be approximated by the bandwidth of the PN code.

Processing Gain

An important concept relating to the bandwidth is the processing gain (Gp). This is a theoretical system gain that reflects the relative advantage that frequency spreading provides. The processing gain is equal to the ratio of the chipping frequency to the data frequency:

There are two major benefits from high processing gain:

So the higher the PN code bit rate (the wider the CDMA bandwidth), the better the system performance.

700143

Figure 3a. Complex Modulator

700135

Figure 3b. Complex Modulation

Transmitting Data

The resultant coded signal next modulates an RF carrier for transmission using Quadrature Phase Shift Keying (QPSK). QPSK uses four different states to encode each symbol. The four states are phase shifts of the carrier spaced 90_ apart. By convention, the phase shifts are 45, 135, 225, and 315 degrees. Since there are four possible states used to encode binary information, each state represents two bits. This two bit “word” is called a symbol. Figure 3 shows in general how QPSK works.

First, we’ll discuss Complex Modulation in general, applying it to a single channel with no PN-coding (that is, we’ll show how Complex Modulation would work directly on the symbols). Then we’ll discuss how we apply it to a multi-channel, PN-coded, system.

Complex Modulation

Algebraically, a carrier wave with an applied phase shift, Y(t), can be expressed as a sum of two components, a Cosine wave and a Sine wave, as:

I(t) is called the real, or In-phase, component of the data, and Q(t) is called the imaginary, or Quadrature-phase, component of the data. We end up with two Binary PSK waves superimposed. These are easier to modulate and later demodulate.

This is not only an algebraic identity, but also forms the basis for the actual modulation/demodulation scheme. The transmitter generates two carrier waves of the same frequency, a sine and cosine. I(t) and Q(t) are binary, modulating each component by phase shifting it either 0 or 180 degrees. Both components are then summed together. Since I(t) and Q(t) are binary, we’ll refer to them as simply I and Q.

The receiver generates the two reference waves, and demodulates each component. It is easier to detect 180_ phase shifts than 90_ phase shifts. The following table summarizes this modulation scheme. Note that I and Q are normalized to 1.

Symbol

I

Q

Phase shift

00

+1

+1

45°

01

+1

-1

315°

10

-1

+1

135°

11

-1

-1

225°

For Digital Signal Processing, the two-bit symbols are considered to be complex
numbers, I +jQ.

Working with Complex Data

In order to make full use of the efficiency of Digital Signal Processing, the conversion of the Information data into complex symbols occurs before the modulation. The system generates complex PN codes made up of 2 independent components, PNi +jPNq. To spread the Information data the system performs complex multiplication between the complex PN codes and the complex data.

Summing Many Channels Together

Many channels are added together and transmitted simultaneously. This addition happens digitally at the chip rate. Remember, there are millions of chips in each symbol. For clarity, let’s say each chip is represented by an 8 bit word (it’s slightly more complicated than that, but those details are beyond the scope of this discussion).

At the Chip Rate

For each component (I or Q):

Since I and Q are no longer limited to 1 or -1, the phase shift of the composite carrier is not limited to the four states, the phase and amplitude vary as

A2 = I2 + Q2

Tan((Y) = Q/I

At the Symbol Rate

Since the PN-code has the statistical properties of random noise, it averages to zero over long periods of time (such as the symbol period). Therefore, fluctuations in I and Q, and hence the phase modulation of the carrier, that occur at the chip frequency, average to zero. Over the symbol period the modulation averages to one of the four states of QPSK, which determine what the symbol is.

The symbol only sees the QPSK, and obeys all the statistical properties of QPSK transmission, including Bit Error Rate.

Receiving Data

The receiver performs the following steps to extract the Information:

Demodulation

The receiver generates two reference waves, a Cosine wave and a Sine wave. Separately mixing each with the received carrier, the receiver extracts I(t) and Q(t). Analog to Digital converters restore the 8-bit words representing the I and Q chips.

Code Acquisition and Lock

The receiver, as described earlier, generates its own complex PN code that matches the code generated by the transmitter. However, the local code must be phase-locked to the encoded data. The RCS and FSU each have different ways of acquiring and locking onto the other’s transmitted code. Each method will be covered in more detail in later sections.

Correlation and Data Despreading

Once the PN code is phase-locked to the pilot, the received signal is sent to a correlator that multiplies it with the complex PN code, extracting the I and Q data meant for that receiver. The receiver reconstructs the Information data from the I and Q data.


Automatic Power Control

The RCS gets bombarded by signals from many FSUs. Some of these FSUs are close and their signals are much stronger than FSUs farther away. This results in the Near/Far problem inherent in CDMA communications. System Capacity is also dependant on signal power. For these reasons, both the RCS and FSU measure the received power and send signals to control the other’s transmit power.

Near/Far Problem

Because the cross-correlation between two PN codes is not exactly equal to zero, the system must overcome what we call the Near/Far problem.

The output of the correlator consists of two components:

Mathematically, if we are trying to decode the kth signal, we have:

Where:

Aj is the amplitude of the jth signal,
rjk is the cross-correlation between the kth and jth signal, and
S is the sum over all the j signals (excluding k).

Since the cross-correlation is small (ideally, it is zero), the sum of cross-correlation terms should be much less than the amplitude of the desired signal. However, if the desired signal is broadcast from far away, and undesired signals are broadcast from much closer, the desired signal may be so small as to be drowned out by the cross-correlation terms.

Note that this problem only exists in the reverse direction. The RCS is receiving signals from many FSUs at different distances, but the FSU is receiving all signals from one RCS. The RCS controls the power of each FSU so that the signals received from all FSUs are the same strength.

System Capacity

The capacity of a system is approximated by:

where:
is the maximum number of simultaneous calls
is the processing gain
is the total signal to noise ratio per bit, and
is the inter-cell interference factor.

Notice, as we said earlier, the capacity is directly proportional to the processing gain. Capacity is also inversely proportional to the signal to noise ratio of the received signal. So, the smaller the transmitted signal, the larger the system capacity (as long as the receiver can detect the signal in the noise!). Both the RCS and FSU control the power transmitted by the other so that the received signal is as small as possible while maintaining a minimum signal to noise ratio. This maximizes system capacity.

700137

Figure 4. Multi-Path Interference Rejection


Interference Rejection

CDMA technology is inherently resistant to interference and jamming. A common problem with urban communications is multi-path interference.

Multi-path interference is caused by the broadcast signal traveling over different paths to reach the receiver. The receiver then has to recover the signal combined with echoes of varying amplitude and phase. This results in two types of interference:

Combating Interference

Two methods are commonly used to combat multi-path interference:


System Operation

The following sections describe a hypothetical implmentation of CDMA technology. A connection can be one of many types of data, but for simplicity we will refer to any connection as a “call”.

These sections cover the following system states:

But first, in order to understand system operation, you must understand the Pilot codes and communication channels the system uses.

Pilot Codes

At each phase of operation, the system broadcasts pilot signals. These pilot signals are the unmodulated PN codes associated with each channel, used to synchronize and track the locally generated PN codes for despreading. The system uses the following pilot signals.

Communication Channels

In order to understand system operation, we need to introduce the system communication channels. The system has the following channel groups:

Each logical channel in each group is realized by assigning a unique PN code to it.

Channel Group

Channel Name

Direction

Number of Channels

Description

Broadcast

Global Pilot

F

One

An unmodulated PN code that the FSU can synchronize to.

Fast Broadcast Channel

F

One

A single message indicating which services and access channels are available. This information may change rapidly.

Slow Broadcast Channel

F

One

Paging messages and other system information that does not need to be updated rapidly.

Call Setup

Short Pilot

R

Four

Alerts the RCS that an FSU is requesting access.

Long Pilot

Four

Allows the RCS to synchronize to the FSU to setup a call.

Access Channel

R

Four

Used by the FSUs to access an RCS and get assigned channels.

Control Channel

F

Four

Used by the RCS to reply to access attempts from FSUs.

Control Channel APC

F

Four

Controls FSU power during initial access.

Assigned

Assigned Pilot

R

One per FSU

An unmodulated PN code that the RCS can synchronize to.

APC Channel

F

One per FSU

Controls FSU power during call.

R

Controls RCS power of assigned FSU channels.

Traffic Channels

F

Up to 3 per FSU

Signal data from RCS to FSU.

R

Signal data from FSU to RCS.

Order wire

F

One per FSU

Control signals: CDMA and Telco messages.

R

Note on Direction: F - Forward - From RCS to FSU

R - Reverse - From FSU to RCS

Pilot Ramp Up

When the FSU transmits its Short and Long Access Pilots, it ramps the power up to determine what power level it should transmit. When the RCS detects the Short Access Pilot, it acknowledges over the Fast Broadcast Channel. The FSU then knows that it is being received, and switches to the Long Access Pilot code. The Long Access Pilot code ramps up more slowly, until the RCS locks and starts transmitting Automatic Power Control signals.

System Idle

On startup, the RCS places one of its modems in broadcast mode, in which state it broadcasts the following Global Channels continuously:

In addition, the RCS sets aside 4 modems for Call Setup channels. These modems continuously listen for access attempts by the FSUs. We’ll discuss the operation of the modems in more detail later.

Paging Groups and Sleep Cycles

The RCS divides all the FSUs associated with it into paging groups. The RCS assigns each paging group a particular time slot on its Slow Broadcast Channel (the first time slot is reserved for general Slow Broadcast information). When the RCS pages an FSU, the RCS will only page it during the time slot of that FSU’s paging group.

The Slow Broadcast Channel cycles through all the paging groups. The cycle takes approximately one second to complete. Each FSU remains powered down for most of the cycle. When the Slow Broadcast Channel reaches the time slot of the FSU’s paging group, the FSU powers up, synchronizes to the Global Pilot, and checks for its address in the paging group. If it recognizes its paging address, it requests access; if not, it powers down. This results in a duty cycle of less than 10%, and saves considerable power at the FSU.

700142

Figure 5. Call Setup

Call Setup

Two events can initiate a call:

Once either of these events occur, call setup proceeds as follows:

1. FSU requests access.

2. RCS assigns channel group to FSU.

Note that the RCS now tracks the Assigned Pilot; the FSU continues to track the Global Pilot.

Call Processing

Call processing puts together everything we’ve covered so far. There are slight differences in the way the RCS and FSU process calls, so we will cover both the Forward link (RCS to FSU) and Reverse link (FSU to RCS). Note that the system uses Frequency Division Duplexing for the Forward and Reverse links: they transmit over different frequencies.

In the forward direction, the RCS:

1. Generates CDMA data signal for each traffic channel:

2. Generates other signal channels:

3. Adds all signals together:

4. Adds together the signals for all currently active FSUs.

5. Modulates and transmits carriers

The FSU:

1. Extracts the I and Q data:

2. Filters the I and Q data:

3. Extracts the CDMA data signal for each traffic channel:

In the reverse direction, the FSU:

1. Generates CDMA data signal for each traffic channel:

2. Generates other signal channels:

3. Adds all signals together:

4. Passes the signal through a pulse shaping digital filter.

5. Modulates and transmits carriers

The RCS:

1. Extracts the I and Q data:

2. Filters the I and Q data:

3. Extracts the CDMA data signal for each traffic channel, for each subscriber connection:

Call Teardown

An on-hook signal causes the RCS to release the resources, and the FSU returns to its idle state.