Sie sind auf Seite 1von 51

Chapter 1: Preamble

1.1 Objective
The objective of the work is to design and simulate a multiuser spread spectrum CDMA system where
user data is spreaded with gold sequence. In a spread spectrum system the transmitted data is encoded
or spreaded with PN code and are transmitted. As the number of users increases, correlation amongst
these PN codes also increases, leading to increased BER. This BER can be reduced if the PN codes are
uncorrelated. Their auto correlation must be high enough and cross correlation must be low enough.
This can not be achieved by normal PN sequence. Therefore in this work we develop a Gold Code
generation which achieves very minimum cross correlation and therefore interference amongst various
user data is minimum.
1.2 Statement of the problem
The project statement can be summarized as to design and simulate a spread spectrum system with
gold code and to demonstrate the low cross correlation and high autocorrelation properties of gold
code improves the performance of the system under multi user environment and under the presence of
noise like Gaussian noise.

1.3 General Introduction to Wireles Multiple access
Multiple Access Techniques

Multiple Accesses is fundamental to satellite communication because it is the means by which
the wide geographic coverage capability and broadcast nature of the satellite channel are exploited.
Multiple Access is the ability of a large number of earth stations to simultaneously interconnect their
respective voice, data, Teletype and TV links through a satellite. It effects all elements of the system,
determines the system capability and flexibility and has a strong influence on costs. Multiple access
means multiple, simultaneous users can be supported in other words a large number of users share a
common pool of radio channels and any user can gain access to any channel.(each user always not
assigned same channel).A channel is a portion of the limited radio resource which is temporarily
allocated for a specific purpose each as a phone call Multiple Access method is a definition of how radio
spectrum is divided in to channels and how channels are allocated to many users of the system.
There are three basic dimensions that can be allocated to provide multiple access:
- Space
- Time
- Frequency
Spatial allocations are largely fixed by significant infrastructure deployment decisions. Time and
frequency can be allocated more flexibly. Here, well focus on time and frequency based multiple-access
techniques.
The three fundamental allocation schemes are:
- Frequency Division Multiple Access(FDMA)
- Time Division Multiple Access(TDMA)
Code Division Multiple Access (CDMA)
Any Multiple-Access technique encountered in theoretically offers the same capacity in an ideal
environment. But in environments typically Cellular Communications, some techniques provide better
capacity than the others. The capacity limitation of earlier analog cellular systems employing frequency
modulation and digital techniques offering more capacity were proposed for overcoming the limitation.
Time Division Multiple Access (TDMA) and Code Division Multiple Access (CDMA) were the primary
digital transmission techniques that were researched and it was found that CDMA systems offer the
highest capacity than the other competing digital technologies (like TDMA) and analog technologies.
CODE DIVISION MULTIPLE ACCESS
In a code-division multiple-access (CDMA) communication system, a communication
channel with a given band-width is accessed by all the users simultaneously. The different mobile
users are distinguished at the base station receiver by the unique spreading code assigned to the
users to modulate the transmitted signals. Hence, the CDMA signal transmitted by any given user
consists of that users data which modulates the unique spreading code assigned to that user,
which in turn modulates a carrier using any well-known modulation scheme. The frequency of this
carrier is the same for all users. At the receiver separation is possible because each user spreads the
modulated waveform over a wide bandwidth using unique spreading codes.
The set of codes used must have the following correlation properties:
- Each code must be easily distinguishable from a replica of itself shifted in time.
- Each code must be easily distinguishable regardless of other codes used on the network.
CDMA is the most suitable multiple access transmission technology for Mobile Communications
and all the 3rd Generation Mobile Communication Standards suggest CDMA for the Air-Interface..The
main reason for the success of this technology is the huge increase in capacity covered by CDMA
systems when compared to other analog (FM) or digital (TDMA) transmission systems.
Code division multiple access
Generically, Code Division Multiple Access (or CDMA) is any use of any form of spread
spectrums by multiple transmitters to send to the same receiver on the same frequency channel at the
same time without harmful interference. Other widely used multiple access techniques are Time
Division Multiple Access (TDMA) and Frequency Division Multiple Access ( FDMA ). In these three
schemes, receivers discriminate among various signals by the use of different codes, time slots and
frequency channels, respectively.
The term CDMA is also widely used to refer to a family of specific implementations of CDMA
pioneered by Qualcomm for use in digital cellular telephony. These include IS-95 and IS-2000 . The two
different uses of this term can be confusing. CDMA (the technique) is used in the UMTS standard.
However, CDMA(the standard) and UMTS have been competing for adoption in many markets.
Another important application of CDMA -- predating and entirely distinct from CDMA cellular -- is
the Global Positioning System, GPS .
All forms of CDMA use spread spectrum process gain to allow receivers to partially discriminate
against unwanted signals. Signals with the desired spreading code and timing are received, while signals
with different spreading codes (or the same spreading code but a different timing offset) appear as
wideband noise reduced by the process gain.

The way this works is that each station is assigned a spreading code or chip sequence . Such chip
sequences are expressed as a sequence of -1 and +1 values. The dot product of each chip sequence with
itself is 1 (and the dot product with its complement is -1), whereas the dot product of two different chip
sequences is 0.

E.g. if C1 = (-1,-1,-1,-1) and C2 = (+1,-1,+1,-1)
C1 . C1 = (-1,-1,-1,-1) . (-1,-1,-1,-1) = +1
C1 . -C1 = (-1,-1,-1,-1) . (+1,+1,+1,+1) = -1
C1 . C2 = (-1,-1,-1,-1) . (+1,-1,+1,-1) = 0
C1 . -C2 = (-1,-1,-1,-1) . (-1,+1,-1,+1) = 0

This property is called orthogonality.
These sequences are Walsh codes and can be derived from a binary Walsh matrix .
A station sends out its chip sequence to send a 1, and its inverse to send a 0 (or +1 and a -1; zero
being silence).

When multiple chip codes are sent by multiple stations, the signals add up in the air. For example the
chip sequences (-1,-1,-1,-1) and (+1,-1,+1,-1) add up to (0,-2,0,-2).
The receiver merely needs to calculate the dot product of the station it's interested in with the signal in
the air. E.g. (-1,-1,-1,-1) . (0,-2,0,-2) = +1.
Had -1 been sent the signal in the air would have been (+2,0,+2,0) and the dot product would have been
(-1,-1,-1,-1) . (+2,0,+2,0) = -1.
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. This is inherent in the GPS in that all of the satellites are roughly
equidistant from the users on or near the earth's surface. In CDMA cellular, the base station uses a fast
closed-loop power control scheme to tightly control each mobile's transmit power.

The need for power control can be deduced neatly from the above calculations; if some stations would
broadcast +0.8 and -0.8 and others +1.2 and -1.2, this would wreak havoc with the calculations.

Forward error correction (FEC) coding is also vital in any CDMA scheme to reduce the required signal-to-
interference ratio and thereby maximize channel capacity.

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.
























Chapter 2
CDMA System
2.1 Tran receiver:


