You are here


Code Division Multiple Access (CDMA) is a radically new concept in wireless communications. It has gained widespread international acceptance by cellular radio system operators as an upgrade that will dramatically increase both their system capacity and the service quality. It has likewise been chosen for deployment by the majority of the winners of the United States Personal Communications System spectrum auctions. It may seem, however, mysterious for those who aren't familiar with it. This site is provided in an effort to dispel some of the mystery and to disseminate at least a basic level of knowledge about the technology.

CDMA is a form of spread-spectrum , a family of digital communication techniques that have been used in military applications for many years. The core principle of spread spectrum is the use of noise-like carrier waves, and, as the name implies, bandwidths much wider than that required for simple point-to-point communication at the same data rate. Originally there were two motivations: either to resist enemy efforts to jam the communications (anti-jam, or AJ), or to hide the fact that communication was even taking place, sometimes called low probability of intercept (LPI). It has a history that goes back to the early days of World War II.

The use of CDMA for civilian mobile radio applications is novel. It was proposed theoretically in the late 1940's, but the practical application in the civilian marketplace did not take place until 40 years later. Commercial applications became possible because of two evolutionary developments. One was the availability of very low cost, high density digital integrated circuits, which reduce the size, weight, and cost of the subscriber stations to an acceptably low level. The other was the realization that optimal multiple access communication requires that all user stations regulate their transmitter powers to the lowest that will achieve adequate signal quality.

CDMA changes the nature of the subscriber station from a predominately analog device to a predominately digital device. Old-fashioned radio receivers separate stations or channels by filtering in the frequency domain. CDMA receivers do not eliminate analog processing entirely, but they separate communication channels by means of a pseudo-random modulation that is applied and removed in the digital domain, not on the basis of frequency. Multiple users occupy the same frequency band. This universal frequency reuse is not fortuitous. On the contrary, it is crucial to the very high spectral efficiency that is the hallmark of CDMA. Other discussions in these pages show why this is true.

CDMA is altering the face of cellular and PCS communication by:

  • Dramatically improving the telephone traffic capacity

  • Dramatically improving the voice quality and eliminating the audible effects of multipath fading

  • Reducing the incidence of dropped calls due to handoff failures

  • Providing reliable transport mechanism for data communications, such as facsimile and internet traffic

  • Reducing the number of sites needed to support any given amount of traffic

  • Simplifying site selection

  • Reducing deployment and operating costs because fewer cell sites are needed

  • Reducing average transmitted power

  • Reducing interference to other electronic devices

  • Reducing potential health risks

Commercially introduced in 1995, CDMA quickly became one of the world's fastest-growing wireless technologies. In 1999, the International Telecommunications Union selected CDMA as the industry standard for new "third-generation" (3G) wireless systems. Many leading wireless carriers are now building or upgrading to 3G CDMA networks in order to provide more capacity for voice traffic, along with high-speed data capabilities.

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

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

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

  • Time hopping. The signal is transmitted in short bursts pseudo-randomly, and the receiver knows beforehand when to expect the burst.

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

How spread spectrum works:

Spread Spectrum uses wide band, noise-like signals. Because Spread Spectrum signals are noise-like, they are hard to detect. Spread Spectrum signals are also hard to Intercept or demodulate. Further, Spread Spectrum signals are harder to jam (interfere with) than narrowband signals. These Low Probability of Intercept (LPI) and anti-jam (AJ) features are why the military has used Spread Spectrum for so many years. Spread signals are intentionally made to be much wider band than the information they are carrying to make them more noise-like.

Spread Spectrum signals use fast codes that run many times the information bandwidth or data rate. These special "Spreading" codes are called "Pseudo Random" or "Pseudo Noise" codes. They are called "Pseudo" because they are not real gaussian noise.

Spread Spectrum transmitters use similar transmit power levels to narrow band transmitters. Because Spread Spectrum signals are so wide, they transmit at a much lower spectral power density, measured in Watts per Hertz, than narrowband transmitters. This lower transmitted power density characteristic gives spread signals a big plus. Spread and narrow band signals can occupy the same band, with little or no interference. This capability is the main reason for all the interest in Spread Spectrum today.


CDMA / Spread Spectrum Resources:

Introduction to CDMA

ABCs of Spread Sprectum

CDMA Technology

CDMA Basics

Overview of CDMA


Comparision between GSM IS-95

Book: Spread Spectrum: Hedy Lamarr and the mobile phone

CDMA Discussion Forum


where x1,x2,x3 is latitude of 3 BTS and y1,y2,y3 is longitude of 3 BTS.
rt1,rt2&rt3 is round trip delay which i am getting from system as 40,31,52
the 3 latlong are:
site a:11.0209(lat),76.9796(long);site b:11.0149(lat,76.9857(long);site c:11.0246(lat,77.0066(lon)
These above are 3 latlong of Bts.I am using Triangulation method to calculate the latlong of cellphone.
CAN ANYONE PLS HELP ME OUT???I am not getting errors in the pgm but my final latlong is wrong.
The x,y values i.e our latitude and longitude of the cellphone in the pgm i have got by solving wrt 3 BTS

#define pi 3.14159265358979323846

double deg2rad(double deg) ;
double rad2deg(double rad) ;
double distance(double lat1, double lon1, double lat2, double lon2, char unit);
float r1,r2,r3;
float x1,x2,x3,x,y1,y2,y3,y;
float d1,d2,d3;
float rt1,rt2,rt3;
float a,b,c;
printf("enter the latitude of BTS1 x1:");
printf("enter the latitude of BTS2 x2:");
printf("enter the latitude of BTS3 x3:");
printf("enter the longitude of BTS1 y1:");
printf("enter the longitude of BTS1 y2:");
printf("enter the longitude of BTS1 y3:");
printf("\nthe distance d1 is:%f",d1);
printf("\nthe distance d2 is:%f",d2);
printf("\nthe distance d3 is:%f",d3);
printf("\nenter the round trip delay1:");
printf("\nenter the round trip delay2:");
printf("\nenter the round trip delay3:");
printf("\n the length1 is:%f",r1);
printf("\n the length2 is:%f",r2);
printf("\n the length3 is:%f",r3);
printf("\nthe latitude of cellphone is %f\n",x);
printf("\nthe longitude of cellphone is %f\n",y);


double distance(double lat1, double lon1, double lat2, double lon2, char unit)
double theta, dist;
theta = lon1 - lon2;
dist = sin(deg2rad(lat1)) * sin(deg2rad(lat2)) + cos(deg2rad(lat1)) * cos(deg2rad(lat2)) * cos(deg2rad(theta));
dist = acos(dist);
dist = rad2deg(dist);
dist = dist * 60 * 1.1515;
case 'M':
case 'K':
dist = dist * 1.609344;
case 'N':
dist = dist * 0.8684;
return (dist);
/*:: This function converts decimal degrees to radians :*/
double deg2rad(double deg) {
return (deg * pi / 180);
/*:: This function converts radians to decimal degrees :*/
double rad2deg(double rad) {
return (rad * 180 / pi);


Can anybody tell me the System acquisition timings in Sec/Min in CDMA till the mobile acquire the signal and display it on the Handset. How much time required for Pilot & Sync ...