Tan F. Wong: Spread Spectrum & CDMA
3. Spreading Sequences
Chapter 3
Spreading Sequences
It is stated in Chapter 2 that all spread spectrum systems make use of some forms of pseudo-random
sequences. Therefore sequence design is one of the most important issues in spread spectrum systems.
We are going to briefly address this issue in this chapter. Our focus is on DS-SS systems in which
the data signal is modulated by a high-rate spreading signal as described in (2.13). There are several
obvious questions regarding the issue of sequence design:
1. How to choose a spreading sequence?
2. How to generate a spreading sequence?
3. How to choose and generate a set of sequences when more than one sequences are needed, for
example, in CDMA systems?
We note that these questions are not independent of each other. For example, practical constraint on
sequence generation may limit the set of sequence we can choose from. To address the questions
above, we first spell out some desired properties we want the spreading sequences to possess:
1. Sequence elements should behave like iid random variables, i.e., the sequence should be pseudorandom.
2. It should be easy to distinguish a spreading signal from a time-shifted version of it.
3. It should be easy to distinguish a spreading signal from other spreading signals, including timeshifted versions of them, in the set.
3.1
Tan F. Wong: Spread Spectrum & CDMA
3. Spreading Sequences
4. It should be easy for the transmitter and the intended receiver to generate the spreading sequence.
5. It should be difficult for any unintended receiver to acquire and regenerate the spreading sequence.
When we evaluate the power spectrum of the spread spectrum signal in Chapter 2, we model the
sequence elements as iid random variables. Based on this model, we observe the effect of spreading
the spectrum. We would like the spreading sequences to approximate random sequences so that we
are actually spreading the spectrum of the data signal. This explains the first desired property. The
second property is used for sequence acquisition, which will be discussed in Chapter 5, and multipath
combining introduced in Section 2.6.3. The third property is obviously needed for CDMA systems.
The fourth property indicates the practical consideration in sequence design. A sequence is of no use
no matter how well it behaves if an excessive amount of hardware is needed to generate it. The fifth
property is important when transmission security is our main concern.
Due to the restriction imposed by the fourth property above, spreading sequences are usually generated by feedback shift registers in practice since shift registers are easy to build. The spreading
sequences generated by feedback shift registers are periodic and they are usually pseudo-random. We
will not consider the fifth property on transmission security in this brief treatment. The second and
third properties are our major concerns here, i.e., we focus on the distinguishability of spreading signals. The treatment in this chapter is based mainly on the tutorial paper by Sarwate and Pursley [1].
3.1 Correlation functions
To address the distinguishability of spreading signals, we need to set up a measure. Let us neglect the
effect of the data modulation for the moment. A common and reasonable measure of distinguishability
for two periodic spreading signals
x(t) =
and
y (t) =
1
X
l=
1
1
X
l=
1
xl
(t
lTc )
(3.1)
yl
(t
lTc )
(3.2)
3.2
Tan F. Wong: Spread Spectrum & CDMA
3. Spreading Sequences
is the squared difference defined by
Z
d (x; y; )
2
4
=
Z
=
where T
=
NTc
1
T
jx(t)
T
jx(t)j dt +
0
0
y (t + )j2 dt
Z
T
2
jy(t)j dt
2
0
"
Z
2Re
0
T
#
x(t)y (t + )dt ;
is the common period of the spreading signals and 2 [0; T )2.
(3.3)
We restrict our
discussion on the set of equal-energy spreading signals and define the continuous-time periodic crosscorrelation function3 of x(t) and y (t) as
Z
rx;y ( ) =
T
0
x(t)y (t + )dt:
(3.4)
Obviously, we want the squared difference of two spreading signals to be as large as possible for
all values of 2
[0; T ).
From (3.3), this is to say we want the real part of rx;y ( ) to be small.
In practice, the spreading signals are modulated by data symbols. Hence, we need to look at the
magnitude of rx;y ( ) instead of its real part. Nevertheless, it suffices to focus on the continuous-time
periodic crosscorrelation function.
Next, we note that
Z
rx;y ( )
=
=
=
2
T
4
0
1
l=
X
l= 1 k =
N
X1
l l +
l=0
N
X1
+
l=0
(t
xl yk
k=
Z
T
Æ
(t
lTc
Z
Z (l+1)T
c
(l+1)Tc
Tc Æ
(t)
0
xl yl+ +1
Z
Tc
Tc Æ
1
yk (t + lTc ) (t
(t
0
3
1
X
lTc )5 4
Z (l+1)T
c
xl yl+ +1
xl yl+
l=0
N
X1
2
1
x y
+
1
1
1
xl
X
l=0
N
X1
=
32
1
X
Æ
lTc ) (t
(t
(k
kTc )5 dt
)Tc + Æ )dt
lTc + Æ )dt
lTc ) (t
(l + 1)Tc + Æ )dt
(t + Æ )dt
(t )
(t
Tc + Æ )dt
(3.5)
We note that T and N here do not need to be the symbol duration and the spreading gain, respectively.
Since the spreading signals are periodic with period T , d2 (x; y; ) as defined in (3.3) is a periodic function of with
the same period. Hence, it suffices to consider 2 [0; T ).
3
When x(t) = y (t), rx ( ) = rx;x ( ) is called the continuous-time periodic autocorrelation function
3.3
Tan F. Wong: Spread Spectrum & CDMA
3. Spreading Sequences
In the second equality above, we decompose the delay into two components:
where 2 f0; 1; : : : ; N
=
Tc + Æ;
(3.6)
g and Æ 2 [0; Tc), i.e., = b =Tc c and Æ = 1
Tc . The third equality
is based on the fact that the integral in the second equality is non-zero only when k
k
= l++1
since the chip waveform
(t)
=
l
+
or
is time-limited to [0; Tc ). Now we define the discrete-time
periodic crosscorrelation function of the sequences fxl g and fyl g as
x;y (k) =
N
X1
l=0
and, for 0 s < Tc ,
Z
R (s)
=
^ (s)
R
=
s
0
Z T
(t)
c
s
(t)
xl yl+k ;
(t + T
(t
c
(3.7)
s)dt;
(3.8)
s)dt:
(3.9)
Using these definitions, we can rewrite (3.5) as
rx;y ( ) = R (Tc
^ (T
Æ )x;y ( ) + R
c
Æ )x;y ( + 1):
(3.10)
^ (s ).
Thus the problem of evaluating rx;y ( ) reduces to the problem of evaluating x;y (k ), R (s), and R
^ (s) depend only on the chip waveform. Pictorially, (3.10) states that the
We note that R (s) and R
values of rx;y ( ) for between Tc and ( + 1)Tc can be obtained by interpolating the values of x;y ( )
^ (s). For rectangular chip waveform
and x;y ( + 1) using the functions R (s) and R
^ (s) = T
R (s) = s, R
c
(t) =
pTc (t),
s, and
rx;y ( ) = (Tc
Æ )x;y ( ) + Æx;y ( + 1):
(3.11)
In this case, the interpolation is linear. Figure 3.1 plots the continuous-time periodic autocorrelation
function of the spreading signal in (2.43). To obtain the plot, we can simply calculate the discrete-time
periodic autocorrelation function of the sequence
f+1;
1; +1; +1; +1;
1;
1;
1; +1;
g:
1
At integer multiples of Tc , the continuous-time autocorrelation function is equal to the discrete-time
autocorrelation function. Then we join all the integer multiple points by straight lines and the resulting
piecewise linear function is the continuous-time autocorrelation function.
3.4
Tan F. Wong: Spread Spectrum & CDMA
3. Spreading Sequences
10
8
rx(τ) (unit: Tc) or θx(k)
6
4
2
0
−2
−4
−6
−10
−8
−6
−4
−2
0
τ (unit: Tc) or k
2
4
6
8
Figure 3.1: Continuous-time periodic autocorrelation function of the spreading signal in (2.43)
3.5
10
Tan F. Wong: Spread Spectrum & CDMA
3. Spreading Sequences
In summary, we have reduced the problem of spreading signal design to the problem of choosing
sequences which have “good” discrete-time periodic crosscorrelation and autocorrelation functions.
From the second and third desired properties stated before, an ideal set of sequences, X , would be the
one in which the autocrrelation function of each sequence is zero except at k
= 0,
and the crosscorre-
lation function of any two sequences is identically zero:
(i) For each x 2 X , x (k ) = 0 for all k
(ii) For every x; y
6= 0.
2 X such that x 6= y, x;y (k) = 0 for all k.
However, such an ideal set of sequences is hopelessly difficult to find and it does not even exist in
many cases. Nevertheless, we can try to do our best in some special cases. To this end, we need
to understand the discrete-time crosscorrelation function better. We do so by stating some important
properties of x;y (k ). Interested readers are referred to [1] for further reading.
First, let us make some pertinent definitions. We use x
= (x0 ; x1 ; : : : ; xN
1)
to represent a period
of the periodic spreading sequence fxl g. We also use the same notation x to denote the doubly infinite
sequence fxl g itself. Then we define the left cyclic shift operator T by
T x = (x1 ; x2 ; : : : ; xN 1 ; x0 ):
The periodic sequence denoted by T x is
: : : ; xN 1 ; x0 ; |{z}
x1 ; x2 ; : : : ; xN 1 ; x0 ; x1 ; : : :
k=0
N , then x; T x; : : : ; T M
If the period of x is actually M
state the following properties of x;y (k ) from [1]:
Property 3.1 x;y (k ) = x;y (k + N )
(k)
Property 3.2 x;y ( k ) = y;x
Property 3.3 jx;y (k )j Property 3.4
PN
1
k=0
q
x (0)y (0)
x;y (k) =
PN
l=0
1
xl
PN
l=0
1
yl
3.6
1
x are called the phases of x. Next, we
Tan F. Wong: Spread Spectrum & CDMA
3. Spreading Sequences
Property 3.5 T i x;T j y (k ) = x;y (k + j
PN
Property 3.6
special case:
1
k=0
PN
Property 3.7
1
k=0
i)
(k + n) =
w;y (k)x;z
(k + n) =
x;y (k)x;y
PN 1
k=0
PN
PN
1
k=0
jx;y (k)j
x (0)y (0) 2
(k + n)
w;x (k)y;z
1
k=0
x (k)y (k + n)
PN
1
k=1
jx(k)j
2
1=2 PN
1
k=1
jy (k)j
2
1=2
Property 3.8 Let X be a set of K periodic sequences with period N . Define the peak crosscorrelation
magnitude by
c
= max
fjx;y (k)j : 0 k N
1; x; y
2 X ; x 6= yg
and the peak out-of-phase autocorrelation magnitude by
a
= max
Then
fjx(k)j : 1 k N
c2
N
which implies
!
+
N
N (K
a2
N
1
1)
!
1;
max
2 Xg :
1; x
K
= maxfc ; a g N
NK
4
1
1=2
1
:
These properties have many applications. For example, we can employ Property 3.8 to gauge how
“good” a set of sequences is compared to the lower bound on max .
In the discussion above, we have neglected the effect of data modulation on the design of spreading
sequences. Now let us address this issue. For simplicity, we assume that the period of the spreading
signals is equal to the symbol duration. Consider the DS-SS signal (cf. (2.13)) obtained by employing
the spreading signal x(t) in (3.1),
sx (t) =
p
2P
where fbxl g are the data symbols and 1
X
l=
1
bxbl=N c xl
2 [0; T )4.
(t
lTc
);
(3.12)
At the receiving end, we employ the correlator
receiver which is matched to the spreading signal y (t) in (3.2). Without loss of generality, we consider
4
Strictly speaking, since sx (t) is not periodic, considering results for other values of can be obtained from those for 2
[0; T )
is not enough. However, we will see that the
2 [0; T ) by simply changing the indices of the data symbols
involved.
3.7
Tan F. Wong: Spread Spectrum & CDMA
3. Spreading Sequences
the detection of the 0-th symbol. We make decisions based on the correlator output, which is a function
of and is given by
Z
zx;y ( ) =
We note that x(t)
=
T
0
sx (t)y (t)dt:
(3.13)
y (t) for the desired user, while x(t) 6= y (t) for other users. Following a develop-
ment similar to (3.5), we can show (see Homework 3) that
zx;y ( )
=
p
2P
+b
n
x
bx0 [R (Tc
1 [R (Tc
^ (T
Æ )Cx;y ( ) + R
c
Æ )Cx;y (
Æ )Cx;y ( + 1)]
^ (T
N) + R
c
Æ )Cx;y ( + 1
o
N )] ;
(3.14)
where is decomposed into and Æ as in (3.6), and Cx;y (k ) is the aperiodic crosscorrelation function
defined by
8
PN 1 k
>
>
>
>
l=0
>
<
PN 1+k
Cx;y (k) = >
>
>
>
>
:
From (3.14), we see that zy;y (0)
=
l=0
xl yl+k ;
xl k yl;
0;
p
y
2P T b0 .
kN 1
N +1k jkj N
0
1
(3.15)
This is the correlator output due to the desired user
signal when we have perfect synchronization. Based on the distinguishability requirement, an ideal set
of spreading sequences, X , would have the following properties:
(iii) For each x 2 X , zx;x ( ) = 0 for j j Tc .
(iv) For every x; y
2 X such that x 6= y, zx;y ( ) = 0 for all .
As in the case of x;y (k ), it is almost impossible to achieve these ideal properties in general. The problem of sequence design is certainly more complex than just considering the periodic crosscorrelation
function x;y (k ) because the aperiodic crosscorrelation function Cx;y (k ) as well as the data symbols
are needed to be considered when the effect of the data modulation is incorporated. In fact, general
sequence design concerning the aperiodic crosscorrelation function is still an open research problem.
Here, we consider the simple case of BPSK modulation. We note (see Homework 3) that the periodic
and aperiodic crosscorrelation functions are related by
x;y (k) = Cx;y (k) + Cx;y (k
3.8
N );
(3.16)
Tan F. Wong: Spread Spectrum & CDMA
for k
= 0; 1; : : : ; N
1.
3. Spreading Sequences
Moreover, we define the odd crosscorrelation function by
^x;y (k) = Cx;y (k)
for k
= 0; 1; : : : ; N
1.
Cx;y (k
N );
(3.17)
For the sake of symmetry, we sometimes call x;y (k ) the even crosscorrelation
function. In the case of BPSK modulation, we can express zx;y ( ) in terms of the odd and even
crosscorrelation functions:
8
>
<
zx;y ( ) = >
:
p x
2P b
p x
h
i
x;y ( )R (Tc
^ (T
Æ ) + x;y ( + 1)R
c
Æ) ;
if bx0
= bx 1
2P b0 ^x;y ( )R (Tc
^ (T
Æ ) + ^x;y ( + 1)R
c
Æ) ;
if bx0
=
0
h
i
bx 1 :
We see from (3.18) that considering the periodic crosscorrelation function is enough when bx0
(3.18)
= bx 1 .
For the other case, we need to consider the odd crosscorrelation function. We note that both the
aperiodic and odd crosscorrelation functions have properties similar to those listed for the aperiodic
crosscorrelation function. Again, interested readers are referred to [1] for more details. We will
discuss sequences with good even crosscorrelation functions for the special case of BPSK spreading
in Sections 3.3 and 3.4. There are very few known results on sequence design based on the odd
crosscorrelation function. Most of the time, sequences with good odd crosscorrelation functions are
found through computer search.
3.2 Binary linear feedback shift register
From now on, we limit our discussion to BPSK spreading, i.e., binary sequences. As mentioned before,
binary spreading sequences are usually generated by feedback shift registers in practice. In particular,
linear feedback shift registers, like the one depicted in Figure 3.2, are commonly used. It is conventional to let the binary sequence u = ful g generated by the n-stage shift register in Figure 3.1 and the
tap weights h0 ; h1 ; : : : ; hn take on values from the set f0; 1g. To obtain the bipolar BPSK spreading
sequence x from the binary sequence u, we define a map from the space of binary sequences to the
space of bipolar sequences by
xl
=
(ul ) = (
i.e., ‘0’ is mapped to ‘+1’ and ‘1’ is mapped to ‘
1’.
ul
1)
;
(3.19)
We note that h0 has to be 1, otherwise the output
sequence u will be identically zero after n shifts. Similarly, hn has to be 1, otherwise we can simply
3.9
Tan F. Wong: Spread Spectrum & CDMA
ul
ul
hn
3. Spreading Sequences
u l+1
u l+n-1
h n-1
h n-2
h1
h0
u l+n
XOR
Binary storage element
Figure 3.2: Binary linear feedback shift register
remove the leftmost stage to get a shorter shift register without affecting the output sequence. From
Figure 3.2, we see that the output sequence satisfies
ul+n
where
=
hn ul hn 1 ul+1 : : : h1 ul+n 1 ;
(3.20)
denotes addition modulo 2, i.e., the XOR operation. We usually represent the shift register
tap weights h0 ; h1 ; : : : ; hn by the binary polynomial
h(x) = h0 xn + h1 xn
1
+ : : : + hn
1
x + hn :
Conversely, we say that a binary sequence u is generated by h(x) if the sequence elements satisfy
(3.20). The coefficients of h(x) are often given in octal notation. For example, the polynomial x4 +x+1
is represented by h23i in octal notation.
A shift register h(x) can generate different sequences depending on the initial contents of the
storage elements. When all the storage elements contain 0 initially, the sequences generated is the allzero sequence. Since the all-zero sequence is of no practical interest, we usually exclude it from the
set of sequences generated by h(x). The shift register in Figure 3.2 can be viewed as a state machine
with 2n
1
states indexed by the contents of the storage elements. We note that the all-zero state is
3.10
Tan F. Wong: Spread Spectrum & CDMA
3. Spreading Sequences
excluded. The initial state of the equivalent state machine determines the sequence generated by the
shift register.
Binary shift register sequences have been extensively investigated. A detailed treatment on the
subject can be found in [2]. Here we state several obvious but important properties of shift register
sequences. Below, we use u and v to denote binary shift register sequences.
2n
Property 3.9 Each binary shift register sequence u is periodic. The period of u is at most
1,
where n is the degree of the polynomial that generates u.
Property 3.10 If u is generated by h(x), then T i u is a sequence generated by h(x).
Property 3.11 If u and v are generated by h(x), then u v is a sequence generated by h(x).
Property 3.12 Let u be a binary shift register sequence. Then T i (u)
N
2wH (u),
=
(T i u) and
PN
l=0
1
(ul )
=
where wH (u) is the Hamming weight of u, i.e., the numbers of 1’s in u .
Property 3.13 Define the periodic crosscorrelation function of the binary shift register sequences u
and v by u;v (k )
= (u);(v) (k ).
4
Then u;v (k )
=
N
2wH (u
T k v ) = Ak
Dk , where Ak and Dk
denote the numbers of places in which u and T k v agree and disagree, respectively.
For example, Table 3.1 shows all the
x4
+
15
possible non-zero sequences generated by the polynomial
x + 1. In this case, the sequences generated by the polynomial have a period of 24
1 = 15.
Different initial states give different sequences. All the sequences are cyclic-shifted versions of, say,
u(1) , and all phases of u(1) are generated by the polynomial. Property 3.11 is illustrated by the example
that the sequence u(1) u(2)
=
u(3) is generated by the same polynomial.
Finally, we note [3] that the shift register configuration shown in Figure 3.3 can be employed to
obtain the sequence generated by the shift register configuration in Figure 3.2. The advantage of the
configuration in Figure 3.3 is that it is more suitable for high-speed implementation since there is
less propagation delay in the feedback path. Although the two configurations in Figures 3.2 and 3.3
give the same output sequences, they have different state trajectories. Hence we need to start the two
configurations with different initial states for them to generate the same sequence (see Homework 3).
3.11
Tan F. Wong: Spread Spectrum & CDMA
3. Spreading Sequences
Sequence
Initial state
First period
u(1)
0001
000100110101111
u(2)
0010
001001101011110
u(3)
0011
001101011110001
u(4)
0100
010011010111100
u(5)
0101
010111100010011
u(6)
0110
011010111100010
u(7)
0111
011110001001101
u(8)
1000
100010011010111
u(9)
1001
100110101111000
u(10)
1010
101011110001001
u(11)
1011
101111000100110
u(12)
1100
110001001101011
u(13)
1101
110101111000100
u(14)
1110
111000100110101
u(15)
1111
111100010011010
Table 3.1: Sequences generated by x4 + x + 1
ul
h1
h2
h n-1
Figure 3.3: High-speed linear feedback shift register configuration
3.12
hn
Tan F. Wong: Spread Spectrum & CDMA
Degree
2
3
4
5
6
7
8
3. Spreading Sequences
Primitive polynomials
h7i
h13i
h23i
h45i, h75i, h67i
h103i, h147i, h155i
h211i, h217i, h235i, h367i, h277i, h325i, h203i, h313i, h345i
h435i, h551i, h747i, h453i, h545i, h537i, h703i, h543i
Table 3.2: Primitive polynomials
m
3.3 Maximal-length sequences ( -sequences)
From Property 3.9, we know that an n-stage shift register can generate sequences with periods up to
N
= 2n
1.
If a shift register sequence has this maximal period, it is called a maximal-length sequence
or m-sequence. It turns out that all the m-sequences with period N
= 2n
1 are generated by primitive
polynomials of degree n. Conversely, every sequence generated by a primitive polynomial is an msequence. Table 3.2 lists primitive polynomials of degrees up to 8. For example, the fourth degree
polynomial x4 + x +1 (h23i) is a primitive polynomial which generates 15 different sequences of period
15
given in Table 3.1. We note that the reciprocal polynomial (xn h(1=x)) of a primitive polynomial is
also primitive. Hence it also generates m-sequences. For example, the reciprocal polynomial of x4 +
x + 1 (h23i) is x4 + x3 + 1 (h31i), which is a primitive polynomial. For clarity, reciprocal polynomials
are not listed in Table 3.2. One should obtain the reciprocals from the primitive polynomials listed in
Table 3.2 to complete the set of primitive polynomials of a certain degree. More comprehensive tables
of primitive polynomials can be found in [3] and many standard textbooks on error-control coding.
Beside requiring the minimum number of shift register stages to generate, the m-sequence u has
the following desirable properties:
Property 3.14 There are exactly N non-zero sequences generated by the primitive polynomial h(x).
They are the N different phases of u, namely, u, T u, T 2 u, . . . , T N
1
u.
Property 3.15 (shift-and-add) A sequence u of period N is an m-sequence if and only if given two
3.13
Tan F. Wong: Spread Spectrum & CDMA
distinct integers i and j , 0
T i u T j u = T k u.
i; j < N , there is a unique integer k 6= i or j such that 0 k < N and
Property 3.16 wH (u) = 2n
Property 3.17 u (k ) =
3. Spreading Sequences
8
>
<
1
= (N + 1)=2
N;
>
:
if
1;
if
l 0 mod N
l 6 0 mod N:
Property 3.18 Among the N sequences generated by h(x), there is exactly one, u
~, which satisfies
u~l
= u
~ 2l
for all l. This sequence is called the characteristic phase of the N sequences generated by
h(x).
Based on Properties 3.14 and 3.18, we can employ the characteristic phase u
~ to characterize the set of
m-sequences generated by a primitive polynomial. For example, the sequence u(1) in Table 3.2 is the
characteristic phase of the set of 15 sequences generated by the primitive polynomial x4 + x + 1. We
note that Properties 3.15 and 3.16 imply Property 3.17, which states that the periodic autocorrelation
functions of m-sequences approach the ideal one described in (i) as the period N increases. Therefore
m-sequences are commonly employed in practice when good autocorrelation functions are required.
For CDMA applications, we need to consider the periodic crosscorrelation function. It is interesting to investigate the periodic crosscorrelation function of two m-sequences generated by two different
primitive polynomials. To this end, we need to introduce the concept of decimating a sequence u. Let
q be a positive integer. We define the decimation by q of u, denoted by u[q ], as u[q ]l
=
uql . The
decimation u[q ] of an m-sequence u has the following properties:
Property 3.19 If u[q ] is not identically zero, then u[q ] has period N=gcd(N; q ).
If q is relative prime to N , u[q ] has period N and, hence, is an m-sequence. In this case, the decimation is called a proper decimation. For example, if u is an m-sequence generated by the primitive
polynomial h(x), then u[N
u[N
1]l =
u(N
1)l
Property 3.20 If v
=
=
1]
is an m-sequence generated by the reciprocal of h(x). We note that
u l.
u[q ], then for all j
u~[2j q ]
0,
j
= u
~[2
q mod N ]
3.14
= v
~:
Tan F. Wong: Spread Spectrum & CDMA
3. Spreading Sequences
In addition, if gcd(N; q ) = 1, then
u[2j q ]
=
u[2j q mod N ]
T iv
=
for some
i depends on j:
Property 3.21 Proper decimation by odd integers gives all of the m-sequences of period N .
Let us consider an example to illustrate Properties 3.19–3.21. We consider the characteristic phase
u~ of the set of m-sequences generated by x4
(000100110101111)
+
x + 1 (see Table 3.2). We know that u~
and we only need to consider decimation by q for q
= 1; 2; : : : ; 14
u(1)
=
since u
~[q ]
=
=
u~[q mod 15] for every positive integer q :
u~[1] = u~,
u~[2] = u~[4] = u~[8] = u~,
u~[3] = u~[6] = u~[12] = u~[9] = (01111) has period 5,
u~[5] = u~[10] = (0) is the all-zero sequence,
u~[7] = u~[14] = u~[13] = u~[11] = v~,
where v~
x4
+
x3
= (011110101100100)
+ 1,
is the characteristic phase of the set of m-sequences generated by
which is the reciprocal of x4
+
x + 1. Since there are only two primitive polynomials
(x4 + x + 1 and x4 + x3 + 1) of degree 4, we have exhausted all m-sequences of period 15 (phases of
u~ and v~) in the process above.
Now, let us look at the periodic crosscorrelation function of two m-sequences, u and v , of period
N . We assume that u and v are generated by two different primitive polynomials. Otherwise we are
just looking at the periodic autocorrelation function which is completed specified by Property 3.17.
From Property 3.21, we know that v
=
u[q ] for some odd integer q which is relative prime to N . The
crosscorrelation function has the following properties:
Property 3.22
Property 3.23
PN
1
u;v (k) = 1
PN
1
2
u;v
(k ) = N 2 + N
k=0
k=0
+1
Property 3.24 For at least one integer k , ju;v (k )j > 2(n+1)=2
1.
Property 3.25 Suppose u
~ and v
~ are the characteristic phases of u and v , respectively. Then, for all
j
0, u;v (k) = u;v (2j k) = u;v (2j k mod N ).
~ ~
~ ~
~ ~
3.15
Tan F. Wong: Spread Spectrum & CDMA
3. Spreading Sequences
Properties 3.22–3.24 bound the mean, mean squared, and absolute values of the crosscorrelation function. Property 3.25 implies that we only need to calculate the values of u~;v~ (k ) for a few selected
integers k in order to determine u~;v~() completely. Moreover, from Properties 3.14 and 3.18, we
know that u
u;v (k)
=
=
T i u~ and v
T i u~;T j v~(k)
=
=
u~;v~(k
T j v~ for some integers i and j . Hence Property 3.5 implies that
+
j
i). This means that by calculating the values of u~;v~(k) for
a few selected integers k , we can determine the crosscorrelation functions of any two phases of u
~ and
v~. In addition, we know that every characteristic phase can be obtained by decimating another characteristic phase. Using this and the discussion above [1] , we can efficiently calculate and tabulate all the
periodic crosscorrelation functions of m-sequences of period N , provided that N is not too large.
It is sufficient in many applications to know the set of crosscorrelation values together with the
number of integers k (0
k < N ) for which u;v (k) = c for each c in this set.
This is referred to
as the crosscorrelation spectrum for the pair of sequences (u; v ). The crosscorrelation spectrum for a
pair of m-sequences has the following properties:
Property 3.26 The crosscorrelation spectrum for the pair of sequences (T i u; T j v ) is the same as that
for (u; v ). In particular, the crosscorrelation spectrum for (u; v ) is the same as that for (~
u; v~).
Property 3.27 Suppose v~0
=u
~ 0 [q ]
and v~ = u
~[q ]. Then the crosscorrelation spectrum for (~
u0 ; v~0) is the
same as that for (~
u; v~).
Property 3.28 For two m-sequences, u and v , generated by two different primitive polynomials,
u;v () takes on at least three values.
For some specific pairs of m-sequences, the crosscorrleation spectra can be determined analytically:
Property 3.29 Suppose u and v are two m-sequences of period N
either q
= 2k + 1
or q
= 2 2k
2k + 1,
= 2n
1
such that v
>
>
>
>
>
:
1 + 2(n+e)=2
occurs
2n e
1
occurs
2n
occurs
2n e
1
2(n+e)=2
u[q ]. If
and if e = gcd(n; k ) is such that n=e is odd, then u;v () takes
on three values, namely,
8
>
>
>
>
>
<
=
3.16
1
+ 2(n e
2n e
1
2)=2
1
2(n e
times
times
2)=2
times:
Tan F. Wong: Spread Spectrum & CDMA
3. Spreading Sequences
In general, we want e to be as small as possible. When n is odd, we can choose e = 1 and some small
values for k . When n
2 mod 4, we can choose e = 2 and k = 2. Thus we can approach the lower
bound given in Property 3.24. Summarizing these choices, we have the following property:
Property 3.30 Let t(n)
= 1 + 2b(n+2)=2c .
If n
6 0 mod 4, there exists pairs of m-sequences with
three-valued crosscorrelation spectra, where the three values are
t(n), and t(n)
1,
2.
Those pairs of m-sequences described in Property 3.30 are called perferred pairs of m-sequences.
For n
0 mod 4,
no perferred pair of m-sequences has been found. However, there are pairs of
m-sequences with four-valued crosscorrelation functions which are as “good” as the three-valued perferred crosscorrelation functions.
Property 3.31 Suppose u and v are two m-sequences of period N
v
=
u[
1 + 2(n+2)=2 ],
= 2n
then u;v () takes on four values, namely,
8
>
>
>
>
>
>
>
>
<
>
>
>
>
>
>
>
>
:
1 + 2(n+2)=2
occurs
(2n
1 + 2n=2
occurs
2n=2
1
occurs
2n
occurs
(2n
2n=2
1
For example, we consider the case where n
erty 3.31, if we choose v
=
= 4
1
1
2(n
2)=2
)=3
where n
0 mod 4. If
times
times
2(n
2)=2
1
2n=2 )=3
and u
1,
=
times
times:
u(1) described in Table 3.2. From Prop-
u[7] (the characteristic phase of the set of m-sequences generated by
x4 + x3 + 1), then u;v () takes on four values, namely,
8
>
>
>
>
>
>
>
>
<
>
>
>
>
>
>
>
>
:
7
occurs
2
times
3
occurs
4
times
1
occurs
5
times
5
occurs
4
times:
This can be easily verified by actually calculating u;v () itself. From Property 3.26, we know that this
is also the crosscorrelation spectrum of the pair (T i u; T j v ) for all i and j . Hence we have exhausted
all possible crosscorrelation functions for m-sequences of period
15
since there are only two fourth
degree primitive polynomials.
Properties 3.29–3.31 provide means to find pairs of m-sequences with crosscorrelation functions
which are relatively small in magnitude. However, more than two sequences are usually needed in
3.17
Tan F. Wong: Spread Spectrum & CDMA
3. Spreading Sequences
n N = 2n
1 Mn t(n)
3
7
2
5
4
15
0
9
5
31
3
9
6
63
2
17
7
127
6
17
8
255
0
33
Table 3.3: Sizes of maximal connected sets
many applications. Hence we need to find a larger set of sequences which have good crosscorrelation
properties. The first question we ask would probably be whether there is a larger collection of msequences in which each pair is a preferred pair as described in Property 3.30. We call a collection
of m-sequences which has the property that each pair is a preferred pair a connected set. A largest
possible connected set is called a maximal connected set whose size is denoted by Mn . Generally,
finding maximal connected sets of m-sequences is a hard problem. For small values of N
= 2n
1,
we can employ some of the properties stated above with the help of computers to do the job. Table 3.3
[1] shows the sizes of maximal connected sets for some small values of n. Also listed is the value
of t(n) which bounds the magnitude of the crosscorrelation function of a pair of m-sequences in the
maximal connected sets (Property 3.30). We note that for n
= 4
and 8, there are no preferred pairs.
For these cases, we can choose (Property 3.31) pairs of m-sequences which have good four-valued
crosscorrelation spectra.
Let us demonstrate the process of finding maximal connected sets by working through the case
where n
= 5,
i.e., N
= 31.
polynomials of degree
5
From Table 3.2 and Property 3.21, we know that there are
and all of the m-sequences of period
31
6
primitive
can be obtained through proper
decimations. The decimation relations are shown by the graph in Figure 3.4 [1]. Each node in the
graph represents the set of m-sequences generated by one of the 6 primitive polynomials. For example,
the node h45i denotes the characterisitic phase u and all the phases of u generated by the polynomial
h45i.
The solid lines represent decimations by
3
if traversed clockwise, and decimations by
traversed counterclockwise. The broken lines represent decimations by
3.18
5
11
if
if traversed clockwise, and
Tan F. Wong: Spread Spectrum & CDMA
<45>
3. Spreading Sequences
u
z=u[11]
v=u[3]
<73>
<75>
CW : decimation by 3
CCW : decimation by 11
CW : decimation by 5
CCW : decimation by 7
Diameter : decimation by 15
<57>
<67>
w=u[5]
y=u[7]
<51>
x=u[15]
Figure 3.4: Decimation relations for n = 5
3.19
Tan F. Wong: Spread Spectrum & CDMA
decimations by
7
3. Spreading Sequences
if traversed counterclockwise. Moreover traversing a diameter corresponds to a
decimation by 15. We note that when the crosscorrelation spectrum is concerned, traversing clockwise
is the same as traversing counterclockwise since the spectrum of u;v () is the same as that of v;u ().
From Property 3.29, we need to have e = 1 in order to generate preferred pairs. Thus k has to be 1 or
even. For k
= 1,
we can choose q
we can choose q
=5
= 3
and hence decimation by 3 gives preferred pairs. For k
= 2,
and hence decimation by 5 gives preferred pairs. From the discussion above, we
know that decimations by 11 and 7 also give perferred pairs. To exhaust all decimations in Figure 3.4,
we need to check decimation by
15.
From Property 3.27, we only need to check, for example, the
crosscorrelation spectrum of the pair (u; u[15]), which is not a preferred spectrum. So we know that
decimation by 15 does not give preferred pairs. Finally, it is easy to conclude from the results above
that each triangle in Figure 3.4 corresponds to a maximal connected set. Thus we have verified that
M5
=3
as given in Table 3.3.
3.4 Gold sequences
Table 3.3 indicates that the sizes of maximal connected sets of m-sequences are small. If more sequences are needed, we need to consider another class of spreading sequences which have good crosscorrelation properties. Gold sequences are one of the common choices. To understand Gold sequences,
we start by the following properties:
Property 3.32 Suppose a shift register polynomial f (x)
=
^ (x), where h(x) and ^
h(x)h
h(x) have no
factors in common. Then the set of all sequences generated by f (x) is the set of all sequences of the
^ (x), respectively.
form u v , where where u and v 5 are some sequences generated by h(x) and h
Property 3.33 Suppose f (x)
=
^ (x) are primitive polynomials of degree
^ (x), where h(x) and h
h(x)h
n. If w is a non-zero sequence generated by f (x), then w is either
5
w
=
T iu;
or
w
=
T j v;
or
w
=
T iu T j v;
We do not impose the restriction that u and v are non-zero sequences.
3.20
Tan F. Wong: Spread Spectrum & CDMA
for some
0
i; j
N
1.
3. Spreading Sequences
^ (x),
In above, u and v are m-sequences generated by h(x) and h
respectively.
It follows from Property 3.33 that all sequences generated by f (x) are some phases of some sequences
in the set G(u; v ) = fu; v; u v; u T v; : : : ; u T N
4
1
v g. We note that G(u; v ) contains N +2 = 2n +1
sequences of period N.
Property 3.34 If u and v are m-sequences, then the peak correlation parameters c and a for G(u; v )
satisfy
c
fju;v (l)j : 0 l n
g:
= a = max
1
Property 3.34 says that given a pair of m-sequences u and v with peak periodic cross correlation magnitude m , we can construct a set of N
+2
sequences with peak periodic cross correlation magnitude
and peak out-of-phase periodic magnitude equal to m . In particular, if (u; v ) is a preferred pair of
m-sequences, then G(u; v ) has peak correlation parameters c
=
a
=
t(n). The set of sequences
G(u; v ) so generated are called Gold sequences, which have the following property.
Property 3.35 Suppose (u; v ) is a preferred pair of m-sequences generated by the primitive polyno^ (x), respectively. Then, for u0 ; v 0
mials h(x) and h
u ;v (k)
0
0
u (k)
0
2f
2f
2 G(u; v) = fu; v; u v; u T v; : : : ; u T N vg,
1;
t(n); t(n)
1;
t(n); t(n)
1
g
2g
2
for all
for
k
k
6 0 mod N
We note that Gold sequences are non-maximal length sequences, which can be generated easily by
^ (x) as shown in Figadding (modulo 2) the outputs of the shift registers corresponding to h(x) and h
ure 3.5. The storage elements are initialized with different values to generate different Gold sequences
in the set G(u; v ).
3.5 Choices of Sequences
First, let us summarize our discussion so far. Our sequence design objective is to choose a set of
binary sequences which have small periodic crosscorrelation magnitudes. We have investigated several
possible choices of sequences:
3.21
Tan F. Wong: Spread Spectrum & CDMA
3. Spreading Sequences
hn
h n-1
h n-2
h1
h0
^
h
n
h^ n-1
h^ n-2
^
h
1
^
h
0
Gold
sequence
Figure 3.5: Gold sequence generator
a set of m-sequences generated by one primitive polynomial;
a maximal connected set of m-sequences generated by different primitive polynomials;
a set of Gold sequences.
The first choice is dangerous since there is no way to distinguish between different sequences in the
set unless the system has already been perfectly synchronized. To avoid ambiguity, we are usually
limited to use only a few well-separated phases. The second choice is limited to applications which
require only a few sequences. There are N
+2
sequences in the set of Gold sequences and the peak
crosscorrelation magnitude is the same as that of a maximal connected set of m-sequences. Therefore,
the third choice is a popular choice of sequences in CDMA applications. A larger set of sequences
(the large set of Kasami sequences), with a small crosscorrelation magnitude can be obtained [1] by
methods similar to that described in Section 3.4. We note that all the sequences discussed above can
be generated efficiently by linear feedback shift registers.
Another important issue in sequence design is the choice between long and short sequences. For a
short sequence, we mean that the period of the spreading signal generated by the sequence is the same
3.22
Tan F. Wong: Spread Spectrum & CDMA
3. Spreading Sequences
as the symbol duration. This is the assumption made when we develop the aperiodic crosscorrelation
function in Section 3.1. The use of short sequences allows multiuser detection which will be discussed
in Chapter 7. Moreover, all the sequence design results presented in this chapter are directly applicable
to short sequences. The design philosophy for short sequences, as described before, is to separate
different spread spectrum signals by dissimilar sequences.
Long Sequences, on the other hand, represent a completely different design philosophy [4]. For
a long sequence, we mean that its period is much larger than the symbol duration. The use of long
sequences randomizes the other spread spectrum signals to make them look like white Gaussian noise
and let the error correcting code to handle this interference. Because of this, it is common to model
long sequences as aperiodic random sequences (all the sequence elements are iid random variables)
in system analysis. There are several advantages for using long sequences [4]. The first advantage
is that the philosophy of randomizing interference is more suitable for the design of error-correcting
codes. Another obvious advantage is that long sequences are more secure than short sequences as
far as unintended acquisition is concerned. We note that the design results in this chapter based on
periodic crosscorrelation function are not directly applicable to systems with long sequences. In this
case, partial crosscorrelation functions also need to be considered [3]. Nevertheless, the results we
have developed provide an initial guideline for long sequence design as very little information about
partial crosscorrelation functions is known.
3.6 References
[1] D. V. Sarwate and M. B. Pursley, “Crosscorrelation properties of pseudorandom and related
sequences,” Proc. IEEE, vol. 68, no. 5, pp. 593–619, May 1980.
[2] S. W. Golomb, Shift Register Sequences, Holden-Day, 1967.
[3] R. L. Peterson, R. E. Ziemer, and D. E. Borth, Introduction to Spread Spectrum Communications,
Prentice Hall, Inc., 1995.
[4] S. Vembu and A. J. Viterbi, “Two different philosophies in CDMA—A comparison,” Proc. IEEE
VTC ’96, Atlanta, GA, pp. 869–873, Apr. 1996.
3.23
© Copyright 2026 Paperzz