Figure 1: Basic Block Diagram of CDMA System
Each user in the system is allocated with Unique PN sequence. These sequences are un correlated.
Before transmission, user data is spreaded with the users PN sequence. Spreading is a function which
first increases the chip rate of the data and then XOR the data with the PN code. In channel encoding
convolution codes are added with the base band signal which helps detecting and removing the channel
noise. Channel is the medium of transmission of data. Different users data are transmitted
simultaneously without requiring any phase delay in transmission like that of frequency hopping
technique. At the receiver, using the multiuser detection system using matched filter, the data of
different users are separated. Further it is decoded with respective users PN code. Modulation is
performed as either QPSK or BPSK to enhance the power of the signal.
The most important part of the system is selecting the PN code. Because multiple users may transmit at
the same time, the codes must be orthogonal and must present very little correlation. i.e. a particular
sub sequence in a code must not repeat for any other user. Though theoretically it is not possible, but
careful selection of the code amy lead to the same.
2.2Basic Principle of Spread Spectrum System:

The building block of the DSSS system is

Figure 2: Input: side of SS
1. Binary data d
t
with symbol rate R
s
= 1/T
s
(=bit rate R
b
for BPSK)
2. Pseudo noise code Pn
t
with chip rate R
c
= 1/T
c
(an integer of R
s
)

Spreading:
In the transmitter the binary data d
t
is directly multiplied with the PN sequence Pn
t
which is
independent of binary data to produce the transmitted baseband signal tx
b
.
tx
b
= d
t
.Pn
t

The effect of multiplication of d
t
with the PN sequence is to spread the baseband b/ w R
s
of d
t
to a
baseband bandwidth of R
c
.

Advantages of Spread Spectrum:

1) Improved interference rejection.
To simplify the influence of interference the spread spectrum system is considered for baseband
BPSK communication(without filtering)
FIGURE
The received signal rx
b
consist of the transmitted signal tx
b
plus an additive intereference(noise
,jammer etc)
rx
b
= tx
b
+ i = d
t
.Pn
t
+i
to recover the original data d
t
the received signal rx
b
is multiplied with locally generated PN
sequence Pn
r
that is an exact replica of that used in the transmitter(ie Pn
r
= Pn
t
& synchronized)
the multiple o/p is given by
d
r
= rx
b
.Pn
t
= d
t
.Pn
t
.Pn
t
+ i.Pn
t

The data signal d
t
is multiplied twice by the PN sequence Pn
t
whereas the unwanted interference i is
multiplied only once .Due to the property of PN sequence
Pn
t
.Pn
t
= +1 for all t
The multiplier o/p becomes d
r
= d
t
+ i.Pn
t
the data signal d
t
is reproduced at the multiplier o/p in the
receiver, except for the interference represented by the additive term i .Pn
t
multiplication of the
interference i by the locally generated PN sequence ,means that the spreading code will affect the
interference just as it did with the information bearing signal at the transmitter. Noise &
interference being uncorrelated with the PN sequence become noise like having higher b/w &
reduced power density after the multiplication. After dispreading the data component d
t
is narrow
band (R
s
) where as the interferences component is wideband(R
c
) .By applying the d
r
signal to a base
band (low pass) filter with a b/w just large enough to accommodate the recovery of the data signal
,most of the interference component i is filtered out. The effect of the interference is reduced by the
processing gain (G
p
) .
2) Code division multiplexing for cdma application
In CDMA systems all users transmit in the same b/w simultaneously .in this transmission technique
,the frequency spectrum of the data signal is spread using a code uncorrelated with that signal as a
result the b/w occupancy is much higher than required .The codes used for spreading have low cross
correlation values & are unique to every user. This is the reason that a receiver which has
knowledge about the code of the intended transmitter, is capable of selecting the desired signal .

3) Low density power spectra for signal hiding.
White noise has the same power spectral density G
wgn
(f) for all frequencies as shown in figure. As
the PN codes are derived from these white noise we can see that the spectral power density is N
o
/2 &
these Pn codes are used for signal hiding. Hence we can say that the power spectral density is low for
signal hiding.
4) High resolution ranging.
5) Secure communication (privacy).
In these days the sss are used in military & other wide range of applications as they provide secure
communication that is the privacy is maintained since the sss uses the PN codes for signal hiding, unless
& until we know the intended PN code for a particular message signal or the user, we cannot get back
the message signal due to the autocorrelation property only when the PN sequence at the transmitter
matches the PN code at the receiver, then only the signal can be recovered.Theu sss provides secure
communication ie only the intended user can decode the signal & it is very difficult to know the PN
sequence .
6) Anti jam capability.
The goal of a jammer is to disturb the communication of his adversary.The goals of the
communicator are to develop a jam resistant communication system under following assumption
1. Complete invulnerability is not possible.
2. The jammer has a prior knowledge of most system parameters, frequency bands, timing,traffic
etc.
3. The jammer has no prior knowledge of the PN spreading code.
Protection against the jamming waveform is provided by purposely making the information bearing
signal occupy a b/w for in excess of the minimum b/w necessary to transmit it .This has the effect of
making the transmitted signal assume a noise like appearance so as to blend in the background.
The transmitted signal is thus enabled to propagate through the channel undetected by
anyone who may be listening.
7) Increased capacity and spectral efficiency in some mobile cellular personal communication
system applications(pcs) .As there is no limitation on the time & frequency utilization any user can
transmit at any time & using as much b/w as required & also there is no intereference among the users
alyhough they are using the same b/w .Hence the spectral efficiency is greatly increased .
8)Graceful degradation of performance as the number of simultaneous users of an RF channel
increases.As the no. of users sharing the same RF channel increases the intereference among the
adjacent users also increases as the autocorrelation & crosscorrelation properties cannot be achieved
perfectly in practical communication system. Due to this intereference there is a degredation in
performance at the receiver in getting back the signal & the computational load also increases
correspondly.
9) Low cost of implementation.
10) Readily available IC components.

Encoding:
Source encoder:
Let the input to the source encoder be a string of source symbol from the source alphabet S={S1,S2--
--S
n
}occurring at the rate of R
s
symbol/sec. A source encoder converts a symbol sequence into a binary
sequence of 0sand 1s by assigning code words to the symbol in the input sequence. Binary coding is
preferred because of its high efficiency of transmission and also the case with which they can be
transmitted over the channel. The simplest way of coding is to assign a fixed length binary code word to
each symbol in the input sequence but fixed length coding of individual symbol in a source o/p is
efficient only if symbol occur with equal probabilities in a statistical independent sequence. In most
practical situation the symbols occur with unequal probabilities .The source encoder then assigns
variable length code word to these symbols. The important parameters of a source encoder are block
size length of the code word, average data rate and encoder efficiency.
Linear block codes:
In channel encoder, a block of k message bits is encoded into a block of n bits by adding (n-k) No. of
check bits as shown in fig below.
Clearly n > k and such a code formed is called (n, k) block code. These (n-k) check bits are derived from k
message bits.

