Tech Insider					     Technology and Trends

			      USENET Archives

Path: sparky!uunet!!mips!!att!walter!!!karn
From: (Phil Karn)
Subject: Thumbnail sketch of CDMA
Message-ID: <>
Organization: Qualcomm, Inc
Date: Wed, 4 Mar 1992 00:10:52 GMT
Lines: 274

I promised some details on Qualcomm's CDMA system, so here they are.

The gory technical details will soon be publicly released when we submit
our system to the new TIA committee that was recently formed to accept
proposals for wideband (i.e., spread spectrum) cellular telephone
systems. I don't know what the procedure will be to get copies, and in
any event the spec is *quite* thick. So your best bet for getting a
general technical overview is to look up any of several papers that
have already been published about the system in the past year or so.

Probably the best reference is the paper "On the System Design Aspects
of Code Division Multiple Access (CDMA) Applied to Digital Cellular
and Personal Communications Networks" by Allen Salmasi and Klein S.
Gilhousen [WT6G], from the Proceedings of the 41st IEEE Vehicular
Technology Conference, St Louis MO May 19-22 1991.

There are also several papers on Qualcomm's CDMA system in the May
1991 IEEE Transactions on Vehicular Technology, including one on the
capacity of CDMA.

Just to summarize the system:

The Qualcomm CDMA cellular system uses direct sequence spread
spectrum.  The chip rate is 1.2288 megachips/sec.  The RF channel
spacing is 1.23 MHz (the first spectral nulls occur at the chip rate,
and digital filtering essentially eliminates the extra sidelobes).

There are actually two spreading sequences, a "short" sequence of
32768 chips and a "long" sequence of 2^42-1 chips. The short sequence
is generated by a pair of 15-stage PN generators (one polynomial for
I, a different one for Q) and is applied in offset quadrature to all
signals, both forward (cell-to-mobile) and reverse (mobile-to-cell)
links. The reason for using two (I and Q) sequences is to reduce the
peak-to-average ratio of the resulting signal to make it more friendly
to RF power amplifiers. The polynomials are the same for all cell
sites and mobiles.

Note that the short code is one chip longer than the 32767 chip
sequence that would be generated by a 15 stage LFSR. An extra chip is
added to round the total out to 32768 (2^15). This simplifies system

A "long code" PN sequence of length 2^42 - 1 is applied in addition to
the short code on traffic channels, i.e., those channels carrying user
voice and/or data. Different phases of this sequence are assigned to
different mobiles to preclude the possibility of them "colliding" by
transmitting correlated spreading sequences. (Again, the polynomial is
the same for all mobiles and cell sites).

The cell transmits the sum of the forward link spread spectrum signals
to all the mobiles in its territory. The composite forward link signal
always includes a "pilot", a carrier modulated only by the short PN
sequence. At power-up a mobile acquires this pilot's timing, locks an
oscillator to it and uses it for all system timing. Finding the pilot
takes only a few seconds because the sequence is so short.

The forward link consists of 64 orthogonally multiplexed channels,
with each channel covered by one of 64 Walsh code sequences.  Three
channels are used for overhead (pilot, sync and paging) so 61 are left
for user traffic. The reason for using orthogonal coding on the
forward link is to allow the cell to vary the power allocated to each
channel over a modest range without the inter-channel interference
that would otherwise result from the "near-far" problem.  This is
possible only because all of the signals leaving the cell are
synchronized to a common clock.

