SlideShare a Scribd company logo
JOURNAL OF TELECOMMUNICATIONS, VOLUME 7, ISSUE 2, MARCH 2011
40
© 2011 JOT
http://sites.google.com/site/journaloftelecommunications/
MATLAB Implementation of Multiuser
Code Division Multiple Access
A. A. Patel, A. D. Patel
Abstract—Some of the difficulties in the study of new generation wireless mobile systems are lack of practical
implementation for various strategies like, multiuser code division multiple accesses, assigning radio resources using DS-
SS, use of orthogonal codes etc. In this paper we are going to discuss some of the above stated problems with their
implementation issues. CDMA is a scheme by which multiple users are assigned radio resources using DS-SS
techniques. Although all users are transmitting in the same RF band, individual users are separated from each other via
the use of orthogonal codes. Capacity is defined as the total number of simultaneous users the system can support, and
quality is defined as the perceived condition of a radio link assigned to a particular user. We have use MATLAB as a
simulation tool and result shows how multi-user CDMA performs under certain circumstances.
Index Terms—Multi-user CDMA, Hadamard code, Walsh code, Orthogonal code, MATLAB
1. INTRODUCTION
Wireless communication is one of the most
emerging areas in the field of voice and data
transmission. The fast growing cellular
industry provides higher and higher capacities
for more and more subscribers each year. After
a long discussion about the best method for
multiple accesses, CDMA (Code -Division
Multiple Access) has emerged as one of the
best multiple access schemes. In CDMA
communication systems, all the subscribers
share the common channel. Unlike TDMA
(Time-Division Multiple Access) and FDMA
(Frequency-Division Multiple Access), where
each user is assigned a unique time slot or
channel, users in CDMA experience direct
interference from the other users “[1].
1.1 Multi Access System
Sharing of the uplink channel can be provided
by one or more of the following multi access:
Static Multi access
Demand Assigned Multi access
Random Multi access
The choice of a multi access protocol depends
upon the traffic characteristics of the network.
Dynamic multi access methods are
differentiated from the static multi access
methods by virtue of their ability to allocate
channels and channel resources to individual
users “on demand.” In order to accommodate
the demand for wireless communication
services, efficient use of limited available
frequency spectrum is imperative. Static Multi
access is very old and common technique.
Under a static allocation, a user’s portion of
the channel may be idle when another user
could use it. In such instances, a dynamic
allocation strategy is desirable. Furthermore,
when the set of active users change with time,
some method is needed to dynamically
reallocate the channels to the various users as
they come and go. Random multi access
methods allow users to transmit whenever
they want without considering orthogonality
with other users. The need for random multi
access arises in various scenarios like, if the
number of potential users is much larger than
the number of active users and when data
from individual users are so busty that the
control overhead of the DAMA protocol is
unacceptable. “[5]
1.2 Code Division Multiple Access
(CDMA) Cellular System
These systems provide multiple accesses while
using the same frequencies for all the users at
the same time. This is made possible by using
a technique called Spread-Spectrum
Techniques. A CDMA system with orthogonal
codes is an example of static channel sharing.
That is, the user signals are completely
separated by orthogonal codes as they are
separated in frequency and time in FDMA and
TDMA systems, respectively. When semi-
orthogonal codes are used in a CDMA system,
interference occurs among active users just as
collision occurs in a random multi access
channel. Thus a CDMA system has some
JOURNAL OF TELECOMMUNICATIONS, VOLUME 7, ISSUE 2, MARCH 2011
41
© 2011 JOT
http://sites.google.com/site/journaloftelecommunications/
characteristics of a random multi access
channel. While random multi access channels
generally require retransmission in case of
collisions, CDMA systems allow detection of
individual users even in the presence of multi
access interference without necessitating
retransmission. Consequently, a larger number
of users can be accommodated in a CDMA
system by allowing multiple access
interference (MAI) in the uplink channel. Since
the number of semi-orthogonal codes is not
fixed, CDMA systems are said to be of soft
capacity. “[5]
1.3 Orthogonal Codes
Two general categories of spreading sequences
have been used: PN (pseudo noise or
pseudorandom number) sequences and
orthogonal codes. PN sequences are the most
common ones used in FHSS systems and DSSS
systems not employing CDMA. In DSSS
CDMA systems, both PN and orthogonal
codes have been used. In this article, I'll
examine orthogonal sequences. When the DS-
CDMA system can be guaranteed to be
synchronous, it is preferable to use orthogonal
sequences for spreading. This results in the
complete elimination of MAI.
In order to avoid mutual interference on the
forward link, Walsh codes are used to separate
individual users while they simultaneously
occupy the same RF band. Walsh codes as
used in IS-95 are a set of 64 binary orthogonal
sequences. These sequences are orthogonal to
each other, and they are generated by using
the Hadamard matrix. Recursion is used to
generate higher order matrices from lower
order ones; that is,
2
N N
N
N N
H H
H
H H
 