Figure: Channel Encoder Model
A (n, k) block code is said to be a (n, k) linear block code if it satisfies the condition given below.
Let C
1
and C
2
be any two code words (n bits) belonging to a set of (n, k) block code. If C
1
x-or C
2
is
also a n bit code word belonging to the same set of (n, k) block code ,then such a block code is called
(n,k) linear block codes.
A (n,k) linear block code is said to be systematic if the k message bits
appear either at the beginning of the code word or at the end of the code word as depicted in the
fig above.

Matrix description of linear block codes:
Let the message block of k bits (code words) be represented as a row vector or k tuple called
message vector given by
[D]={ d
1
,d
2
----------,d
k
}
Where d
1
,d
2
------d
k
are either 0s or 1s .thus there are 2
k
distinct message vector and all these
message vectors put together represent k tuples in a k dimensional sub space over a vector space of
all n tuples over a field space called GALOIS FIELD denoted by GF(2).
The channel encoder systematically adds (n-k)No of check bits to form a
(n,k) linear block code. Then the 2
k
code vectors can be represented by C={C
1
, C2,----------C
n
}----------
1.
Note that only k tuples out of n tuples in the above equation are valid code vectors and the
remaining (2
n
-2
k
) code vectors are invalid code vectors, which form the error vectors. The ratio k/n is
defined as the rate efficiency of the (n,k)linear block codes .In a systematic linear block codes the
message bits appear at the beginning of the code vector therefore C
i
= d
i
for all i=1 ,2,-----,k --------
--2
The remaining (n-k )bits are check bits .hence equation 1&2 can be combined as

[C]={C
1
,C
2
,-----------,C
k
,C
k+1
,C
k+2
----------,C
n
} ------------3


k message bits (n-k)check bits

These (n-k) No of check bits C
k+1
,-------,C
n
are derived from k message bits using a predetermined rule
as fallows .


C
k+1
=p
11
d
1
+p
21
d
2
+-------p
k1
d
k

C
k+2
=p
21
d
1
+p
22
d
2
+------p
k2
d
k
-

C
n
=p
1,n-k
d
1
+p
2,n-k
d
2
+-----p
k,n-k
d
k


Where p
11
,p
21,
p
12
,p
22
--------are either 0s or 1s and the addition above is performed using modulo 2
arithmetic it is possible to combine 2,3,4 eqn and express the result in a matrix form as
[C
1
C
2
--------C
k
C
k+1
C
k+2
---------C
n
]=


or [C] = [D] [G ]
Where *G+ is called as Generator matrix of the order (k*n) given by *G+ = *I
k
P] (k*n) ----------6
Where I
k
= unit matrix of order k
*P+ = Arbitrary matrix called Parity matrix of order k*(n-k)
When eqn 6 is used for writing the general matrix [G] , then the systematic linear block code so
obtained will have the message bits at the beginning of the code vector and check bits at the
end .The generator matrix [G] can also be expressed as [G] = [P I
k
] in which case the message bits
will be presented at the end & check bits at the beginning of the code vector. The parity matrix [P] is
suitably selected to correct random & burst errors.

Parity Check matrix [H]: The generator matrix is given by



Associated with the generator matrix *G+ ,is another matrix called Parity check matrix -H given by
[H ] = [P
T
I
n-k
] .[H] matrix is a (n-k) * (n) matrix & this matrix is used in error correction .

Syndrome and error correction:
Suppose that C=(C
1
C
2--------------
C
n
) be a valid code vector transmitted over a noisy communication
channel belonging to (n,k) linear block code .Let R={r
1
r
2
----------r
n
} be the received vector .Due to
the noise in the channel r
1,
r
2
--------r
n
may be different from C
1
C
2
--------C
n
.The error
Vector or error pattern E is defined as the difference between R & C .
E= R-C=R+C
Since subtraction is same as addition in modulo-2 arithmetic .The error vector e can be
represented as a vector by E= {e
1
e
2
--------e
n
} .
From the above eqn it is clear that E is also a n tuple where e
i
=1 if r
i
not equal to c
i
& e
i
=0 if r
i
=C
n
.The
1s present in the error vector E represent the errors caused by noise in the channel.
In eqn E=R+C, the receiver knows only R and it does not know C & E.In order to find E
& then C, the receiver does the decoding operation by determining an (n-k) vector S defined as
S=RH
T
=(S
1
S
2
-----------S
n-k
)

The (n-k) vector S is called Error syndrome of R.
We know that, R=C+E, S=(C+E) H
T

=CH
T
+EH
T

but CH
T
= 0, thus S= EH
T

The receiver finds E from S = EH
T
as S & H
T
are both known .Then from R=C+E the transmitted code
vector C can be found out .The syndrome S of the received vector will be zero if R is the valid code
vector .When R not equal to C , then S not equals to zero & the receiver then detects & corrects the
error .

Decoding:
Decoder:
The source decoder converts the binary o/p of the channel decoder into a symbol sequence .The
decoder for a fixed length code words is quite simple, but the decoder for a system using variable length
code words will be very complex. Therefore the function of the decoder is to convert the corrupted
signals into a symbol sequence & the function of the receiver is to identify the symbol sequence &
match it with the correct sequence.

Channel:
A communication channel provides the electrical connection between the source & destination
.The channel may be a pair of wires or a telephone cable or free space over which the information-
bearing signal is radiated. Due to physical limitations, communication channels have only finite b/w &
the information-bearing signal suffers amplitude & phase distortion as it travels over the channel. In
addition to the distortion, the signal power also decreases due to attenuation of the channel.
Furthermore, the channel is corrupted by unwanted unpredictable electrical signals referred as noise.
While some of the degrading effects of the channels can be removed or compensated for the effect of
noise cannot be completely removed .The main objective of a communication system design is to
suppress the ill effects of noise as much as possible. When binary symbols are transmitted over the
channel, the effect of noise is to convert some of the zeros into ones & some of the ones to zero. The
signals are then are said to be corrupted by noise.

Modulation:







Figure: Channel Properties of Ss
Spread spectrum system are spreading the information signal d
t
which has a BW
info
, over a much larger
b/w BW
ss
.

BW
info
~ R
s
<< BW
ss
~ R
c

The ss signal spectrum is white noise like .The amplitude & thus the power the ss signal txb is the same
as in the original information signal d
t
. Due to increased b/w of ss signal the power spectral density must
be lower. The b/w expansion factor being the ratio of the chip rate R
c
& the data symbol rate R
s
, is
usually selected to be an integer in practical ss systems.
SF = G
p
= BW
ss
/BW
info
= R
c
/R
s
= T
b
/T
c
= N
c

Demodulation:

















time frequency
Figure: Time and Frequency Domain Representation of Demodulation Process
To demodulate the received signal is multiplied by Pn
r
, this is the same PN sequence as Pn
t
(the pseudo
noise code used in the transmitter ).Synchronized to the PN sequence in the received signal rx
b
. This
operation is called spectrum dispreading. Since the effect is to undo the spreading operation at the
transmitter. The multiplier o/p in the receiver is then (since Pn
r
= synchronized Pn
t
)

Pn
r
= Pn
t
:
d
r
= rx
b
.Pn
r
= (d
t
.Pn
t
).Pn
t

The PN sequence Pn
t
alternates between the levels -1 & +1,in the example
Pn
t
= +1 +1 +1 1 +1 1 1
The alternation is destroyed when the PN sequence Pn
t
is multiplied with itself (perfectly synchronized)
because Pn
t. .
Pn
t
= +1 for all t
Thus autocorrelation R
a
(t=0) =avg (Pn
t
.Pn
t
)= +1
The data signal is reproduced at the multiplier o/p
d
r =
d
t

if the PN sequence at the receiver is not synchronized properly to the received signal , the data cannot
be recovered.
Pn
r
= Pn
t
:

If the received signal is multiplied by PN sequence Pn
r
, different from the one used in the modulator, the
multiplier o/p becomes:
D
r
= rx
b
. Pnr = (d
t
.Pn
t
).Pn
r

In the receiver, detection of the desired signal is achieved by correlation against a local reference PN
sequence. For secure communications in a multi user environment, the transmitted data d
t
may not be
recover by the user that does not know the PN sequence Pn
t
used at the transmitter. Therefore
crosscorrelation R
c
(t) = avg (Pn
t
.Pn
r
) <<< 1 for all t .This orthogonal property of the allocated spreading
codes ,means that the o/p of the correlator used in the receiver is approx 0 for all except the desired
transmission.





Dispreading:



Figure: Receiver Side
The spread spectrum signal cannot be determined by the conventional narrow band receiver .In the
receiver , the received baseband signal rx
b
is multiplied with the PN sequence Pn
r
.
1. If Pn
r
= Pn
t
& synchronized to the PN sequence in the received data, then the recovered binary
data is produced on d
r
.The effect of multiplication of the spread spectrum signal rx
b
with the PN
sequence Pn
t
used in the transmitter is to dispread the b/w of rx
b
to R
s

If Pn
r
= Pn
t
, then there is no dispreading action the signal dr

has a spread spectrum. A receiver not
knowing the PN sequence of the transmitter cannot reproduce the transmitted data
Wide band Direct-Sequence Code Division Multiple Access (W-CDMA) is the emerging protocol for
Third generation (3G) wireless communication systems. W-CDMA has been designed to add features
such as multimedia capabilities, high data rates and multi-rate services to the existing wireless
communication framework. The data rates proposed data rates are 2Mbps indoor, 384 KBPS pedestrian
and 144 KBPS vehicular. Several standards for third generation systems have been proposed and
developed by different industrial committees in countries such as the U.S, Europe and Japan. All these
standards have accepted CDMA in one form or another as the multiple access method for wireless
communications.
One of the main bottlenecks in the base station receiver, both in terms of accuracy and speed, is
the estimation and detection of the transmitted data from the received signal. Channel parameter
estimation is essential for finding the delays and fading amplitudes in the system. This information is fed
to the multi user detector and Rake receivers to detect the incoming data accurately. Channel
estimation and detection processing can done both on the mobile handset and the base station with
specialized blocks integrated with RF circuitry. our goal is to improve performance of cdma systems
using channel estimation and detection
The tutorial is basically a short compilation of a few linear multiuser detection algorithms used in CDMA
systems. This tutorial assumes that the reader has a basic knowledge of probability theory and random
processes and is familiar with the fundamental concepts of spread spectrum and CDMA systems. A
graduate level course in digital communications would be a plus. In this project, I have analyzed and
compared the Matched filter bank, the decorrelating detector, the MMSE (minimum mean square error)
linear detector and 2 adaptive implementations of the MMSE linear detector : the LMS (least mean
squares) algorithm and the Blind adaptive Algorithm
Multiuser detection is a technology that spawned in the early 80s. It has now developed into an
important, full-fledged field in multi-access communications. Multiuser Detection (MUD) is the
intelligent estimation/demodulation of transmitted bits in the presence of Multiple Access Interference
(MAI). MAI occurs in multi-access communication systems (CDMA/ TDMA/ FDMA) where simultaneously
occurring digital streams of information interfere with each other. Conventional detectors based on the
matched filter just treat the MAI as additive white gaussian noise (AWGN). However, unlike AWGN, MAI
has a nice correlative structure quantified by the cross-correlation matrix of the signature
sequences. Hence, detectors that take into account this correlation would perform better than the
conventional matched filter-bank. MUD is basically the design of signal processing algorithms that run in
the black box shown in the figure below. These algorithms take into account the correlative structure of
the MAI. To learn more about MUD technology download the tutorial from the table above.

Figure: Multiuser detection at the receiver











2.3 PN Sequence Generators

The PN Sequence Generator block generates a sequence of pseudorandom binary numbers. A
pseudo noise sequence can be used in a pseudorandom scrambler and descrambler. It can also be used
in a direct-sequence spread-spectrum system.
Below is a schematic of the pseudorandom sequence generator. All adders perform addition modulo 2.

Figure : PN sequence Generator.
All M registers in the generator update their values at each time step. The state of each switch is defined
by the generator polynomial, which is a polynomial in z
-1
having binary coefficients. The constant term of
the generator polynomial must be 1. You can specify the Generator polynomial parameter using either
of these formats:
- A vector of coefficients of the polynomial, starting with the constant term and proceeding in
order of increasing powers of z
-1
. The first and last elements must be 1.
- A vector containing the exponents of z (not z
-1
) for the nonzero terms of the polynomial. The
first element must be zero.
For example, p = [1 0 0 0 0 0 1 0 1] and p = [0 -6 -8] represent the same polynomial p(z) = 1 + z
-6
+ z
-8
.
It is very important that the Initial states parameter have a suitable value. The initial state of at least
one of the registers must be nonzero in order to generate a nonzero sequence. The length of the Initial
states vector must equal the order of the generator polynomial, and its elements must be binary
numbers. If the Generator polynomial parameter is a vector that lists the coefficients in order, then the
order of the generator polynomial is one less than the vector length.



Chapter 3:
Related Work



In a frequency selective fading channel where symbol rate is higher than the coherence
bandwidth, both fading and delay spread effects are the severe impairments that should be
combated. In this work, spread spectrum (SS) and non-spread spectrum (NSS) techniques
together with different modulation schemes are investigated to combat these impairments for the
high-speed data transmission in mobile environments. In [1] Simulation results of the techniques
proposed and an alternative design parameters are given.