By the way, each cell site derives its PN clocks and carrier
frequencies from a rubidium oscillator in a GPS timing receiver. This
keeps the relative timing errors between cell sites down below a
microsecond, which is important for the "soft handoff" feature I'll
describe later. (Actually, each cell's PN sequences are "offset" by a
specified amount from each other to ensure that they can always be
resolved separately by a mobile, no matter where that mobile is in the

The reverse (mobile-to-cell) link from a given mobile only has one
channel, so it uses Walsh functions in a different way to provide
64-ary encoding.  That is, each group of 6 data bits is transformed
into one of 64 64-chip Walsh codes. This spreads the energy of a given
bit out over time to make it more resistant to very short fades.

On top of the spread spectrum modems in both the cell and the mobile,
some fairly strong interleaving and forward error correction (FEC) is
used: K=9 rate=1/2 convolutional coding for the forward link and K=9
rate=1/3 coding for the reverse link. Viterbi decoding is used at each
end. FEC *significantly* reduces the power required to maintain
communications; we typically run at somewhat less than 7 dB Eb/N0.

User voice is encoded and decoded with a variable rate vocoder that
currently runs on an AT&T DSP-16 chip.  It operates at data rates of
1200, 2400, 4800 and 9600 bps. When a user talks, the 9600 bps data
rate is generally used. When the user stops talking, the vocoder
generally idles at 1200 bps so you still hear background noise; the
phone doesn't just "go dead". The vocoder works with 20 millisecond
frames, so each frame can be 3, 6, 12 or 24 bytes long, including
overhead.  The rate can be changed arbitrarily from frame to frame
under control of the vocoder.

The RF modem varies its average transmit power automatically depending
on the vocoder frame rate to keep the received Eb/N0 ratio constant.
E.g., when going from 9600 bps to 4800 bps, the transmitter drops its
average output power by 3 dB; when going from 9600 bps to 1200 bps,
average power drops by 9 dB.  I say "average" because the peak power
remains constant; average power is actually adjusted by
pseudo-randomly "muting" the transmitter during some fraction of the
transmitted symbols in the frame. Because of the strong FEC and
interleaving, this has the same net effect as leaving in all of the
transmitted symbols and reducing the average transmit power, but it
was easier to implement.

The variable rate vocoder/variable power transmitter combination helps
increase overall system capacity by assigning full resources to users
only while they are actually talking. Since on average only 40% of the
users in a large system will be talking at any one instant, this
results in roughly a 2:1 system capacity increase.

One of the biggest problems with traditional spread spectrum
(especially the direct sequence kind used in Qualcomm CDMA) is the
"near/far" problem. In CDMA, you have many mobiles all transmitting to
the same cell at the same time, and some of those mobiles may be much
closer to the cell than others. Something that adjusts the transmit
powers of those mobiles so that they all arrive at the cell with
roughly equal signal strengths is necessary.

Qualcomm CDMA does this with a two-part automatic power control
system.  An "open loop" power control system in the mobile simply
measures the total received signal energy and varies its transmitter
power in inverse proportion; the actual formula is

	Ptx = 73 dbm^2 - Prx + adjust + system constants

where Ptx and Prx are transmit and receive powers in dBm,
respectively.  (I'll talk about the "adjust" term shortly.)

The open loop system does almost all of the work. Because it's a
broadband spread spectrum system, the highly frequency selective, deep
Rayleigh fading you see in narrowband systems ("mobile flutter") just
don't occur in our system. I.e., the forward and reverse links are
much more closely correlated in a spread spectrum system than they are
in a narrowband system, so this scheme works well.

It's not perfect, however, so there's an additional closed-loop power
control system that makes fine adjustments. The cell measures the
instantaneous Eb/N0 ratio for each mobile and compares it to a
threshold (e.g., 7dB). If the measured ratio is higher than the
threshold, the cell sends a "go down" command to the mobile. If the
measured ratio is lower than the threshold, it sends a "go up"
command. The mobile adjusts its power up or down by typically 0.5 dB
for each such command and keeps the total in the "adjust" term
shown in the formula above.

The commands are actually sent as a 800 bit/sec bit stream that is
"punctured" out of the convolutionally encoded data stream going to
the cell's transmitter. That is, when it's time to send a power
control bit the transmitter simply substitutes the power control bit
in place of the data symbol that would normally be transmitted. Again,
because of the very strong FEC and interleaving that is used, the
receiver has no trouble decoding the correct user data bits despite
this intentional source of "errors". If the cell is happy with the
mobile's power level, it simply sends an alternating up/down/up/down
sequence. Think of it as a servo loop with a delta-modulated error
signal channel. The power control bits are not error protected because
the additional delay would be intolerable, but they are highly
resistant to errors because of the self-correcting nature of the
feedback loop. Errors in the power control bits only slow down the
response of the power control loop; they generally don't introduce biases.

In load tests, the Eb/N0 ratio differences (actual - desired Eb/No) as
measured at the cell sites typically average to 0 dB with a standard
deviation of about 1 dB. You see somewhat lower standard deviations
for close-in mobiles and larger deviations for mobiles at the hairy
edges of the cell. You also have higher deviations for the lower data
rates since the power control bits are being punctured out by the
power adjustment mechanism.

We found that in practice, adjusting the power control thresholds as a
function of the observed error rate on the link is better overall than
picking arbitrary Eb/N0 set points. I.e., you can run below 7 dB with
good results for the guys who are nearby (and who have tighter power
control), give some of this extra margin to the guys on the edge who
need it, and use the rest to increase overall system capacity.

The power control mechanism is probably the single most impressive
part of CDMA. You don't have to run the usual 10-20 dB or more of
margin required by mobile FM systems to carry you through those brief
but deep and annoying fades. You use only the exact amount of power
you need at any instant. (The resistance of spread spectrum to
multipath fading also helps considerably).

I routinely see the mobile's transmit power go below 1 milliwatt while
driving around San Diego, even when I'm a mile or so from the cell
site. If you're directly adjacent or underneath a cell site, the total
received RF energy from the cell can actually *exceed* the transmit
power you're putting back into the antenna! (I've seen transmit power
go below 100 nanowatts a few hundred feet from the cell).  These
exceptionally low power levels obviously have some strong implications
for solving RFI and biohazard problems.

The low power levels and the inherent resistance of spread spectrum to
interference (either from narrowband signals or from other,
uncorrelated spread spectrum signals) are what makes CDMA so
spectrally efficient. A typical analog FM cellular system can use only
1/7 of the total number of channels in each cell, due to the need to
protect adjacent cells against interference. In CDMA, however, every
cell can use the same frequency even if their coverage areas overlap.
Since the processing gain in our system is 21 dB 10*log10(9600 bps /
1.2288 Mc/s) and the required receiver Eb/N0 ratio is 7 dB, it is
possible to receive a signal even when it is 21 - 7 = 14 dB below the
interference from another cell! So if you're on the border between two
cells on the same frequency and you're receiving them with equal
strengths, you can easily demodulate one, the other or both.

This is the principle behind "soft handoff". In CDMA, when you drive
from one cell to another, you send a message back to the system
reporting the reception of the new cell's pilot. The system responds
by setting up another traffic channel through the new cell, in
addition to the one you already had on the old cell. Now you can
combine the signals from both cells before decoding, so if the signal
from one cell fades, you are likely to still have the other.
Similarly, both cells receive your reverse link signals, funneling
them to the MTSO for combining into a single data stream.

As you move further into the new cell, eventually the mobile will lose
the signal from the old cell and report this to the system, which will
deallocate your original traffic channel. All this happens
transparently and automatically, with no audible effects (unlike FM).
I get a real kick out of demonstrating CDMA soft handoffs to people
who are familiar with FM cellular, especially when they ask "when do
we do the handoff?"  and I explain that we have been doing them
several times per second for the past full minute!

To do soft handoff, you need multiple spread spectrum receiver
channels.  Our mobiles have three such channels ("fingers"), all on a
single ASIC.  They can be allocated by the control CPU to track
multipath signals from the same cell separated by at least a chip time
(814 ns or 244 meters differential path length), signals from
different cells during a soft handoff, or any combination thereof.

For example, one finger might be tracking a direct signal from cell
site #1, a second tracking a reflected signal from the same site, and
the third finger could be tracking a signal from cell #2 once a soft
handoff has been set up. The mobile continuously searches for and
locks onto the three best signals it can find. (The more fingers the
better, but returns diminish rapidly above 3 fingers.)

The heart of the CDMA system is 5 full custom ASICs. Two are for the
mobile, two for the cell, and one is for both (a Viterbi decoder).  In
San Diego we have a demonstration/qualification system consisting of 5
cells co-located with conventional FM cellular equipment in PacTel
cell sites. It operates in the B' segment (the extended wireline
carrier band). All are on the same RF channel.  The forward links are
centered on 892.74 Mhz and the reverse links 45 MHz lower, on 847.74
MHz. PacTel has cleared out conventional FM cellular operations in San
Diego for this segment, although it is heavily used for FM up in Los
Angeles (we can occasionally see them on the spectrum analyzer, but
they don't normally bother us because of the isolation afforded by
the spread spectrum processing gain.)

