CDMA access

Code-division multiple access

Code-division multiple access (CDMA) is achannel access method used by various radiocommunication technologies.[1]
CDMA is an example of multiple access, where several transmitters can send information simultaneously over a single communication channel. This allows several users to share a band of frequencies (seebandwidth). To permit this without undue interference between the users, CDMA employs spread spectrum technology and a special coding scheme (where each transmitter is assigned a code).[1]
CDMA is used as the access method in manymobile phone standards. IS-95, also called "cdmaOne", and its 3G evolution CDMA2000, are often simply referred to as "CDMA", butUMTS, the 3G standard used by GSM carriers, also uses "wideband CDMA", or W-CDMA, as well as TD-CDMA and TD-SCDMA, as its radio technologies.

HistoryEdit

The technology of code-division multiple access channels has long been known. In theSoviet Union (USSR), the first work devoted to this subject was published in 1935 by Dmitry Ageev.[2] It was shown that through the use of linear methods, there are three types of signal separation: frequency, time and compensatory. The technology of CDMA was used in 1957, when the young military radio engineer Leonid Kupriyanovich in Moscow made an experimental model of a wearable automatic mobile phone, called LK-1 by him, with a base station. LK-1 has a weight of 3 kg, 20–30 km operating distance, and 20–30 hours of battery life.[3][4] The base station, as described by the author, could serve several customers. In 1958, Kupriyanovich made the new experimental "pocket" model of mobile phone. This phone weighed 0.5 kg. To serve more customers, Kupriyanovich proposed the device, which he called "correllator."[5][6] In 1958, the USSR also started the development of the "Altai" national civil mobile phone service for cars, based on the Soviet MRT-1327 standard. The phone system weighed 11 kg (24 lb). It was placed in the trunk of the vehicles of high-ranking officials and used a standard handset in the passenger compartment. The main developers of the Altai system were VNIIS (Voronezh Science Research Institute of Communications) and GSPI (State Specialized Project Institute). In 1963 this service started in Moscow, and in 1970 Altai service was used in 30 USSR cities.[7]

UsesEdit

A CDMA2000 mobile phone
  • One of the early applications for code-division multiplexing is in the Global Positioning System (GPS). This predates and is distinct from its use in mobile phones.
  • The Qualcomm standard IS-95, marketed as cdmaOne.
  • The Qualcomm standard IS-2000, known as CDMA2000, is used by several mobile phone companies, including the Globalstarnetwork.
  • The UMTS 3G mobile phone standard, which uses W-CDMA.
  • CDMA has been used in the OmniTRACSsatellite system for transportation logistics.

Steps in CDMA modulationEdit

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} (symbol period) is XORed with the code signal with pulse duration of T_{c} (chip period). (Note: bandwidth is proportional to 1/T, where T = bit time.) Therefore, the bandwidth of the data signal is {\displaystyle 1/T_{b}} and the bandwidth of the spread spectrum signal is {\displaystyle 1/T_{c}}. Since T_{c} is much smaller than T_{b}, the bandwidth of the spread-spectrum signal is much larger than the bandwidth of the original signal. The ratio {\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 aGilbert cell mixer in the circuitry.
Synchronous CDMA exploits mathematical properties of orthogonality between vectorsrepresenting the data strings. For example, binary string 1011 is represented by the vector (1, 0, 1, 1). Vectors can be multiplied by taking their dot product, by summing the products of their respective components (for example, if u= (a, b) and v = (c, d), then their dot productu·v = ac + bd). If the dot product is zero, the two vectors are said to be orthogonal to each other. Some properties of the dot product aid understanding of how W-CDMA works. If vectors a and b are orthogonal, then   and:
 
 
 
 
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. Orthogonal codes have a cross-correlation equal to zero; in other words, they do not interfere with each other. In the case of IS-95, 64-bit Walsh codes are used to encode the signal to separate different users. Since each of the 64 Walsh codes is orthogonal to all other, the signals are channelized into 64 orthogonal signals. The following example demonstrates how each user's signal can be encoded and decoded.

ExampleEdit

 
An example of 4 mutually orthogonal digital signals
Start with a set of vectors that are mutuallyorthogonal. (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 thecode, 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 vchosen 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:
StepEncode sender0Encode sender1
0code0 = (1, −1), data0 = (1, 0, 1, 1)code1 = (1, 1), data1 = (0, 0, 1, 1)
1encode0 = 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)
2signal0 = 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:
StepDecode sender0Decode sender1
0code0 = (1, −1), signal = (0, −2, −2, 0, 2, 0, 2, 0)code1 = (1, 1), signal = (0, −2, −2, 0, 2, 0, 2, 0)
1decode0 = pattern.vector0decode1 = pattern.vector1
2decode0 = ((0, −2), (−2, 0), (2, 0), (2, 0)) · (1, −1)decode1 = ((0, −2), (−2, 0), (2, 0), (2, 0)) · (1, 1)
3decode0 = ((0 + 2), (−2 + 0), (2 + 0), (2 + 0))decode1 = ((0 − 2), (−2 + 0), (2 + 0), (2 + 0))
4data0=(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:
StepDecode sender0Decode sender1
0code0 = (1, −1), signal = (1, −1, −1, 1, 1, −1, 1, −1)code1 = (1, 1), signal = (1, −1, −1, 1, 1, −1, 1, −1)
1decode0 = pattern.vector0decode1 = pattern.vector1
2decode0 = ((1, −1), (−1, 1), (1, −1), (1, −1)) · (1, −1)decode1 = ((1, −1), (−1, 1), (1, −1), (1, −1)) · (1, 1)
3decode0 = ((1 + 1), (−1 − 1), (1 + 1), (1 + 1))decode1 = ((1 − 1), (−1 + 1), (1 − 1), (1 − 1))
4data0 = (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.

Comments

Popular posts from this blog

CA

Telecommunication

Local aria network