ActiveXperts SMS Messaging Server


NOTE (1): ActiveXperts SMS Messaging Server is an SMS messaging framework to allow sending, receiving and processing SMS messages. It is designed to implement any project that requires SMS messaging. Read more »

NOTE (2): ActiveXperts SMS Component provides developers with a fast and reliable SMPP API. Simply connect to the SMPP provider, bind using your credentials and call SubmitSms to send out the messages. Read more »

CDMA Spectrum

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).

Three Types of Spread Spectrum Communications

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

  1. Frequency hopping. The signal is rapidly switched between different frequencies within the hopping bandwidth pseudo-randomly, and the receiver knows before hand where to find the signal at any given time.
  2. Time hopping. The signal is transmitted in short bursts pseudo-randomly, and the receiver knows beforehand when to expect the burst.
  3. Direct sequence. The digital data is directly coded at a much higher frequency. The code is generated pseudo-randomly, the receiver knows how to generate the same code, and correlates the received signal with that code to extract the data.

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.

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

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) 64 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:

  • It must be deterministic. The subscriber station must be able to independently generate the code that matches the base station code.
  • It must appear random to a listener without prior knowledge of the code (i.e. it has the statistical properties of sampled white noise).
  • The cross-correlation between any two codes must be small (see below for more information on code correlation).
  • 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:

  • It equals 1 if the two codes are identical
  • It equals 0 of the two codes have nothing in common

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:

  • Cross-Correlation: The correlation of two different codes. As we've said, this should be as small as possible.
  • Auto-Correlation: The correlation of a code with a time-delayed version of itself. In order to reject multi-path interference, this function should equal 0 for any time delay other than zero.

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

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:

  • Chipping Frequency (fc): the bit rate of the PN code.
  • Information rate (fi): the bit rate of the digital data.
  • Chip: One bit of the PN code.
  • Epoch: The length of time before the code starts repeating itself (the period of the code). The epoch must be longer than the round trip propagation delay (The epoch is on the order of several seconds).

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.