=   
 
Where, NH
contains the same but inverted
elements of HN.
The main purpose of Walsh codes in CDMA is
to provide orthogonality among all the users
in a cell. Each user traffic channel is assigned a
different Walsh code by the base station.
Rule of Thumb: For generating the matrix is
for a given seed repeat it over right once and
below once and invert diagonally as shown in
the above example. For the given seed,
2
0 0
0 0
H
 
=  
 
Therefore, to derive a set of four orthogonal
Walsh sequences W0, W1, W2, and W3, we
only need to generate a Hadamard matrix of
order 4 “[2], or
2 2
4
2 2
0 0 0 0
0 1 0 1
0 0 1 1
0 1 1 0
H H
H
H H
 
= = 
 
2. RELATED WORK
The first cellular networks were based on
analog radio transmission technologies such as
Advance Mobile Phone System (AMPS). “[7]
Figure 1: Evolution of Cellular Systems
2.1 Early Uses
1. One of the early applications for code
division multiplexing—predating, and distinct
from cdmaOne—is in GPS.
2. The Qualcomm standard IS-95, marketed as
cdmaOne.
3. The Qualcomm standard IS-2000, known as
CDMA2000. This standard is used by several
mobile phone companies, including the Global
star satellite phone network.
2.2 Ongoing Research On CDMA
1. Increase capacity by joint decoding
(multiuser detection & interference
cancellation)
2. Applying CDMA to other applications:
optical CDMA, adhoc networks, dense
wireless LANs
JOURNAL OF TELECOMMUNICATIONS, VOLUME 7, ISSUE 2, MARCH 2011
42
© 2011 JOT
http://sites.google.com/site/journaloftelecommunications/
3. “MultiCDMA”: multiple antenna CDMA,
multicarrier CDMA, multicode CDMA “[5]
3. MATLAB IMPLEMENTATION
MATLAB has evolved over a period of years
with input from many users.
In university environments, it is the standard
instructional tool for introductory and
advanced courses in mathematics,
engineering, and science. In industry,
MATLAB is the tool of choice for high
productivity research, development, and
analysis. “[4].
Figure 2: generation of CDMA transmitted signals
Channelization is done in following steps:
• Generate Walsh Codes
• Generate Codes for each message
• Transmitted Signal
• Retrieval of message
Suppose that there are three different users,
and each user wishes to send a separate
message. The separate messages are:
[ ]
[ ]
[ ]
1
2
3
1 1 1
1 1 1
1 1 1
M
M
M
= + − +
= + + −
= − + +
There respective codes are as follows:
[ ]
[ ]
[ ]
[ ]
0
1
2
3
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
W
W
W
W
= − − − −
= − + − +
= − − + +
= − + + −
The signal to be transmitted is calculated to be
M (t) * W (t). This is shown:
M1(t) = +1 -1 +1
M1(t) = +1 +1 +1 +1 -1 -1 -1 -1 +1 +1+1 +1
W1(t) = -1 +1 -1 +1 -1 +1 -1 +1 -1 +1 -1+1
M1(t) * W1(t) = -1 +1 -1 +1 +1 -1 +1 -1 -1 +1 -1+1
Similarly for the M2 (t) and M3 (t)
M2(t) * W2(t) = -1 -1 +1 +1 -1 -1 +1 +1 +1 +1 -1 -1
M3(t) * W3(t) = +1 -1 -1 +1 -1 +1 +1 -1 -1 +1 +1 -1
The spread-spectrum signals for all three
messages, M1 (t) * W1 (t), M2 (t) * W2 (t), and
M3 (t) * W3 (t), are combined to form a
composite signal C (t); that is,
C(t) = M1(t) * W1(t) + M2(t) * W2(t) + M3(t) * W3(t)
The resulting C (t) is
C(t) = -1 -1 -1 +3 -1 -1 +3 -1 -1 +3 -1 -1
C (t) is the composite signal that is transmitted
in the single RF band. If there are negligible
errors during the transmission process, the
receiver intercepts C (t). In order to separate
out the original messages M1 (t), M2 (t), and
M3 (t) from the composite signal C (t), the
receiver multiplies C (t) by the assigned Walsh
code for each message “[3]:
C(t)W1(t) = 1 -1 1 3 1 -1 -3 -1 1 3 1 -1
C(t)W2(t) = 1 1 -1 3 1 1 3 -1 1 -3 -1 1
C(t)W3(t) = 1 -1 -1 -3 1 -1 3 1 1 3 -1 1
C(t)W1(t) =1 -1 1 3 1 -1 -3 -1 1 3 1 -1
M1(t) = 4 -4 4
C(t)W2(t) = 1 1 -1 3 1 1 3 -1 1 -3 -1 1
M2(t) = 4 4 -4
C(t)W3(t) = 1 -1 -1 -3 1 -1 3 1 1 3 -1 1
M3(t) = -4 4 4
m(t) = 1 if M(t) > 0
m(t) = -1 if M(t) < 0
m(t) 1 - 1 1
m(t) 1 1 -1
m(t) -1 1 1
3.1 Mathematical Terms
If original signal is d (t) of power Ps, and the
code sequence is given by g(t), the resultant
modulated signal is,
JOURNAL OF TELECOMMUNICATIONS, VOLUME 7, ISSUE 2, MARCH 2011
43
© 2011 JOT
http://sites.google.com/site/journaloftelecommunications/
( ) 2 ( ) ( )Ss t P d t g t=
The multiplication of the data sequence with
the spreading sequence is the first modulation.
Then the signal is multiplied by the carrier
which is the second modulation. The carrier
here is analog.
( ) 2 ( ) ( )sin(2 )S cf ts t P d t g t π=
Here, s(t)=Spreaded signal which is
transmitted, sin (2Πfct) = carrier analog signal,
Where, fc = carrier frequency and t = time.
On the receive side, we multiply this signal
again with the carrier. What we get is this.
2
( ) 2 ( ) ( )sin (2 )S cs t P d t g t f tπ=
By the trigonometric identity
2
sin (2 ) 1 cos(4 )c cf t f tπ π= −
We get
( ) 2 ( ) ( )(1 cos(4 ))s crcv t P d t g t f tπ= −
Where, rcv (t) =received signal at
receiver
Where the underlined part is the double
frequency extraneous term, which we filter out
and we are left with just the signal.
( ) 2 ( ) ( )srcv t P d t g t=
Now we multiply this remaining signal with
g(t), the code sequence and we get,
( ) 2 ( ) ( ) ( )srcv t P d t g t g t=
Now from having used a very special kind of
sequence, we say that correlatation of g(t) with
itself (only when perfectly aligned) is a certain
scalar number which can be removed, and we
get the original signal back.
( ) 2 ( )srcv t P d t=
In CDMA we do modulation twice. First with
a binary sequence g(t), the properties of which
we will discuss below and then by a carrier.
The binary sequence modulation ahead of the
carrier modulation accomplishes two
functions,
1. It spread the signal and
2. It introduces a form of encryption because
the same sequence is needed at the receiver to
demodulate the signal.
In IS-95, we do this three times, once with a
code called Walsh, then with a code called
Short Code and then with one called Long
code. “[6]
4. RESULTS
The steps for getting the result from MATLAB
code is given below.
Let’s generate the hadamard code,
hadamard(n); /* inbuilt function for
generation of hadamard
matrix, n is power of 2 */
zeros (n,n); /* Initialize matrix */
/* converting physical value to binary */
for i=1:n
for j=1:n
h (i,j)=(c(i,j)+1)/2;
end;
end;
Then XOR the input data with hadamard code,
if d12(m1) = -1 then
a2(:,m1) = h2;
else
a2(:,m1) = (-1)*h2;
Here d12 is data variable, when data is -1,
output is as it is otherwise negative, h2 is
walsh code and a2 is output.
Now perform addition off all signals which we
will get from above procedure.
A=a2sym+a3sym+………....... + aNsym
JOURNAL OF TELECOMMUNICATIONS, VOLUME 7, ISSUE 2, MARCH 2011
44
© 2011 JOT
http://sites.google.com/site/journaloftelecommunications/
Now add the noise,
EbNovec =0:1:20; /* noise vector */
sn=length(EbNovec); /* noise vector
length */
for i=1:sn
EbNo = EbNovec(i);
snr=EbNo; /* signal to noise ratio */
r = awgn(A,snr); /* generating noise
through inbuilt function */
rth=zeros(1,spred2);
r1=zeros(1,spred2);
for m=1:spred2
if r(m)<0.5 then
rth(m)=-1;
else
rth(m)=1;
r1(m)=(rth(m)+1)/2;
here, 0.5 is considered as threshold, if r(m) is
less then threshold then output is -1 otherwise
1.
Now perform XOR operation with the result
which you are getting from above code and
then find out the error from the result. Then
plot the graph. The error finding and plotting
code is also given below.
ber2(i)=numerrs2/spred2;
disp(['EbNo = ' num2str(EbNo) ' dB, '
num2str(numerrs2) ...' errors,
BER2 = ' num2str(ber2(i))])
Here BER = Bit Error Rate
The plotted graph may look like this,
0 2 4 6 8 10 12 14
10
-5
10
-4
10
-3
10
-2
10
-1
Performance of multiuser CDMA
EbNo (dB)
BER
data1
Figure 3: Result of BER versus EbNo for single user
0 2 4 6 8 10 12 14
10
-4
10
-3
10
-2
10
-1
Performance of multiuser CDMA
EbNo (dB)
BER
data1
data2
Figure 4: Result of BER versus EbNo for two users
0 2 4 6 8 10 12 14 16
10
-4
10
-3
10
-2
10
-1
Performance of multiuser CDMA
EbNo (dB)
BER
data1
data2
data3
data4
data5
data6
data7
Figure 5: Result of BER versus EbNo for multi- users
5. CONCLUSION
The interested student can follow the
procedure given in this paper to understand
the behavior of multiuser CDMA. Also one
can use the xilinx spartan II Board for the
transmission. The switches of the board can be
used as input to the system. On the other hand
the same board can be used to receive the
signals. The LEDs of second board or seven
segment display will act as a output device.
This can be achieved by synchronizing these
two boards.
REFERENCES
[1] David Tse and Pramod Viswanath, “Fundamental of
wireless communication”, Cambridge university press,
2005.
[2] G. Giunta, “Basic note on Spread Spectrum CDMA
signals”, reviewed for the Academic course of Digital
Signal Processing of the Third University of Rome, May
2000.
[3] Qualcomm CDMA University, “Engineering
Introductionto CDMA”.
[4] Gang Xu, “Implementation Issues of Multi-user
Detection in CDMA Communication Systems”, and the
department of Master of Science Electrical and
JOURNAL OF TELECOMMUNICATIONS, VOLUME 7, ISSUE 2, MARCH 2011
45
© 2011 JOT
http://sites.google.com/site/journaloftelecommunications/
Computer Engineering,Rice University,Houston,Texas,
May1999.
[5] Zartash Afzal Uzmi, “Simplified Multiuser Detection for
Cdma Systems”, the Department of Electrical
Engineering and the Committee on Graduate Studies of
Stanford University,July2002.
[6] Robert Chao, Yung Lu, ”Multi-user Detection in CDMA
MIMO Systems with Timing Mismatch”, Department of
Electrical and Computer Engineering in Queen’s
UniversityKingston,Ontario,CanadaJanuary2004.
[7] K. S. Gilhousen, I.M.Jacobs, R. Padovani,A.J. Viterbi, L.
A.Weaver, Jr,and C.E.Wheatley III, “On thecapacityof
a cellular CDMA system,” IEEE Trans. Vehicular Tech.,
vol.40,no.2,pp.303-311,May1991.
A. A. Patel (Amisha A. Patel) M.E. Communication
Engineering. The work presented here is the study of
some topics from her dissertation thesis.
A. D. Patel (Ashish D. Patel) M.E. Computer
Engineering. He is associated with SVMIT engineering
college for more than five years. He has publish about 5
papers in different areas of computer and
communication in various international / national
journals and conferences.

More Related Content

PPTX
Radix-2 DIT FFT
PPT
Digital signal processing part1
PPT
Correlative level coding
PDF
Tracking Radar
PDF
Digital Signal Processing[ECEG-3171]-Ch1_L03
PPT
Isi and nyquist criterion
PDF
Chapter3 - Fourier Series Representation of Periodic Signals
PPTX
Design of Filters PPT
Radix-2 DIT FFT
Digital signal processing part1
Correlative level coding
Tracking Radar
Digital Signal Processing[ECEG-3171]-Ch1_L03
Isi and nyquist criterion
Chapter3 - Fourier Series Representation of Periodic Signals
Design of Filters PPT

What's hot (20)

PPTX
Convolutional codes
PPT
Radio propagation
PDF
IIR filter realization using direct form I & II
PPSX
Multirate digital signal processing
PDF
hyperlynx_compress.pdf
PDF
Nyquist criterion for zero ISI
DOCX
EEP306: Amplitude modulation
PPT
Structures for FIR systems
PDF
DSP_FOEHU - Lec 07 - Digital Filters
PDF
Circular convolution Using DFT Matlab Code
PDF
Sigma-Delta Analog to Digital Converters
PDF
Decimation and Interpolation
PDF
Computing DFT using Matrix method
PPTX
BCH Codes
PDF
Chapter5 - The Discrete-Time Fourier Transform
PPTX
Double SideBand Suppressed Carrier (DSB-SC)
PDF
PPTX
Frequency transformation
PDF
Dsp U Lec10 DFT And FFT
PPTX
Spread spectrum modulation
Convolutional codes
Radio propagation
IIR filter realization using direct form I & II
Multirate digital signal processing
hyperlynx_compress.pdf
Nyquist criterion for zero ISI
EEP306: Amplitude modulation
Structures for FIR systems
DSP_FOEHU - Lec 07 - Digital Filters
Circular convolution Using DFT Matlab Code
Sigma-Delta Analog to Digital Converters
Decimation and Interpolation
Computing DFT using Matrix method
BCH Codes
Chapter5 - The Discrete-Time Fourier Transform
Double SideBand Suppressed Carrier (DSB-SC)
Frequency transformation
Dsp U Lec10 DFT And FFT
Spread spectrum modulation
Ad

Similar to MATLAB Implementation of Multiuser Code Division Multiple Access (20)

PDF
Cdma introduction pr
DOCX
Cdma and 3 g
DOC
3.final report
PPT
Cdma system
PPT
PDF
Performance Evaluation of MC-CDMA for Fixed WiMAX with Equalization
PDF
MC-cdma
PPTX
Telecommunication Technologies
PDF
Ed36788792
PPTX
Code-Division Multiple Access (CDMA)
PPTX
An overwiew of cdma
PPTX
An overwiew of cdma
PPTX
Ec 2401 wireless communication unit 5
PDF
Cdma pdf
PDF
checking from app
PDF
Cdma pdf
PPTX
Lecture 3 spread spectrum
PPTX
Lecture 3 spread spectrum
Cdma introduction pr
Cdma and 3 g
3.final report
Cdma system
Performance Evaluation of MC-CDMA for Fixed WiMAX with Equalization
MC-cdma
Telecommunication Technologies
Ed36788792
Code-Division Multiple Access (CDMA)
An overwiew of cdma
An overwiew of cdma
Ec 2401 wireless communication unit 5
Cdma pdf
checking from app
Cdma pdf
Lecture 3 spread spectrum
Lecture 3 spread spectrum
Ad

Recently uploaded (20)

PDF
composite construction of structures.pdf
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PPT
Introduction, IoT Design Methodology, Case Study on IoT System for Weather Mo...
PDF
Well-logging-methods_new................
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PPTX
Construction Project Organization Group 2.pptx
PPTX
Safety Seminar civil to be ensured for safe working.
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PPTX
Sustainable Sites - Green Building Construction
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PPTX
Lecture Notes Electrical Wiring System Components
PPTX
Geodesy 1.pptx...............................................
PPT
introduction to datamining and warehousing
PPTX
Internet of Things (IOT) - A guide to understanding
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
Current and future trends in Computer Vision.pptx
composite construction of structures.pdf
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
Introduction, IoT Design Methodology, Case Study on IoT System for Weather Mo...
Well-logging-methods_new................
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
Construction Project Organization Group 2.pptx
Safety Seminar civil to be ensured for safe working.
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
Sustainable Sites - Green Building Construction
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
Operating System & Kernel Study Guide-1 - converted.pdf
Lecture Notes Electrical Wiring System Components
Geodesy 1.pptx...............................................
introduction to datamining and warehousing
Internet of Things (IOT) - A guide to understanding
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
CYBER-CRIMES AND SECURITY A guide to understanding
CH1 Production IntroductoryConcepts.pptx
Current and future trends in Computer Vision.pptx

MATLAB Implementation of Multiuser Code Division Multiple Access

  • 1. JOURNAL OF TELECOMMUNICATIONS, VOLUME 7, ISSUE 2, MARCH 2011 40 © 2011 JOT http://sites.google.com/site/journaloftelecommunications/ MATLAB Implementation of Multiuser Code Division Multiple Access A. A. Patel, A. D. Patel Abstract—Some of the difficulties in the study of new generation wireless mobile systems are lack of practical implementation for various strategies like, multiuser code division multiple accesses, assigning radio resources using DS- SS, use of orthogonal codes etc. In this paper we are going to discuss some of the above stated problems with their implementation issues. CDMA is a scheme by which multiple users are assigned radio resources using DS-SS techniques. Although all users are transmitting in the same RF band, individual users are separated from each other via the use of orthogonal codes. Capacity is defined as the total number of simultaneous users the system can support, and quality is defined as the perceived condition of a radio link assigned to a particular user. We have use MATLAB as a simulation tool and result shows how multi-user CDMA performs under certain circumstances. Index Terms—Multi-user CDMA, Hadamard code, Walsh code, Orthogonal code, MATLAB 1. INTRODUCTION Wireless communication is one of the most emerging areas in the field of voice and data transmission. The fast growing cellular industry provides higher and higher capacities for more and more subscribers each year. After a long discussion about the best method for multiple accesses, CDMA (Code -Division Multiple Access) has emerged as one of the best multiple access schemes. In CDMA communication systems, all the subscribers share the common channel. Unlike TDMA (Time-Division Multiple Access) and FDMA (Frequency-Division Multiple Access), where each user is assigned a unique time slot or channel, users in CDMA experience direct interference from the other users “[1]. 1.1 Multi Access System Sharing of the uplink channel can be provided by one or more of the following multi access: Static Multi access Demand Assigned Multi access Random Multi access The choice of a multi access protocol depends upon the traffic characteristics of the network. Dynamic multi access methods are differentiated from the static multi access methods by virtue of their ability to allocate channels and channel resources to individual users “on demand.” In order to accommodate the demand for wireless communication services, efficient use of limited available frequency spectrum is imperative. Static Multi access is very old and common technique. Under a static allocation, a user’s portion of the channel may be idle when another user could use it. In such instances, a dynamic allocation strategy is desirable. Furthermore, when the set of active users change with time, some method is needed to dynamically reallocate the channels to the various users as they come and go. Random multi access methods allow users to transmit whenever they want without considering orthogonality with other users. The need for random multi access arises in various scenarios like, if the number of potential users is much larger than the number of active users and when data from individual users are so busty that the control overhead of the DAMA protocol is unacceptable. “[5] 1.2 Code Division Multiple Access (CDMA) Cellular System These systems provide multiple accesses while using the same frequencies for all the users at the same time. This is made possible by using a technique called Spread-Spectrum Techniques. A CDMA system with orthogonal codes is an example of static channel sharing. That is, the user signals are completely separated by orthogonal codes as they are separated in frequency and time in FDMA and TDMA systems, respectively. When semi- orthogonal codes are used in a CDMA system, interference occurs among active users just as collision occurs in a random multi access channel. Thus a CDMA system has some
  • 2. JOURNAL OF TELECOMMUNICATIONS, VOLUME 7, ISSUE 2, MARCH 2011 41 © 2011 JOT http://sites.google.com/site/journaloftelecommunications/ characteristics of a random multi access channel. While random multi access channels generally require retransmission in case of collisions, CDMA systems allow detection of individual users even in the presence of multi access interference without necessitating retransmission. Consequently, a larger number of users can be accommodated in a CDMA system by allowing multiple access interference (MAI) in the uplink channel. Since the number of semi-orthogonal codes is not fixed, CDMA systems are said to be of soft capacity. “[5] 1.3 Orthogonal Codes Two general categories of spreading sequences have been used: PN (pseudo noise or pseudorandom number) sequences and orthogonal codes. PN sequences are the most common ones used in FHSS systems and DSSS systems not employing CDMA. In DSSS CDMA systems, both PN and orthogonal codes have been used. In this article, I'll examine orthogonal sequences. When the DS- CDMA system can be guaranteed to be synchronous, it is preferable to use orthogonal sequences for spreading. This results in the complete elimination of MAI. In order to avoid mutual interference on the forward link, Walsh codes are used to separate individual users while they simultaneously occupy the same RF band. Walsh codes as used in IS-95 are a set of 64 binary orthogonal sequences. These sequences are orthogonal to each other, and they are generated by using the Hadamard matrix. Recursion is used to generate higher order matrices from lower order ones; that is, 2 N N N N N H H H H H   =      Where, NH contains the same but inverted elements of HN. The main purpose of Walsh codes in CDMA is to provide orthogonality among all the users in a cell. Each user traffic channel is assigned a different Walsh code by the base station. Rule of Thumb: For generating the matrix is for a given seed repeat it over right once and below once and invert diagonally as shown in the above example. For the given seed, 2 0 0 0 0 H   =     Therefore, to derive a set of four orthogonal Walsh sequences W0, W1, W2, and W3, we only need to generate a Hadamard matrix of order 4 “[2], or 2 2 4 2 2 0 0 0 0 0 1 0 1 0 0 1 1 0 1 1 0 H H H H H   = =    2. RELATED WORK The first cellular networks were based on analog radio transmission technologies such as Advance Mobile Phone System (AMPS). “[7] Figure 1: Evolution of Cellular Systems 2.1 Early Uses 1. One of the early applications for code division multiplexing—predating, and distinct from cdmaOne—is in GPS. 2. The Qualcomm standard IS-95, marketed as cdmaOne. 3. The Qualcomm standard IS-2000, known as CDMA2000. This standard is used by several mobile phone companies, including the Global star satellite phone network. 2.2 Ongoing Research On CDMA 1. Increase capacity by joint decoding (multiuser detection & interference cancellation) 2. Applying CDMA to other applications: optical CDMA, adhoc networks, dense wireless LANs
  • 3. JOURNAL OF TELECOMMUNICATIONS, VOLUME 7, ISSUE 2, MARCH 2011 42 © 2011 JOT http://sites.google.com/site/journaloftelecommunications/ 3. “MultiCDMA”: multiple antenna CDMA, multicarrier CDMA, multicode CDMA “[5] 3. MATLAB IMPLEMENTATION MATLAB has evolved over a period of years with input from many users. In university environments, it is the standard instructional tool for introductory and advanced courses in mathematics, engineering, and science. In industry, MATLAB is the tool of choice for high productivity research, development, and analysis. “[4]. Figure 2: generation of CDMA transmitted signals Channelization is done in following steps: • Generate Walsh Codes • Generate Codes for each message • Transmitted Signal • Retrieval of message Suppose that there are three different users, and each user wishes to send a separate message. The separate messages are: [ ] [ ] [ ] 1 2 3 1 1 1 1 1 1 1 1 1 M M M = + − + = + + − = − + + There respective codes are as follows: [ ] [ ] [ ] [ ] 0 1 2 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 W W W W = − − − − = − + − + = − − + + = − + + − The signal to be transmitted is calculated to be M (t) * W (t). This is shown: M1(t) = +1 -1 +1 M1(t) = +1 +1 +1 +1 -1 -1 -1 -1 +1 +1+1 +1 W1(t) = -1 +1 -1 +1 -1 +1 -1 +1 -1 +1 -1+1 M1(t) * W1(t) = -1 +1 -1 +1 +1 -1 +1 -1 -1 +1 -1+1 Similarly for the M2 (t) and M3 (t) M2(t) * W2(t) = -1 -1 +1 +1 -1 -1 +1 +1 +1 +1 -1 -1 M3(t) * W3(t) = +1 -1 -1 +1 -1 +1 +1 -1 -1 +1 +1 -1 The spread-spectrum signals for all three messages, M1 (t) * W1 (t), M2 (t) * W2 (t), and M3 (t) * W3 (t), are combined to form a composite signal C (t); that is, C(t) = M1(t) * W1(t) + M2(t) * W2(t) + M3(t) * W3(t) The resulting C (t) is C(t) = -1 -1 -1 +3 -1 -1 +3 -1 -1 +3 -1 -1 C (t) is the composite signal that is transmitted in the single RF band. If there are negligible errors during the transmission process, the receiver intercepts C (t). In order to separate out the original messages M1 (t), M2 (t), and M3 (t) from the composite signal C (t), the receiver multiplies C (t) by the assigned Walsh code for each message “[3]: C(t)W1(t) = 1 -1 1 3 1 -1 -3 -1 1 3 1 -1 C(t)W2(t) = 1 1 -1 3 1 1 3 -1 1 -3 -1 1 C(t)W3(t) = 1 -1 -1 -3 1 -1 3 1 1 3 -1 1 C(t)W1(t) =1 -1 1 3 1 -1 -3 -1 1 3 1 -1 M1(t) = 4 -4 4 C(t)W2(t) = 1 1 -1 3 1 1 3 -1 1 -3 -1 1 M2(t) = 4 4 -4 C(t)W3(t) = 1 -1 -1 -3 1 -1 3 1 1 3 -1 1 M3(t) = -4 4 4 m(t) = 1 if M(t) > 0 m(t) = -1 if M(t) < 0 m(t) 1 - 1 1 m(t) 1 1 -1 m(t) -1 1 1 3.1 Mathematical Terms If original signal is d (t) of power Ps, and the code sequence is given by g(t), the resultant modulated signal is,
  • 4. JOURNAL OF TELECOMMUNICATIONS, VOLUME 7, ISSUE 2, MARCH 2011 43 © 2011 JOT http://sites.google.com/site/journaloftelecommunications/ ( ) 2 ( ) ( )Ss t P d t g t= The multiplication of the data sequence with the spreading sequence is the first modulation. Then the signal is multiplied by the carrier which is the second modulation. The carrier here is analog. ( ) 2 ( ) ( )sin(2 )S cf ts t P d t g t π= Here, s(t)=Spreaded signal which is transmitted, sin (2Πfct) = carrier analog signal, Where, fc = carrier frequency and t = time. On the receive side, we multiply this signal again with the carrier. What we get is this. 2 ( ) 2 ( ) ( )sin (2 )S cs t P d t g t f tπ= By the trigonometric identity 2 sin (2 ) 1 cos(4 )c cf t f tπ π= − We get ( ) 2 ( ) ( )(1 cos(4 ))s crcv t P d t g t f tπ= − Where, rcv (t) =received signal at receiver Where the underlined part is the double frequency extraneous term, which we filter out and we are left with just the signal. ( ) 2 ( ) ( )srcv t P d t g t= Now we multiply this remaining signal with g(t), the code sequence and we get, ( ) 2 ( ) ( ) ( )srcv t P d t g t g t= Now from having used a very special kind of sequence, we say that correlatation of g(t) with itself (only when perfectly aligned) is a certain scalar number which can be removed, and we get the original signal back. ( ) 2 ( )srcv t P d t= In CDMA we do modulation twice. First with a binary sequence g(t), the properties of which we will discuss below and then by a carrier. The binary sequence modulation ahead of the carrier modulation accomplishes two functions, 1. It spread the signal and 2. It introduces a form of encryption because the same sequence is needed at the receiver to demodulate the signal. In IS-95, we do this three times, once with a code called Walsh, then with a code called Short Code and then with one called Long code. “[6] 4. RESULTS The steps for getting the result from MATLAB code is given below. Let’s generate the hadamard code, hadamard(n); /* inbuilt function for generation of hadamard matrix, n is power of 2 */ zeros (n,n); /* Initialize matrix */ /* converting physical value to binary */ for i=1:n for j=1:n h (i,j)=(c(i,j)+1)/2; end; end; Then XOR the input data with hadamard code, if d12(m1) = -1 then a2(:,m1) = h2; else a2(:,m1) = (-1)*h2; Here d12 is data variable, when data is -1, output is as it is otherwise negative, h2 is walsh code and a2 is output. Now perform addition off all signals which we will get from above procedure. A=a2sym+a3sym+………....... + aNsym
  • 5. JOURNAL OF TELECOMMUNICATIONS, VOLUME 7, ISSUE 2, MARCH 2011 44 © 2011 JOT http://sites.google.com/site/journaloftelecommunications/ Now add the noise, EbNovec =0:1:20; /* noise vector */ sn=length(EbNovec); /* noise vector length */ for i=1:sn EbNo = EbNovec(i); snr=EbNo; /* signal to noise ratio */ r = awgn(A,snr); /* generating noise through inbuilt function */ rth=zeros(1,spred2); r1=zeros(1,spred2); for m=1:spred2 if r(m)<0.5 then rth(m)=-1; else rth(m)=1; r1(m)=(rth(m)+1)/2; here, 0.5 is considered as threshold, if r(m) is less then threshold then output is -1 otherwise 1. Now perform XOR operation with the result which you are getting from above code and then find out the error from the result. Then plot the graph. The error finding and plotting code is also given below. ber2(i)=numerrs2/spred2; disp(['EbNo = ' num2str(EbNo) ' dB, ' num2str(numerrs2) ...' errors, BER2 = ' num2str(ber2(i))]) Here BER = Bit Error Rate The plotted graph may look like this, 0 2 4 6 8 10 12 14 10 -5 10 -4 10 -3 10 -2 10 -1 Performance of multiuser CDMA EbNo (dB) BER data1 Figure 3: Result of BER versus EbNo for single user 0 2 4 6 8 10 12 14 10 -4 10 -3 10 -2 10 -1 Performance of multiuser CDMA EbNo (dB) BER data1 data2 Figure 4: Result of BER versus EbNo for two users 0 2 4 6 8 10 12 14 16 10 -4 10 -3 10 -2 10 -1 Performance of multiuser CDMA EbNo (dB) BER data1 data2 data3 data4 data5 data6 data7 Figure 5: Result of BER versus EbNo for multi- users 5. CONCLUSION The interested student can follow the procedure given in this paper to understand the behavior of multiuser CDMA. Also one can use the xilinx spartan II Board for the transmission. The switches of the board can be used as input to the system. On the other hand the same board can be used to receive the signals. The LEDs of second board or seven segment display will act as a output device. This can be achieved by synchronizing these two boards. REFERENCES [1] David Tse and Pramod Viswanath, “Fundamental of wireless communication”, Cambridge university press, 2005. [2] G. Giunta, “Basic note on Spread Spectrum CDMA signals”, reviewed for the Academic course of Digital Signal Processing of the Third University of Rome, May 2000. [3] Qualcomm CDMA University, “Engineering Introductionto CDMA”. [4] Gang Xu, “Implementation Issues of Multi-user Detection in CDMA Communication Systems”, and the department of Master of Science Electrical and
  • 6. JOURNAL OF TELECOMMUNICATIONS, VOLUME 7, ISSUE 2, MARCH 2011 45 © 2011 JOT http://sites.google.com/site/journaloftelecommunications/ Computer Engineering,Rice University,Houston,Texas, May1999. [5] Zartash Afzal Uzmi, “Simplified Multiuser Detection for Cdma Systems”, the Department of Electrical Engineering and the Committee on Graduate Studies of Stanford University,July2002. [6] Robert Chao, Yung Lu, ”Multi-user Detection in CDMA MIMO Systems with Timing Mismatch”, Department of Electrical and Computer Engineering in Queen’s UniversityKingston,Ontario,CanadaJanuary2004. [7] K. S. Gilhousen, I.M.Jacobs, R. Padovani,A.J. Viterbi, L. A.Weaver, Jr,and C.E.Wheatley III, “On thecapacityof a cellular CDMA system,” IEEE Trans. Vehicular Tech., vol.40,no.2,pp.303-311,May1991. A. A. Patel (Amisha A. Patel) M.E. Communication Engineering. The work presented here is the study of some topics from her dissertation thesis. A. D. Patel (Ashish D. Patel) M.E. Computer Engineering. He is associated with SVMIT engineering college for more than five years. He has publish about 5 papers in different areas of computer and communication in various international / national journals and conferences.