Jump to content

Code-division multiple access: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
No edit summary
Line 1: Line 1:
'''Code division multiple access''' ('''CDMA''') is a method of [[multiple access]] that does not divide up the channel by [[time]] (as in [[TDMA]]), or [[frequency]] (as in [[FDMA]]), but instead encodes data with a certain code associated with a channel and uses the [[constructive interference]] properties of the signal medium to perform the multiplexing. CDMA also refers to digital cellular telephony systems that makes use of this multiple access scheme, such as those pioneered by [[Qualcomm]], or [[W-CDMA]].

== Usage in mobile telephony ==
Qualcomm CDMA technologies include for use in digital cellular telephony. These include [[IS-95]] (aka [[IS-95|cdmaOne]]) and [[IS-2000]] (aka [[CDMA2000]]). The two different uses of this term can be confusing.

To lessen confusion, the [[Qualcomm]] brand name [[IS-95|cdmaOne]] may be used to refer to the 2G CDMA standard, instead of using more confusing generic term [[CDMA]], or the technical term [[IS-95]]. The Qualcomm CDMA system includes highly accurate time signals (usually referenced to a GPS receiver in the cell base station), so cellphone CDMA-based clocks are an increasingly popular type of [[Radio clock]] for use in computer networks. The main advantage of using CDMA cell-phone signals for reference clock purposes is that they work better inside buildings, thus often eliminating the need to mount the GPS antenna on the outside of a building.

Also frequently confused with CDMA is [[W-CDMA]]. The CDMA technique is used as the principle of the [[W-CDMA]] air interface, and the [[W-CDMA]] air interface is used in the global 3G standard, [[UMTS]], and Japanese 3G standards, [[FOMA]] by [[NTT DoCoMo]] and [[Vodafone]], however, the CDMA family of standards (including [[IS-95|cdmaOne]] and [[CDMA2000]]) are '''not compatible''' with the W-CDMA family of standards.

Another important application of CDMA — predating and entirely distinct from CDMA cellular — is the Global Positioning System, [[GPS]].

==Technical details==

=== Mathematical foundation ===
CDMA exploits at its core mathematical properties of [[orthogonality]]. Suppose we represent data signals as [[vector]]s. For example, the binary string "1011" would be represented by the vector (1, 0, 1, 1). We may wish to give a vector a name, we may do so by using boldface letters, eg '''a'''. We also use an operation on vectors, known as the [[dot product]], to "multiply" vectors, by summing the product of the components. For example, the dot product of (1, 0, 1, 1) and (1, -1, -1, 0) would be (1)(1)+(0)(-1)+(1)(-1)+(1)(0)=1+-1=0. Where the dot product of vectors '''a''' and '''b''' is 0, we say that the two vectors are ''orthogonal''.

The dot product has a number of properties, and one will aid us in understanding why CDMA works. For vectors '''a''', '''b''', '''c''':
:<math>\mathbf{a}\cdot(\mathbf{b}+\mathbf{c})=\mathbf{a}\cdot\mathbf{b}+\mathbf{a}\cdot\mathbf{c},\quad\mathrm{and}</math>
:<math>\mathbf{a}\cdot k\mathbf{b}=k(\mathbf{a}.\mathbf{b}).</math>
The square root of '''a'''.'''a''' is a real number, and is important. We write
:<math>||\mathbf{a}||=\sqrt{\mathbf{a}\cdot\mathbf{a}}.</math>

Suppose vectors ''a'' and ''b'' are orthogonal. Then:
:<math>\mathbf{a}\cdot(\mathbf{a}+\mathbf{b})=||\mathbf{a}||^2\quad\mathrm{since}\quad\mathbf{a}\cdot\mathbf{a}+\mathbf{a}\cdot\mathbf{b}= ||a||^2+0,</math>
:<math>\mathbf{a}\cdot(-\mathbf{a}+\mathbf{b})=-||\mathbf{a}||^2\quad\mathrm{since}\quad-\mathbf{a}\cdot\mathbf{a}+\mathbf{a}\cdot\mathbf{b}= -||a||^2+0,</math>
:<math>\mathbf{b}\cdot(\mathbf{a}+\mathbf{b})=||\mathbf{b}||^2\quad\mathrm{since}\quad\mathbf{b}\cdot\mathbf{a}+\mathbf{b}\cdot\mathbf{b}= 0+||b||^2,</math>
:<math>\mathbf{b}\cdot(\mathbf{a}-\mathbf{b})=-||\mathbf{b}||^2\quad\mathrm{since}\quad\mathbf{b}\cdot\mathbf{a}-\mathbf{b}\cdot\mathbf{b}=0 -||b||^2.</math>

