The OVSF Code Generator

December, 1012
doc.: IEEE 802. 15-12-0687-00-004k
IEEE P802.15
Wireless Personal Area Networks
Project
IEEE P802.15 Working Group for Wireless Personal Area Networks (WPANs)
Title
Document for DSSS OVSF Specification
Date
Submitted
[27 December 2012]
Source
Kyung Sup Kwak [ Inha Univ.]
Jaedoo Huh [ ETRI ]
M. Al Ameen [ Inha Univ.]
Re:
[TG4k LECIM PHY Draft development]
Abstract
LECIM TG4k DSSS OVSF Code Generator
Purpose
Draft standard development
Notice
This document has been prepared to assist the IEEE P802.15. It is offered as a
basis for discussion and is not binding on the contributing individual(s) or
organization(s). The material in this document is subject to change in form and
content after further study. The contributor(s) reserve(s) the right to add, amend or
withdraw material contained herein.
Release
The contributor acknowledges and accepts that this contribution becomes the
property of IEEE and may be made publicly available by P802.15.
E-mail:
E-Mail:
E-Mail:
[ [email protected] ]
[ [email protected] ]
[ [email protected] ]
December, 1012
doc.: IEEE 802. 15-12-0687-00-004k
The following is to be incorporated by replacing existing section19.1.2.6.2 of the TG4k draft.
19.1.2.6.2 OVSF Code Generator
Orthogonal variable spreading factor (OVSF) code is the same as Walsh code, except that each
sequence has different index number in the code set, which results from their different generator
algorithms.
In LECIM system, Gold code is used inside a CLON as the primary code. OVSF code is used to
identify the CLONs and clusters to provide double protection from the outside interference.
The OVSF codes can be defined recursively by a tree structure, as shown in Figure 159.
C80  [1 1 1 11 1 1 1]
C40  [1 1 1 1]
C81  [1 1 1 1 -1 -1 -1 -1]
C20  [1 1]
C82  [1 1 -1 -1 1 1 -1 -1]
C41  [1 1 -1 -1]
C83  [1 1 -1 -1 -1 -1 1 1]
C10  [1]
C84  [1 -1 1 -1 1 -1 1 -1]
Root: r  0
C42  [1 -1 1 -1]
C85  [1 -1 1 -1 -1 1 -1 1]
C21  [1 -1]
C86  [1 -1 -1 1 1 -1 -1 1]
r 1
C43  [1 -1 -1 1]
r2
C87  [1 -1 -1 1 -1 1 1 -1]
r3
Figure 159 –OVSF code tree
The OVSF Code Generator block outputs can be specified by two parameters in the block's
mask: the Spreading factor and the Code index. In Figure 66, C Ni is a code of length N  2 r at
depth r in the tree. The Code index i has the range of {0,1,
, N  1} , , which specifies how far
down the column of the tree at depth r the code appears. The root code C10 has the length of
December, 1012
doc.: IEEE 802. 15-12-0687-00-004k
N  1 , the Code index i  0 , and the depth r  0 . Two branches, which have the length of 2 r1 ,
leading out of C Ni are labeled by the sequences [C Ni C Ni ] and [CNi CNi ] , where CNi  CNi .
To recover the code from the Spreading factor and the Code index, the following procedures
are applied. Convert the Code index i into the binary form. If i  N  1, add zeros to the left side
of this binary code index to make it have the N -bits form. To choose the specific code in the
tree, the path is determined using the binary path sequence in the form of x  [ x1, x2 ,
, xr ] . This
binary path sequence describes the path from the root to the specific code according to the rule as
follows: the path takes the upper branch from the code at depth r  if xr  0 , or the lower branch
if xr  1 for 1  r  r . For example, with the root C10  [1] and r  log2 N of C Ni , then C22Ni and
C22Ni 1 can be defined as: C22Ni  [CNi CNi ] if xr 1  0, and C22Ni 1  [CNi CNi ] if xr 1  1.
To make the above procedures more clear, a specific example is given below. Assuming the
finding code has the Spreading factor N  16 and Code index i  6 , then the following steps
need to be done:
1. Convert i  6 to the binary number 110.
2. Add one 0 to the left to obtain 0110, which has the length of r  log2 16  4 .
3. Construct the sequences C Ni according to the following table.
Path Path
Code
depth sequence index
r
xr
i
0
Code
C Ni
0
C10  [1]
1
0
0
C20  [C10 C10 ]  [1][1]
2
1
1
C41  [C20 C20 ]  [1 1][1  1]
3
1
3
C83  [C41 C41 ]  [1 1  1  1][1  1 1 1]
4
0
6
C166  [C83 C83 ]  [1 1  1  1  1  1 1 1][1 1  1  1  1  1 1 1]
Table 159a – Example of OVSF code recovery
From the Table 159a, the code C166 has Spreading factor N  16 and Code index i  6 .
December, 1012
doc.: IEEE 802. 15-12-0687-00-004k
The logical level architecture of OVSF code generator is shown in Figure 159b. There are two
inputs for the OVSF code generator: an OVSF Code index i and Spreading factor N . The
Code index i is stored in the N -bit binary representation as (VN 1 VN 2 ...V1 V0 ) . According to the
input Spreading factor N , the chip rate binary counter counts incrementally from 0 to N  1 in
the N -bit binary representation as (bN 1 bN 2 ...b1 b0 ) .
MSB
LSB
OVSF Code index i
V0
V3
V2
V1
...
...
VN 2
VN 1









AND

XOR
Chip rate
binary counter
Spreading factor N
bN 1
bN2
bN 3
bN4
...
...
MSB
b1
b0
LSB
      
OVSF Code C Ni
Figure 159b – Logical Level architecture of OVSF code generator
LSB
OVSF code Index
i
V0
V2
b1

b2
V1



Chip rate
binary counter
MSB
AND

XOR
b0
N
MSB
LSB
 
OVSF Code
CNi
Figure 159c –An example of OVSF code generator for LECIM DSSS PHY
December, 1012
doc.: IEEE 802. 15-12-0687-00-004k
For example, to generate the code C85 in Figure 159, considering the digital CMOS logic
operation, the mapping {“+1”->”logic 0”}, and {“-1”->”logic 1”} is specified. The participation
of the specific bits in the XOR operation according to the OVSF Code index i is periodic in
time and can be controlled by the chip rate binary counter as illustrated in Figure 159c and the
following table.
Table 159d – Example of OVSF code output
Chip rate counter
Operation
b2 b1b0
V0 V1V2
with code index
i= 5
OVSF code output
CMOS logic mapping form
C85
Form in Figure 159
0 0 0
0
0
1
0 0 1
V2
1
-1
0 1 0
V1
0
1
0 1 1
V1  V2
1
-1
1 0 0
V0
1
-1
1 0 1
V0  V2
0
1
1 1 0
V0  V1
1
-1
1 1 1
V0  V1  V2
0
1
The PIB attributes phyLECIMDSSSPSDUOVSFSpreadingFactor and
phyLECIMDSSSPSDUOVSFCodeIndex specify the OVSF code output. The same values shall be
used to recover the OVSF code.