Contents 1 History 2 Uses 3 Steps in CDMA modulation 4 Code-division multiplexing (synchronous CDMA) 4.1 Example 5 Asynchronous CDMA 5.1 Advantages of asynchronous CDMA over other techniques 5.1.1 Efficient practical utilization of the fixed frequency spectrum 5.1.2 Flexible allocation of resources 5.2
6 Collaborative CDMA 7 See also 8 References 9 Further reading 10 External links History[edit]
The technology of code-division multiple access channels has long been
known. In the
A
One of the early applications for code-division multiplexing is in the
Steps in CDMA modulation[edit] CDMA is a spread-spectrum multiple-access[8] technique. A spread-spectrum technique spreads the bandwidth of the data uniformly for the same transmitted power. A spreading code is a pseudo-random code that has a narrow ambiguity function, unlike other narrow pulse codes. In CDMA a locally generated code runs at a much higher rate than the data to be transmitted. Data for transmission is combined by bitwise XOR (exclusive OR) with the faster code. The figure shows how a spread-spectrum signal is generated. The data signal with pulse duration of T b displaystyle T_ b (symbol period) is XORed with the code signal with pulse duration of T c displaystyle T_ c (chip period). (Note: bandwidth is proportional to 1 / T displaystyle 1/T , where T displaystyle T = bit time.) Therefore, the bandwidth of the data signal is 1 / T b displaystyle 1/T_ b and the bandwidth of the spread spectrum signal is 1 / T c displaystyle 1/T_ c . Since T c displaystyle T_ c is much smaller than T b displaystyle T_ b , the bandwidth of the spread-spectrum signal is much larger than the bandwidth of the original signal. The ratio T b / T c displaystyle T_ b /T_ c is called the spreading factor or processing gain and determines to a certain extent the upper limit of the total number of users supported simultaneously by a base station.[9] Generation of a CDMA signal Each user in a CDMA system uses a different code to modulate their
signal. Choosing the codes used to modulate the signal is very
important in the performance of CDMA systems.[1] The best performance
occurs when there is good separation between the signal of a desired
user and the signals of other users. The separation of the signals is
made by correlating the received signal with the locally generated
code of the desired user. If the signal matches the desired user's
code, then the correlation function will be high and the system can
extract that signal. If the desired user's code has nothing in common
with the signal, the correlation should be as close to zero as
possible (thus eliminating the signal); this is referred to as
cross-correlation. If the code is correlated with the signal at any
time offset other than zero, the correlation should be as close to
zero as possible. This is referred to as auto-correlation and is used
to reject multi-path interference.[10]
An analogy to the problem of multiple access is a room (channel) in
which people wish to talk to each other simultaneously. To avoid
confusion, people could take turns speaking (time division), speak at
different pitches (frequency division), or speak in different
languages (code division). CDMA is analogous to the last example where
people speaking the same language can understand each other, but other
languages are perceived as noise and rejected. Similarly, in radio
CDMA, each group of users is given a shared code. Many codes occupy
the same channel, but only users associated with a particular code can
communicate.
In general, CDMA belongs to two basic categories: synchronous
(orthogonal codes) and asynchronous (pseudorandom codes).
Code-division multiplexing (synchronous CDMA)[edit]
The digital modulation method is analogous to those used in simple
radio transceivers. In the analog case, a low-frequency data signal is
time-multiplied with a high-frequency pure sine-wave carrier and
transmitted. This is effectively a frequency convolution
(Wiener–Khinchin theorem) of the two signals, resulting in a carrier
with narrow sidebands. In the digital case, the sinusoidal carrier is
replaced by Walsh functions. These are binary square waves that form a
complete orthonormal set. The data signal is also binary and the time
multiplication is achieved with a simple XOR function. This is usually
a
a ⋅ b = 0 displaystyle mathbf a cdot mathbf b =0 and: a ⋅ ( a + b ) = ‖ a ‖ 2 , since
a ⋅ a + a ⋅ b = ‖ a ‖ 2 + 0 , displaystyle mathbf a cdot (mathbf a +mathbf b )=mathbf a ^ 2 , text since mathbf a cdot mathbf a +mathbf a cdot mathbf b =mathbf a ^ 2 +0, a ⋅ ( − a + b ) = − ‖ a ‖ 2 , since
− a ⋅ a + a ⋅ b = − ‖ a ‖ 2 + 0 , displaystyle mathbf a cdot (-mathbf a +mathbf b )=-mathbf a ^ 2 , text since -mathbf a cdot mathbf a +mathbf a cdot mathbf b =-mathbf a ^ 2 +0, b ⋅ ( a + b ) = ‖ b ‖ 2 , since
b ⋅ a + b ⋅ b = 0 + ‖ b ‖ 2 , displaystyle mathbf b cdot (mathbf a +mathbf b )=mathbf b ^ 2 , text since mathbf b cdot mathbf a +mathbf b cdot mathbf b =0+mathbf b ^ 2 , b ⋅ ( a − b ) = − ‖ b ‖ 2 , since
b ⋅ a − b ⋅ b = 0 − ‖ b ‖ 2 . displaystyle mathbf b cdot (mathbf a -mathbf b )=-mathbf b ^ 2 , text since mathbf b cdot mathbf a -mathbf b cdot mathbf b =0-mathbf b ^ 2 . Each user in synchronous CDMA uses a code orthogonal to the others'
codes to modulate their signal. An example of 4 mutually orthogonal
digital signals is shown in the figure below.
An example of 4 mutually orthogonal digital signals Start with a set of vectors that are mutually orthogonal. (Although mutual orthogonality is the only condition, these vectors are usually constructed for ease of decoding, for example columns or rows from Walsh matrices.) An example of orthogonal functions is shown in the picture on the right. These vectors will be assigned to individual users and are called the code, chip code, or chipping code. In the interest of brevity, the rest of this example uses codes v with only two bits. Each user is associated with a different code, say v. A 1 bit is represented by transmitting a positive code v, and a 0 bit is represented by a negative code −v. For example, if v = (v0, v1) = (1, −1) and the data that the user wishes to transmit is (1, 0, 1, 1), then the transmitted symbols would be (v, −v, v, v) = (v0, v1, −v0, −v1, v0, v1, v0, v1) = (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 v chosen from that set, but the construction method of the transmitted vector is identical. Now, due to physical properties of interference, if two signals at a point are in phase, they add to give twice the amplitude of each signal, but if they are out of phase, they subtract and give a signal that is the difference of the amplitudes. Digitally, this behaviour can be modelled by the addition of the transmission vectors, component by component. If sender0 has code (1, −1) and data (1, 0, 1, 1), and sender1 has code (1, 1) and data (0, 0, 1, 1), and both senders transmit simultaneously, then this table describes the coding steps: Step Encode sender0 Encode sender1 0 code0 = (1, −1), data0 = (1, 0, 1, 1) code1 = (1, 1), data1 = (0, 0, 1, 1) 1 encode0 = 2(1, 0, 1, 1) − (1, 1, 1, 1) = (1, −1, 1, 1) encode1 = 2(0, 0, 1, 1) − (1, 1, 1, 1) = (−1, −1, 1, 1) 2 signal0 = encode0 ⊗ code0 = (1, −1, 1, 1) ⊗ (1, −1) = (1, −1, −1, 1, 1, −1, 1, −1) signal1 = encode1 ⊗ code1 = (−1, −1, 1, 1) ⊗ (1, 1) = (−1, −1, −1, −1, 1, 1, 1, 1) Because signal0 and signal1 are transmitted at the same time into the air, they add to produce the raw signal (1, −1, −1, 1, 1, −1, 1, −1) + (−1, −1, −1, −1, 1, 1, 1, 1) = (0, −2, −2, 0, 2, 0, 2, 0). This raw signal is called an interference pattern. The receiver then extracts an intelligible signal for any known sender by combining the sender's code with the interference pattern. The following table explains how this works and shows that the signals do not interfere with one another: Step Decode sender0 Decode sender1 0 code0 = (1, −1), signal = (0, −2, −2, 0, 2, 0, 2, 0) code1 = (1, 1), signal = (0, −2, −2, 0, 2, 0, 2, 0) 1 decode0 = pattern.vector0 decode1 = pattern.vector1 2 decode0 = ((0, −2), (−2, 0), (2, 0), (2, 0)) · (1, −1) decode1 = ((0, −2), (−2, 0), (2, 0), (2, 0)) · (1, 1) 3 decode0 = ((0 + 2), (−2 + 0), (2 + 0), (2 + 0)) decode1 = ((0 − 2), (−2 + 0), (2 + 0), (2 + 0)) 4 data0=(2, −2, 2, 2), meaning (1, 0, 1, 1) data1=(−2, −2, 2, 2), meaning (0, 0, 1, 1) Further, after decoding, all values greater than 0 are interpreted as 1, while all values less than zero are interpreted as 0. For example, after decoding, data0 is (2, −2, 2, 2), but the receiver interprets this as (1, 0, 1, 1). Values of exactly 0 means that the sender did not transmit any data, as in the following example: Assume signal0 = (1, −1, −1, 1, 1, −1, 1, −1) is transmitted alone. The following table shows the decode at the receiver: Step Decode sender0 Decode sender1 0 code0 = (1, −1), signal = (1, −1, −1, 1, 1, −1, 1, −1) code1 = (1, 1), signal = (1, −1, −1, 1, 1, −1, 1, −1) 1 decode0 = pattern.vector0 decode1 = pattern.vector1 2 decode0 = ((1, −1), (−1, 1), (1, −1), (1, −1)) · (1, −1) decode1 = ((1, −1), (−1, 1), (1, −1), (1, −1)) · (1, 1) 3 decode0 = ((1 + 1), (−1 − 1), (1 + 1), (1 + 1)) decode1 = ((1 − 1), (−1 + 1), (1 − 1), (1 − 1)) 4 data0 = (2, −2, 2, 2), meaning (1, 0, 1, 1) data1 = (0, 0, 0, 0), meaning no data When the receiver attempts to decode the signal using sender1's code,
the data is all zeros, therefore the cross-correlation is equal to
zero and it is clear that sender1 did not transmit any data.
Asynchronous CDMA[edit]
See also:
Wikimedia Commons has media related to CDMA. CDMA spectral efficiency
CDMA2000
cdmaOne
Comparison of mobile phone standards
References[edit] ^ a b c Guowang Miao; Jens Zander; Ki Won Sung; Ben Slimane (2016).
Fundamentals of Mobile Data Networks. Cambridge University Press.
ISBN 1107143217.
^ Ageev, D. V. (1935). "Bases of the Theory of Linear Selection. Code
Demultiplexing". Proceedings of the Leningrad Experimental Institute
of Communication: 3–35.
^
Further reading[edit] Viterbi, Andrew J. (1995). CDMA: Principles of Spread Spectrum Communication (1st ed.). Prentice Hall PTR. ISBN 0-201-63374-4. "CDMA Spectrum". Retrieved 2008-04-29. External links[edit] CDMA Development Group
v t e
Main articles Spread spectrum
History Hedy Lamarr Commercial use More...
CDMA schemes W-CDMA TD-CDMA TD-SCDMA DS-CDMA FH-CDMA MC-CDMA Major implementations
Cellular
EV-DO Mobile
Major concepts PN (pseudorandom noise) code Chip Near–far problem Power spectral density (PSD) Process gain Rake receiver Low probability of intercept See also Digital communication Modulation Statistical multiplexing Waveform v t e Channel access methods and Media access control Channel-based FDMA OFDMA WDMA SC-FDMA TDMA MF-TDMA STDMA CDMA W-CDMA TD-CDMA TD-SCDMA DS-CDMA FH-CDMA MC-CDMA SDMA HC-SDMA PDMA PAMA Packet-based Collision recovery ALOHA Slotted ALOHA R-ALOHA AX.25 Collision avoidance MACA MACAW CSMA CSMA/CD CSMA/CA DCF PCF HCF CSMA/CARP Collision-free Token ring Token bus MS-ALOHA Delay & disruption tolerant MANET VANET DTN Dynamic Source Routing Duplexing methods |