=== Implementation ===
Suppose now we have a set of vectors that are all mutually orthogonal to each other. Usually these vectors are specially constructed for ease of decoding -- they are columns or rows from [[Walsh matrix|Walsh matrices]] that are constructed from [[Walsh function]]s -- but strictly mathematically the only restriction on these vectors are that they are orthogonal. Now, associate with one sender a vector from this set, say '''v''', which is called the ''[[chip]] code''. Associate a zero digit with the vector -'''v''', and a one digit with the vector '''v'''. For example, if '''v'''=(1,-1), then the binary vector (1, 0, 1, 1) would correspond to (1,-1,-1,1,1,-1,1,-1). For the purposes of this article, we call this constructed vector the ''transmitted vector''.

Each sender has a different, unique vector chosen from that set, but the construction of the transmitted vector is identical.

Now, the physical properties of interference say that if two signals at a point are in phase, they will "add up" to give twice the amplitude of each signal, but if they are out of phase, they will "subtract" and give a signal that is the difference of the amplitudes. Digitally, this behaviour can be modelled simply by the addition of the transmission vectors, componentwise. So, if we have two senders, both sending simultaneously, one with the chip code (1, -1) and data vector (1, 0, 1, 1), and another with the chip code (1, 1), and data vector (0,0,1,1), the raw signal received would be the sum of the transmission vectors (1,-1,-1,1,1,-1,1,-1)+(-1,-1,-1,-1,1,1,1,1)=(0,-2,-2,0,2,0,2,0).

Suppose a receiver gets such a signal, and wants to detect what the transmitter with chip code (1, -1) is sending. The receiver will make use of the property described in the above foundation section, and take the dot product to the received vector in parts. Take the first two components of the received vector, that is, (0, -2). Now, (0, -2).(1, -1) = (0)(1)+(-2)(-1) = 2. Since this is positive, we can deduce that a one digit was sent. Taking the next two components, (-2, 0), (-2, 0).(1,-1)=(-2)(1)+(0)(-1)=-2. Since this is negative, we can deduce that a zero digit was sent. Continuing in this fashion, we can successfully decode what the transmitter with chip code (1, -1) was sending: (1, 0, 1, 1).

Likewise, applying the same process with chip code (1, 1): (1, 1).(0,-2) = -2 gives digit 0, (1, 1).(-2,0)=(1)(-2)+(1)(0)=-2 gives digit 0, and so on, to give us the data vector sent by the transmitter with chip code (1, 1): (0, 0, 1, 1).

Now, there are certain issues where this mathematical process can be disrupted. Suppose that one sender transmits at a higher signal strength than another. Then the critical orthogonality property can be disrupted, and thus the system can fail. Thus controlling power strength is an important issue with CDMA transmitters. A TDMA or FDMA receiver can in theory completely reject arbitrarily strong signals on other time slots or frequency channels. This is not true for CDMA; rejection of unwanted signals is only partial. If any or all of the unwanted signals are much stronger than the desired signal, they will overwhelm it. This leads to a general requirement in any CDMA system to approximately match the various signal power levels as seen at the receiver. In CDMA cellular, the base station uses a fast closed-loop power control scheme to tightly control each mobile's transmit power.

Suppose that noise present in a channel takes a zero bit to some other value. Then this will also disrupt the orthogonality property, and thus adding an extra level of [[forward error correction]] (FEC) coding is also vital.

So far, we have assumed that CDMA timing is absolutely exact, that is, transmitters exactly transmit at points in multiples of the length of the chip sequence. Of course, in reality, this is impractical to achieve, so all forms of CDMA use [[spread spectrum]] [[process gain]] to allow receivers to partially discriminate against unwanted signals. Signals with the desired chip code and timing are received, while signals with different chip codes (or the same spreading code but a different timing offset) appear as wideband noise reduced by the process gain.

CDMA's main advantage over TDMA and FDMA is that the number of available CDMA codes is essentially infinite. This makes CDMA ideally suited to large numbers of transmitters each generating a relatively small amount of traffic at irregular intervals, as it avoids the overhead of continually allocating and deallocating a limited number of [[orthogonal]] time slots or frequency channels to individual transmitters. CDMA transmitters simply send when they have something to say, and go off the air when they don't.

==See also==
*[[Near-far problem]]
*[[GSM]]

==External link==
* [http://www.3gpp2.org/ The Third Generation Partnership Project 2 (3GPP2)]
* [http://www.3gpp.org/ The Third Generation Partnership Project (3GPP) ]
* [http://www.cdg.org/ CDMA Development Group (CDG)]
* [http://www.radio-electronics.com/info/cellulartelecomms/ Radio-Electronics.Com]

==Further reading==
* Andrew J. Viterbi.. (1995) ''CDMA : Principles of Spread Spectrum Communication'' (1st edition) Prentice Hall PTR ISBN 0201633744

[[Category:Channel access methods]]
[[Category:Multiplexing]]

[[de:Multiplexverfahren]]
[[fi:CDMA]]
[[fr:Code Division Multiple Access]]
[[ja:Code Division Multiple Access]]
[[ko:CDMA]]
[[pl:CDMA]]
[[pt:CDMA]]
[[ru:CDMA]]
[[sv:CDMA]]
[[zh:CDMA]]

Revision as of 18:18, 1 August 2005