In the beginning of 21st century there has been a dramatic shift in the market dynamics of
telecommunication services.
The transmission from base station to mobile or downlink transmission using M-ary Quadrature
Amplitude modulation (QAM) and
Quadrature phase shift keying (QPSK) modulation schemes are considered in Wideband-Code
Division Multiple Access (W-CDMA)
system. We have done the performance analysis of these modulation techniques when the system
is subjected to Additive White
Gaussian Noise (AWGN) and multipath Rayleigh fading are considered in the channel. The
research has been performed by using
MATLAB 7.6 in [2] for simulation and evaluation of Bit Error Rate (BER) and Signal-To-Noise
Ratio (SNR) for W-CDMA system models. It is shows that the analysis of Quadrature phases
shift key and 16-ary Quadrature Amplitude modulations which are being used in wideband code
division multiple access system, Therefore, the system could go for more suitable modulation
technique to suit the channel quality, thus we can deliver the optimum and efficient data rate to
mobile terminal.

[3] presents a suboptimal modified code tracking loop (SO-MCTL) that mitigates the effect of
multipleaccess
interference (MAI) for synchronous direct-sequence code division multiple access (DS-CDMA)
systems. Weighted linear
combinations of the interfering users signals are introduced into the local signals to facilitate the
optimization of the tracking performance. Instead of search for the optimal weighting vectors
that yields the minimum mean square tracking error, the mean square tracking error is minimized
with respect to the weighting parameters given the constraints that ensure a stable bias-free S-
curve. Simulations based on Gold codes compare the S-curve and root-mean-square (rms)
tracking error of the SO-MCTL and traditional modified code tracking loop (T-MCTL). It is
shown that SO-MCTL outperforms T-MCTL greatly in that it provides unbiased code tracking
with reduced mean square tracking error and near-far resistance.

[4] propose the implementation and test result of Pseudonoise code (PN code) Generator which
is developed on CPLD chip. PN code sequence are generated by shift-register and the code
pattern can be changed by select the initial state in shift-register.

Walsh codes are perfectly orthogonal binary (antipodal) block codes that found their use in many
popular
applications over several decades including synchronous multiuser communications. It is well
known in the literature that they perform poorly for the case of asynchronous multiuser
communications. Therefore, the near-orthogonal and nonlinear phase Gold codes with better
performance are the preferred user codes in asynchronous direct sequence code division multiple
access (DS-CDMA) communications standards. In [5],authors relaxed linear phase requirements
and new sets of Walsh-like nonlinear phase binary orthogonal user codes (transforms) are
obtained for asynchronous and synchronous spread spectrum multiuser communications. It is
shown that the proposed binary user code family outperforms the Walsh codes significantly and
they match in performance with the popular, nearly orthogonal Gold codes closely for
asynchronous multiuser communications in additive white Gaussian noise (AWGN) channels. It
is also shown that all of the binary code families considered in this paper performed comparable
for Rayleigh flat-fading channels.

Code division multiple access (CDMA) using direct sequence (DS) spread spectrum modulation
provides multiple access capability essentially thanks to the adoption of proper sequences as
spreading codes. The ability of a DS-CDMA receiver to detect the desired signal relies to a great
extent on the auto-correlation properties of the spreading code associated to each user; on the
other hand, multi-user interference rejection depends on the cross-correlation properties of all the
spreading codes in the
considered set. As a consequence, the analysis of new families of spreading codes to be adopted
in DS-CDMA is of great interest. This article provides results about the evaluation of specific
full-length binary sequences, the De Bruijn ones, when applied as spreading codes in DS-CDMA
schemes, and compares their performance to other families of spreading codes commonly used,
such as m-sequences, Gold, OVSF, and Kasami sequences. While the latter sets of sequences
have been specifically designed for application in multi-user communication contexts, De Bruijn
sequences come from combinatorial mathematics, and have been applied in completely different
scenarios. Considering the similarity of De Bruijn sequences to random sequences, we
investigate the performance resulting by applying them as spreading codes. The results herein
presented suggest that binary De Bruijn sequences, when properly selected, may compete with
more consolidated options, and encourage further investigation activities, specifically focused on
the generation of longer sequences, and the definition of correlation-based selection criteria. [6]
Explains the generation an dperformance issues of the same.
Authors in [7] study and present analytical results of Multi-Code CDMA using orthogonal Gold
code and Walsh code for modulation. The performance of the system by measuring Bit Error
Rate (BER) with different channel characteristics and different number of users are also
presented. The results show that the Gold code performs better in terms of low BER because of
high auto-correlation and low cross-correlation of Gold code.

This paper forms the base of the proposed simulation used in this trhesis. The findings of the
same are further strengthened by the current thesis.

[8] elaborates that Orthogonal codes are integral part of DS-CDMA based communication
systems. Walsh Hadamard orthogonal codes are extensively employed in present day CDMA
systems. In this paper, Orthogonal Gold codes are presented as a possible option for spreading
sequences in Quasi-Synchronous CDMA (QS-CDMA). These codes are compared with Walsh
Hadamard codes in terms of individual user performances and average BER performance. It is
observed that codewords from Orthogonal Gold set perform more uniformly compared to
individual codewords of Walsh Hadamard set and also give comparable average BER
performance.
Also [8] finds out that Gold Code are better in terms of orthogonality in comparison to Gold
Codes. Hence in this study, we have selected gold code as PN sequence for Multi user CDMA
system.
[9],][10],[11] provides an insight about the digital communication and direct sequence spread
spectrum . Further the books provide elaborated review about the theoretical and practical
aspects.























Chapter 4
System Analysis
4.1 Pseudo Random Noise and Its Properties
PN sequence and its generation fundamentals is explained in short in the previous chapter. In this
chapter we elaborate the discussion about the PN sequence.
A pseudo noise (PN) code sequence acts as a noise like (but deterministic) carrier used for bandwidth
spreading of the signal energy. The selection of good code is important, because type and length of the
code sets bounds on the system capability. The PN code sequence is a pseudo noise or pseudo random
sequence of 1s and 0s but not a real random sequence (because periodic). Random signals cannot be
predicted .The autocorrelation of a PN code has properties similar to those of white noise.
Pseudo Random:
1. Not random, but it looks randomly.
2. Deterministic, periodical signal that is known to both the transmitter and receiver.
The longer the period of the PN spreading code ,the closer will the transmitted signal be a truly
random binary wave and harder it to detect.
3. Statistical properties of sampled white noise.
Short code: The same PN sequence for each data symbol (N
c
.T
c
=T
s
) .
Long code: The PN sequence period is much longer than the data symbol so that a different
chip pattern is associated with each symbol (N
c
.T
c
>>T
s
).

Properties of PN sequences:
4. Balance property: In each period of the sequence the number of binary 1s differ from the
number of binary 0s by at most one digit (for N
c
odd)
PN=+1 +1 +1 1 +1 1 1 =+1
When modulating a carrier with a PN coding sequence, one-zero balance (dc component) can limit the
degree of carrier suppression obtainable because carrier suppression is dependent on the symmetry of
modulating signal.
5. Autocorrelation: The origin of the name pseudo noise is from the fact that PN signal has an
autocorrelation function which is very similar to that of a white noise signal i.e. the
autocorrelation function is impulse like i.e. the function exists only at =0.The autocorrelation
function for the periodic sequence PN is defined as the no. of agreements minus the no. of
disagreements when the codes are compared bit by bit for every discrete cyclic shift (positiont)
of the sequence itself.
N
c
T
c
/2
R
a
(t) =} Pn (t). Pn (t+t) dt
N
c
T
c
It is best if R
a
(t) is not larger than one count if not synchronized (t=0).
In case of zero shift (ie when t=0, = 0)
Pn (0) = +1 +1 +1 1 -1 +1 1
Pn (0) = +1 +1 +1 1 1 +1 -1
+1 +1 +1 +1 +1 +1 +1= = 7 = R
a
(t=0)

In case of one shift()
Pn(0) = +1 +1 +1 1 -1 +1 1
Pn(1) = +1 +1 1 -1 +1 1 +1

+1 +1 1 +1 1 1 1 = = -1 = R
a
(t=1)

Figure 3: A sample PN Code in Bipolar data
The sharp peaks in the autocorrelation function at the time shift = 0 is a desired property &
support an easy receiver synchronization. If the sequence is repeated on a periodic manner after N chips
, we get a pseudo noise (PN) or pseudo random type of sequence .For this PN sequence we obtain a
periodic autocorrelation function(as shown in fig 2) .
4.1.1 Cross correlation: It describes the interference between codes Pn
i
and Pn
j
:

N
c
T
c
/2
R
c
(t)=} Pn
i
(t).Pn
j
(t+t) dt
N
c
T
c
/2
Cross correlation is the measure of agreement between two different code Pn
i
& Pn
j
. When the cross
correlation Rc( =0) is zero for all , the codes are called orthogonal code. In CDMA multiple users
occupy the same RF band & transmit simultaneously .When the code are orthogonal, there is no
interference between the users after dispreading & the privacy of communication of each user is
protected.
In practice, the codes are not perfectly orthogonal hence the cross correlation between user codes
introduces performance degradation (increasing noise power after dispreading), which limits the max no
of simultaneous users.
In a known wireless communication systems, the spreading signals are binary digital PN codes, cross
correlation of code sequences are obtained by computing the no. of agreements (A) minus the no. of
disagreements (D), when the codes are compared bit by bit for every discrete shift in the field of
interest. The more difficult task of the PN sequence for a multi user CDMA system is to distinguish
between the signals of the different users utilizing the same transmission band.
The PN code is the key of each user to his or her intended signal in the receiver .For this reason the
complete set of PN sequences has to be chosen with a small cross correlation between the several
sequences. This keeps the adjacent channel interference small. Theoretically a zero cross correlation is
maintained by every set of orthogonal spreading signals .Because of the cross correlation demands ,gold
sequences ,Kasami sequences or Walsh sequences are more interesting for cellular or personal
communication CDMA systems.

4.2 Present System and Different Types of PN Codes
4.2.1 Conventional PN Generation
The maximum length linear codes or maximal length shift register sequences are still of
importance in digital communication.
Fig shows widely used hardware implementation of PN sequence generator and corresponding co
relator or matched data filter receiver. The generator contains type D flip flops and is connected so that
each data input except D
0
is the output of the proceeding flip flop. Not all Q flip flops output need to be
connected to the parity generator (indicated by the dashed lines ).the number of flip flops L and the
selection of which flip flops outputs are connected to the parity generator determine the length and
characteristics of the generated PN sequences. The parity generator provides output logic 0 and
generates logic 1 outputs when an odd number of inputs are at logic 1 state.

Sequence Length: For maximum length linear codes, it is always possible to find a set of connections
from flip flop outputs to the parity generator that will yield maximum (m) length sequence of

L = 2
N
-1
Where N = no: of flip flops

Figure 4: Basic Block Diagram of PN Sequence Generator

Figure 5: Bit stream Analysis Window
Eg :If N=3
1. Sequence length
L = 2
N
1 7

2. S = no:of m sequences 2
3. D
0
for L=2
N
-1

Q
1+
Q
2

4.2.2 Barker code: The Barker Code gives codes with different lengths and similar auto correlation
properties as the m- sequences.
Barker (11) = 1 1 1 1 1 1 1 1 1 1 1 = + 1(balanced)
Barker (13) = 1 1 1 1 1 1 1 1 11 1 1 1 = +5(unbalanced)
The auto correlation function of the balanced 11 chip Barker code is shown below in figure 6



Figure 6: Autocorrelation function
4.2.3 Hadamard walsh Codes : The Hadamard Walsh codes are generated in a set of N = 2
n
codes
with a length N = 2
n
. The generating algorithm is simple
The rows (or columns ) of the matrix H
N
are the Walsh codes.

With H
0
= [1]

The rows (or columns) of the matrix H
N
are the Hadamardwalsh codes.



In each case the first row of the matrix consist entirely of 1s and each of the other rows contains N/2 0s
and N/2 1s.Row N/2 starts with N/2 1s and ends with N/2 0s.
The distance (No: of different elements) between any pair of rows is
exactly N/2. For H
8
the distance between any two rows is 4, no the Hamming distance of the Hamming
code is 4. The Walsh codes can be used as a block code in a channel coder; each sequence of n bits
identifies one row of the matrix. All rows are mutually orthogonal i.e.

For all rows i&j.
The cross correlation between any two walsh codes of the same matrix is zero, when perfectly
synchronized. In a synchronous cdma system this ensures that there is no interference among signals
transmitted by the same station. Only when synchronized, these codes have good orthogonal
properties. The codes are periodic which results in less spreading efficiency and problems with
synchronization based on auto correlation.
4.3 Need of Gold Sequences
The above PN sequences demonstrate a strong auto correlation property. That is the signals are strongly
correlated to themselves. But in a multiuser system, it is very important that the transmission must
attain very low cross correlation also. Though Hardmond Walch code demonstrate low cross correlation,
it needs to be synchronized. In order to overcome these problems, gold code is specified.
4.4 Gold Sequence

he autocorrelation properties of the m sequences cannot be bettered .But a multi user
environment (code division multiple access) needs a set of codes with the same length and with
good cross correlation properties .Gold Code sequences are useful because a large number of
codes (with the same length and with controlled cross correlation) can be generated, although
they require one pair of feedback tap sets.
Gold Codes are product codes achieved by the exclusive orring of two m-sequences
with same length. The code sequences are added chip by chip by synchronous clocking.
Because the m- sequences are of the same length the two code generators maintain the same
phase relationship, and the codes generated are of the same length as the two base codes
which are added together but are non maximal (so the auto correlation function will be worse
than that of m- sequences). Every change in phase position between the two generated m-
sequences causes a new sequence to be generated.
Any two register gold code generator of length L can generate 2
L
-1 sequence (length 2
L
-1) plus
the two base m- sequences, giving a total of 2
L
+ 1 sequences.





















Chapter 5
Transmission and Error Model
Multiuser BPSK CDMA System

Lets assume that we have a CDMA system with K users indexed as j =1,2K and each
user transmits BPSK modulated signal waveforms simultaneously. Then the transmitted
signal of one such user j can be represented as,

(1)
where,
( )