The MTSO (we call ours a "QTSO") is at Qualcomm. We have almost a
hundred prototype mobiles, most of which were used in the formal
capacity field tests last November. Somebody counted up the total
miles driven, mostly in circles, during that test; I think it amounted
to the tens of thousands. We proved that CDMA can support 10-20x the
capacity of a conventional analog FM cellular system using the same
bandwidth.  We are now in the interesting position of having a digital
cellular system with considerably more practical experience behind it
than the so-called "standard" TDMA digital cellular system!

If any of you are attending the TAPR meeting in Tucson this weekend, I
plan on bringing my CDMA mobile phone to show. Unfortunately, we won't
be able to make CDMA calls just yet from Tucson!


Path: sparky!uunet!!mips!!att!walter!!!karn
From: (Phil Karn)
Subject: Re: Thumbnail sketch of CDMA
Message-ID: <>
Organization: Qualcomm, Inc
References:  <>
Date: Wed, 4 Mar 1992 00:23:55 GMT
Lines: 13

In article <>, (Phil Karn) writes:

|> Since the processing gain in our system is 21 dB 10*log10(9600 bps /
|> 1.2288 Mc/s) and the required receiver Eb/N0 ratio is 7 dB, it is

A minor error: the processing gain formula should be

	10 * log10(1.2288 Mc/s / 9600 b/s) = 21 dB

I had the numerator and denominators reversed in the original
equation, which gives -21 dB instead of +21 dB.


			        About USENET

USENET (Users’ Network) was a bulletin board shared among many computer
systems around the world. USENET was a logical network, sitting on top
of several physical networks, among them UUCP, BLICN, BERKNET, X.25, and
the ARPANET. Sites on USENET included many universities, private companies
and research organizations. See USENET Archives.

		       SCO Files Lawsuit Against IBM

March 7, 2003 - The SCO Group filed legal action against IBM in the State 
Court of Utah for trade secrets misappropriation, tortious interference, 
unfair competition and breach of contract. The complaint alleges that IBM 
made concentrated efforts to improperly destroy the economic value of 
UNIX, particularly UNIX on Intel, to benefit IBM's Linux services 
business. See SCO vs IBM.

The materials and information included in this website may only be used
for purposes such as criticism, review, private study, scholarship, or

Electronic mail:			       WorldWideWeb: