• Embed Doc
  • Readcast
  • Collections
  • CommentGo Back
Download
 
Spreading Codes for Direct Sequence CDMA
Ramakrishna Shashishekar
Email: rsh@tf.uni-kiel.de
 Abstract
The need for DS CDMA arises in cellular commu-nication systems like IS-95, CDMA2000 and UMTS (UniversalMobile Telecommunication System) or in satellite navigationsystem where all users use the same bandwidth at the sametime but with different spreading codes. This paper mainly dealswith generation of codes such as non Orthogonal codes (Maximallength, Gold and Kasami sequences), Orthogonal codes (Walshand Hadamard codes) and properties to be fulfilled by them.
I. I
NTRODUCTION
Rapid growth in telecommunication industry in terms of users has led to utilize the available resources effectively andprovide maximum number of services. In this context the mainaim would be to provide a high throughput, integration of services and flexibility. Integration of services refers to embedall multimedia services for a user within the given bandwidthspecification. In order to achieve all the above said results,effective multiple access techniques have been devised, inwhich many users share the same channel but with differentparameters like in Time Division Multiple access (TDMA)with different time index, Frequency division multiple access(FDMA) different frequencies and Code division multipleaccess (CDMA) with different codes. In order to minimizethe unintentional/intentional interference in the transmissionchannel, a modulation technique known as spread spectrumis used, where in a transmitted data sequence occupies muchmore bandwidth than the minimum required. This is done byspectrum spreading at the transmitter and despreading at thereceiver with a special code, independent of the data sequence.As shown in figure 1, the binary information sequence isfed as an input to the channel on the transmitter side, whichis modulated and then spread over a pseudo random sequence[PN] of higher bit rate.
Fig. 1. Block diagram of a CDMA.
The main objective needed to be preserved for generatingPN sequences, like maintaining randomness, which is helpfulto differentiate between users and also in generating noiselike sequences, a very low cross correlation value, useful toavoid interference in the transmission channel and a high auto-correlation value to reject multi-path interference. And thesequence should also have a constant signal envelope witha peak to mean signal power ratio equal to one which in turnallows to minimize the bit error ratio (BER) of the system [1].Two parameters derived in order to calculate the perfor-mance of the PN sequence generation process are processinggain [PG] which represents the gain achieved by processing thespread spectrum over an unspreaded signal and the spreadingfactor [SF], a ratio of PN sequence bit rate to the data rate.PN code may be broadly divided into two groupsnamely, Non-orthogonal codes like Maximal-length codes(m-sequence), Gold codes Kasami codes and Orthogonal codeslike Walsh Hadamard code, which will be discussed briefly inthis paper. Basic concepts of non orthogonal and orthogonalcodes will be discussed in section II and III and IV deals withmultiple spreading.II. NON ORTHOGONAL CODES
 A. MAXIMAL LENGTH SEQUENCES
Maximal sequences are the largest codes that can be gen-erated using a linear feedback shift registers [LFSR]. Thepseudo-noise sequences is like a high noise frequency signal,binary in nature thus it looks like pulses. It is not completelyrandom but it is generated by a well defined logic. The samelogic is used at the transmitter and receiver. The pseudo noisesequences can be generated by a feedback shift register and thecombinational logic. The data of one shift register is shiftedto the next one whenever a clock pulse is applied. The outputof these shift registers is given to the logic circuit dependingupon the outputs of the shift registers the output of the logiccircuit is decided. This logic circuit output is given as theinput to the first shift register. The pseudo random sequenceis generated at the output of the last shift register. At eachpulse of the clock, the state of the shift register is shifted tothe next shift register and logic circuit output is shifted in thefirst shift register. The PN sequence generated at the outputof the shift register is repeated after
2
m
digits which is alsocalled the period of the output sequence. Normally the logiccircuit is mod-2 adders. If the shift registers enters in zerostate it will not come out of it and output sequence will bezeros only. To prevent this problem, the zero state of the shiftregister is not allowed. Therefore total number of states of m -state feedback register will be
2
m
-1, therefore the outputpseudo noise sequence will also have a period of 
2
m
-1. Whenthe pseudo-noise sequence generated by LFSR has the lengthof 
2
m
-1, it is called maximum length sequence.
 
Fig. 2. M-sequence PN generator.
An LFSR having a primitive polynomial will generate max-imal length sequence. Any polynomial is said to be primitiveif it satisfies two conditions.1) If the generator polynomial cannot be factorized2) If it’s a factor o
+ 1 where N=
2
m
-1 and m refersto the number of shift registers used.Any m-sequences satisfy the following three randomness prop-erties in every period of length N1) The number of ones and zeros are nearly equal2) Half the runs of ones and zeros have length 1,
14
havelength 2,
18
length 3, and
12
k
length k, (k 
n
)
3) Sequences will have a two valued autocorrelation func-tion which are helpful for good synchronization. If r(k)=
n
=1
a
n
a
n
+
k
is the auto correlation function, then itsvalues are defined as
r
(
k
) =
N,
= 0 mod N
1
,
else(1)m-sequences are not immune to cross-correlation problems,and they may have large cross-correlation values which are notgood in case of multiple access interfaces, it causes difficultyin differentiating users [3]. The cross correlation c(k) betweentwo different sequences has a value equal to 1/ (
2
m
-1). Wherec(k)=
n
=1
a
n
b
n
+
k
. And a, b are the elements of differentsequences. The cross correlation value should be as low aspossible in order to obtain an optimum code. Welch obtaineda lower bound for the cross correlation between a set of Msequences [2].
c
(
k
)
 
1
M
1
=
(2)
Fig. 3. maximal length sequence generator m= 3.
Figure 3, Illustrates the maximal length sequence generatorconsisting of 3 LFSR S1, S2 and S3 i.e. m= 3 and N = 7=
2
3
-1where N denotes the period of the sequences generated. Here(
3
+ X + 1) is a primitive polynomial which cannot befactorized and it’s a factor of polynomial(
7
+ 1), Table 1,Shows the generation of the output sequences.
TABLE IM-L
ENGTH SEQUENCE
S1 S2 S3 O/P Sequence1 0 0 11 1 0 11 1 1 00 1 1 11 0 1 00 1 0 00 0 1 1sequence repeats
 B. GOLD SEQUENCES
Gold codes provide a very large number of codes, throughwhich we can attain less interference between the users. Goldcodes are obtained by linearly combining two m-sequences. If the m-sequences that are modulo-2 added to produce a goldcodes are chosen randomly, then the cross correlation of thecode may be quite poor. Thus, Gold sequences are generatedby the modulo-2 addition of preferred pairs of m-sequences.Finding preferred pairs of m-sequences is necessary in definingsets of Gold codes. A list of preferred pairs can be found inTable II. A pair of m-sequences u and v having period N =
2
n
-1 are preferred pairs if they satisfy the following properties.1) ’n’ is not divisible by 4 (i.e. n= 2(mod) 4)2) v = u[ q ] where
q is odd
q =
2
k
+1 or q =
2
2
k
-
2
k
+1
v is obtained by sampling
q
th
symbol of u.The Cross correlation between the preferred pairs is threevalued [3]
{−
t
(
n
)
,
1
,t
(
n
)
2
}
where
t
(
n
) =
1 + 2
(
n
+1)
/
2
if 
n
is odd
1 + 2
(
n
+2)
/
2
if 
n
is even(3)
TABLE IIL
IST OF PREFERRED PAIRS
[4]n N Preferred Polynomial (1) Preferred Polynomial (2)5 31 (5,2,0) (5,4,3,2,0)6 63 (6,1,0) (6,5,2,1,0)7 127 (7,3,0) (7,3,2,1,0)9 511 (9,4,0) (9,6,4,3,0)10 1023 (10,3,0) (10,8,3,2,0)11 2047 (11,2,0) (11,8,5,2,0)
As shown in figure 4, a Gold code sequence is generated byperforming bit by bit modulo-2 additions of two m-sequences.Due to their rapid synchronization and good correlation fea-tures these codes are widely used in GPS systems.
 
Fig. 4. Illustration of generating a Gold code set.
C. KASAMI SEQUENCES
Kasami sequences have properties that are similar to thepreferred sequences used to generate Gold codes, and they arealso derived from m-sequences. There are two sets of kasamisequences namely, small set and large set. A similar procedureto that used for generating Gold sequence will generate thesmall set of Kasami sequences. The period of the sequencesis N=
2
m
-1, where m is even. The sequence
a
is a maximumlength sequence, the sequence
a’
is formed by decimation of 
a
by
2
n/
2
+ 1. The resulting sequence
a’
will have period
2
n/
2
-1. We then generate a small set of Kasami sequenceby taking the modulo-2 sum of 
a
with all cyclic shifts of 
a’
. As Kasami codes have better cross-correlation and autocorrelation properties than Gold codes, they are widely usedin 3G applications.III. ORTHOGONAL CODES
 A. WALSH AND HADAMARD SEQUENCES
Orthogonal codes are those, which provide a zero crosscorrelation when there is no offset between the codes. Theymake use of Orthogonality property, which refers to dotproduct between the two spreading codes, is equal to zero.Hadamard transform is one of the best known code expansiontechniques to generate orthogonal codes.Walsh sequences are generated by mapping codeword rowsof a Hadamard transform and, a generalized form of thistransform is given by equation(4).
2
n
=
n
n
n
n
(4)In practice, Walsh sequences provide zero cross correlationwhen there is zero offset between the sequences, but in orderto provide a zero offset all users have to be synchronized intime. This problem can be solved by using a pilot sequencefor synchronization.For example two users, A and B transmitting a data se-quence 0011 and 1101 respectively, make use of the codesfrom the rows of the Hadamard matrix given in equation(5).The data sequences are modulated using BPSK modulationscheme. If both users transmit the information at same time,due to interference the total information being transmitted is[0,-2,-2,0,2,0,2,0].
=
1 11
1
(5)At the receiver side we can now consider two scenarios.First scenario where a user D, can decode the original datasequence 0011 from the received information as he is autho-rized to use the code used by A from the Hadamard matrix,at the transmitting end. Second scenario where a user E, triesto decode the same received information using the code otherthan Hadamard matrix which was used for transmitting, resultsin no information, i.e. receives 0000 as the data sequence.IV. MULTIPLE SPREADINGA multiple spreading uses a two layered spreading tech-nique, these are used to provide orthogonality amongst allusers of same cell while maintaining mutual randomness onlybetween users of different cells. Each user’s binary inputdata is multiplied by a short code known as channelizationcode. Now this spreaded signal which is orthogonal to eachuser is multiplied by a long PN code known as Scramblingcode, which is cell specific but common to all users. Thechannelization code is OVSF (Orthogonal Variable SpreadingFactor) that assures orthogonality between codes, regardlessof whether they are of same SF or different SF. The useof this code for spreading the physical channel enables theelimination of interference components arising from multiplephysical channels. Different spreading factor refers to differentcodeword’s.
Fig. 5. Code tree for generation of variable length orthogonal codes.
Figure 4, explains the generation of OVSF code. The codeis generated by using Walsh Hadamard matrix, each OVSFcode can be represented by
SF,k
, where SF denotes thespreading factor and k denotes the branch number. Spreading
of 00

Leave a Comment

You must be to leave a comment.
Submit
Characters: ...
You must be to leave a comment.
Submit
Characters: ...