=
=
=
n
n
c T
n
j j
nT t p c t c
c
) (
) (


{ } 1 , 1
) (
+ e
n
j
c

( )

=
=
=
n
n
T
n
j j
nT t p b t b ) (
) (


{ } 1 , 1
) (
+ e
n
j
b

T = NT
c


N = Processing Gain
The received signal at the receiver can be represented as,

(2)

where,
j
t = relative time offset
|
j
= phase offset
q(t) )
2
, 0 (
o
N
N ~
In general signal from the various users are received at various propagation delays, t
j
] , 0 [ T e and |
j
] 2 , 0 [ t e

Receiver in the multiuser scenario can be modeled as figure below:








t
1
t
2
t
K
S
1
(t)
S
2
(t)
S
K
(t)
E
q(t)
Rxx



Figure 1: Received signal in multiuser scenario


Single User Reception

Focusing on user 1, we try to look at the demodulation of bit stream of user 1. Assume
the receiver is synchronized to user 1. So, without loss of generality we can say, t
1
= 0
and |
1
= 0.
We will consider demodulation of a single bit of user 1, which is bit b
1
(0).
The matched filter receiver matched to user 1 is illustrated in the following figure,








The output of the matched filter corresponding to user 1 is given as,

(3)

r(t)
C
1
cose
c
t
Z
1
(t)
1
1
0
1 1
) cos( ) cos( ) ( ) ( ) ( 2 q e | e t t + + =

}
=
K
j
T
c j c j j j j j
dt t t t b t c t c P z
where,


}
=
T
c
dt t t c t
0
1 1
) cos( ) ( ) ( e q q

Neglecting all double frequency terms,

| |
1
2
1 ,
) 0 (
1 ,
) 1 ( ) 0 (
1
1
1
cos ) (

) (
2 2
q | t t + + + =

=

K
j
j j j j j j j
j
R b R b
P
Tb
P
z (4)
We introduce continuous time partial cross-correlation functions,

}
=
t
t t
0
1 1 ,
) ( ) ( ) ( dt t c t c R
j j

(5)
}
=
T
j j
dt t c t c R
t
t t ) ( ) ( ) (

1 1 ,


T s st 0

Thus, in one bit interval of the desired user i.e. user 1, there would be effectively two
bits of every interferer j, by assuming that the signals of the interferers are delayed by
not more than one bit interval. This is illustrated in the following figure:




















Case of Synchronous users

For the case of synchronous system, t
j
= 0 and |
j
= 0 for all j. So there is only one term
from each interferer i.e. one bit of j interferes with one bit of the desired user. Then from
eq. (4) we have,

=
+ + =
K
j
j j
j
R b
P
Tb
P
z
2
1 1 ,
) 0 ( ) 0 (
1
1
1
2 2
q (6)
T
b
1
(0)
b
1
(t)
b
j
(0)
b
j
(-1)
b
j
(t)
T

where,


c
j
= Spreading code vector of length N for user j
c
1
= Spreading code vector of length N for user 1

q
1
|
.
|

\
|
~
4
, 0
0
T N
N


(a) When code sequence are Orthogonal

1 1 j
T
j
c c o =

Therefore the matched filter output is,

1
) 0 (
1
1
1
2
q + = Tb
P
z (7)

The probability of error is given as,

P
b,1
=
|
|
.
|

\
|
0
1 ,
2
N
E
Q
b


Thus performance is same as single user channel

(b) When users use random codes

The error probabilities are calculated in two steps, noting that c
j
, j=1,2.K are random
binary vectors.

Step 1: Fix the codes and bits of other users. Then calculate the conditional probability
of error for synchronous users with fixed data bits and conditioned on R
j, 1
and b
j
(0).
This conditional Probability of error is represented as,
P
b,1
( { } { } ) 0 ( ,
1 , j j
b R ) (8)
Step 2 : Find the average Probability of error
1 , b
P , by averaging over {R
j,1
} and {b
j
(0)
}.

For fixed {R
j,1
} and {b
j
(0)
},

P
b,1
( { } { } ) 0 ( ,
1 , j j
b R ) = Pr{ z
1
< 0 | b
1
(0)
= 1}
=
|
|
|
|
|
.
|

\
|
+

=
4
2 2
0
2
1 ,
) 0 ( 1
T N
R b
P
T
P
Q
K
j
j j
j

=
|
|
.
|

\
|
+

=
K
j
j
j
j b b
T
R
b
N
E
N
E
Q
2
1 ,
) 0 (
0
,
0
1 ,
2 2

The average probability of error is,

1 , b
P =
{ }{ }
|
|
.
|

\
|
+

=
K
j
j
j
j b b
R b
T
R
b
N
E
N
E
Q E
j j
2
1 ,
) 0 (
0
,
0
1 ,
2 2
1 ,
0
(9)
This average probability of error is difficult to calculate.

Using Gaussian approximation for the Interference

Assume P
j
=P for all j and the no. of user K is very large.

The interference term for user 1 is given as,

=
=
K
j
j j
R b
P
I
2
1 ,
) 0 (
1
2


We approximate I
1
to be Gaussian. We proceed to find the mean and variance of I
1
as
follows,

| | | | | |

= =
=
(

=
K
j
j j
K
j
j j
R E b E
P
R b
P
E I E
2
1 ,
) 0 (
2
1 ,
) 0 (
1
2 2
(10)

b
j
and R
j,1
is independent. Also,

| | 0
) 0 (
=
j
b E
Therefore E [I
1
] = 0

| | ( ) | | | |

=
=
K
j
j j
R Var b E
P
I Var
2
1 ,
2
) 0 (
1
2
(11)

Now, ( ) | | 1
2
) 0 (
=
j
b E
N
T
c c R
T
j j 1 1 ,
=
| | ( ) | |
N
T
N
N
T
c c E
N
T
R Var
T
j j
2
2
2
1
2
1 ,
= |
.
|

\
|
= |
.
|

\
|
=
Therefore | | ( ) 1
2
2
1
= K
N
T P
I Var

The output of the matched filter z
1
can be written as,

1 1
) 0 (
1 1
2
q + + = I Tb
P
z
Therefore
( )
|
|
|
|
|
.
|

\
|
+
=
1
2 4
2
2
0
1 ,
K
N
PT T N
T
P
Q Pb

( )
|
|
|
|
|
.
|

\
|

~
1
2
2
2
K
N
PT
T
P
Q
For large K

|
|
.
|

\
|

~
1 K
N
Q (12)

Case of Asynchronous Users
For asynchronous user case, we have non- zero t
j
and |
j
. Each bit of the desired user is
affected by two bits from the interferer. Therefore at the receiver each interferer has two
terms. Recall that the matched filter output is given as:

( )
1 1 ,
2
) 0 (
1
1
1
, ,
2 2
q | t + + =

=
j j j j
K
j
j
b TI
P
Tb
P
Z
where I
j,1
is the interference of user j to user 1, and given by
( ) ( ) ( ) | | ( )
j j j j j j j j j j j
R b R b
T
b I | t t | t cos

1
, ,
1 ,
) 0 (
1 ,
) 1 (
1 ,
+ =


( )
) 0 ( ) 1 (
,
j j j
b b b

=
Assume that P
j
= P for all users j, that is, users are all power controlled. The matched
filter output can then be written as,
( ) | |
1 1
) 0 (
1 1
, ,
2
q | t + + = b I b T
P
Z (13)
where the resultant interference ( ) ( )

=
=
K
j
j j j j
b I b I
2
1 , 1
, , , , | t | t
( )
K
b b b b ,..... ,
3 2
= , ( )
K
t t t t ,..... ,
3 2
= , ( )
K
| | | | ,...... ,
3 2
=

Phase and Time as assumed to be acquired for user 1, i.e. the Rx is synchronized in
time and phase w.r.t user 1.

For fixed b, t, | -1 is transmitted is,

{ } 1 | 0
) 0 (
1 1 1 ,
= > = b Z P P
r b


( ) ( )

)

> + + = 0 , , 1
2
1
1
1
| t q b I T
P
P
r
( ) ( )
|
|
.
|

\
|
= | t, , 1
2
1
0
b I
N
E
Q
b
(14a)

Average probability of error is,
| |
1 , , ,
1 ,
b b
b P E P
| t
=

Suppose 1
) 0 (
1
+ = b , the error probability is given as,
{ } 1 | 0
) 0 (
1 1 1 ,
+ = < = ' b Z P P
r b

( ) ( )
|
|
.
|

\
|
+ = | t, , 1
2
1
0
b I
N
E
Q
b
(14b)
| |
1 , , ,
1 ,
b b
b P E P ' = '
| t

As seen from eq.(14a) & (14b) the error probabilities are not symmetric as the
interference is not symmetric.











Chapter 6
Gold Code Generation
Gold Sequences are generated by selecting two initial PN Sequences called the generator
polynomial of degree n where n represents number of bits. The sequences are selected in such a
manner that
1. The starting and the ending bit is zero.
2.if u is a binary sequence generated by shifting the initial sequence, then any two instances of u
must be having maximum repentance period N=2
n
-1 . where n is the number of bits in the
generator polynomial.
3. The resultant PN sequence generated from the two generator polynomial is bipolar. 0 and 1
of original PN sequences are represented by 1,-1 in the final PN Codes.
4. The Generated PN code is valid only iff any two shifted version of the signal, say shifted by I
and j bits respectively can produce another signal which can be generated by shifting the signal
by k bits, such that i<k<j
5. Two PN codes generated using the technique, say x and y must be having minimum cross
correlation at any given instance of time.
A Gold code generation reference block diagram is elaborated by [] and is given in figure 3.


Figure 3: Gold Code Generation Block Diagram
The Complete Gold Code Generating Algorithm is as Presented bellow
1. First Consider initial seed for PN generation
Initial Sequence i1={1,0,0,0,0} i2={1,0,0,0,0}
2. Select number of bits in PN=G (G must be 2
n-1
,where n=number of bits in the initial
seed)
3. Generate both the PN Sequences
For(g=1 :G)
PN1(g)=i1(5)
i1(5)=1 if(i1(2)!=i1(5))
i1(5)=0 otherwise
i1(4)=i1(3)
i1(3)=i1(2)
i1(2)=i1(1)
For(g=1 :31)
PN2(g)=i2(5)
i2(5)=1 if(i1(4)!=i1(5))
x
y
i2(5)=0 otherwise
i2(4)=i2(3)
i2(3)=i2(2)
i2(2)=i2(1)
4. Generate Gold Sequence from PN Sequence
for(g=1:31)
GOLD(g)=XOR(PN1(g) ,PN2(g))
5. For P users, Repeat step 4, P times with PN2 shifted by P bits each time
Gold code generated from above algorithm and the Cross Correlation is Depicted in figure 6 and
7 respectively.
Figure : Gold Code of 2 users of Length 31

Figure : Cross Correlation and Auto-Correlation Performance of the 2 Gold Codes




















Results

Figure : SNR v/s BER for 5 users
Now let us consider the a case of System with No induced error and N users. Figure 6 Shows the
result of N user CDMA channel without and with the presence of Gaussian Noise when the
signal is encoded with Gold Sequence.

Figure : Number of Users v/s BER
It clearly demonstrates that the signal recoverability degrades but do not degrades exponentially
when number of users increases. Hence the significance of Gold code is emphasized.












Conclusion
In this work we have designed a multi user detection system and demonstrated
the role of Gold code for the same. There have been several solutions towards
achieving good ber performance for CDMA systems. But the correlation property
of gold code ensures that the system is quite efficient in terms of performance
even when error correction codes are not implemented. With error correction
code the performance can be improved further.

















References
[1] Erdal Torun,Okun Zorba Performance Analysis of Direct Sequence Spread Spectrum and
Non-Spread Spectrum Techniques in Frequency Selective Fading Channels, Norway, 14-16 June
1999, and published in RTO MP-26.
[2] M. A. Masud, M. Samsuzzaman, M. A.Rahman, Bit Error Rate Performance Analysis on
Modulation Techniques of Wideband Code Division Multiple Access, JOURNAL OF
TELECOMMUNICATIONS, VOLUME 1, ISSUE 2, MARCH 2010

[3] Y. T. Wu, S. H. Leung, W. K. Wong, and Y. S. Zhu, A Suboptimal Modified Code Tracking
Loop for Synchronous DS-CDMA Systems,IEEE 2009
[4] K. Tanapong1 and P. Natthawut, The implementation of Pseudonoise Code Generator base
on CPLD, Proceedings of the 1st International Conference on Technical Education (ICTE2009)
January 21-22, 2010 Bangkok, Thailand

[5] Ali N. Akansu, and Radha Poluri, Walsh-Like Nonlinear Phase Orthogonal Codes for Direct
Sequence CDMA Communications, IEEE TRANSACTIONS ON SIGNAL PROCESSING,
VOL. 55, NO. 7, JULY 2007
[6] Susanna Spinsante, Stefano Andrenacci, Ennio Gambi,Binary De Bruijn sequences for DS-
CDMA systems: analysis and results

[7] G.V/S Raju, J. Charoensakwiroj, Orthogonal codes performance in multi-code CDMA, IEEE
International Conference on Systems, Man and Cybernetics, IEEE 2003

[8]Sujit Jos, Preetam Kumar,Saswat Chakraborty, Performance Comparison of Orthogonal Gold
and Walsh Hadamard Codes for Quasi-Synchronous CDMA Communication ,


[9] Ziemer Rodger E., Peterson Roger L., Introduction to Digital Communication, MacMillan Publishing Company,
1992.
[10] Glisic Savo G., Leppanen Pentti A., Code Division Multiple Access, Kluwer Academic Publishers, 1995
[11] Pickholtz, Schilling, Laurence, Milstein, Theory of Spread Spectrum Communications - A Tutorial, IEEE
Trans. on Comm, May 1982.

Das könnte Ihnen auch gefallen