Professional Documents
Culture Documents
OVSF Codes - Channelization Codes
OVSF Codes - Channelization Codes
Abstract—Orthogonal Variable Spreading Factor (OVSF) channelization codes are widely used to provide variable data
channelization codes limit the performance of third rates for supporting different bandwidth requirements in
generation (3G) mobile communication systems employing WCDMA [1] systems. OVSF code allows the facility of
Wideband Code Division Multiple Access (WCDMA). The different spreading codes with different coding lengths. Table
codes must be assigned to incoming call requests with I summarizes the basic differences between OVSF and
different data rate requirements, in such a way that the scrambling codes based on some important parameters. In this
codes are mutually orthogonal. The single code assignment paper, three multi code assignment schemes are used to reduce
and reassignment schemes usually lead to the internal and the code blocking in WCDMA. The choice of the multi code
external fragmentation problems in the traditional OVSF design depends upon the constraints like blocking, complexity
code tree which can be efficiently improved by using the or fairness.
multi code assignment and reassignment schemes. In this The remainder of this paper is organized as follows. In
paper multi code design is proposed for optimum use of Section 2, preliminaries of OVSF WCDMA systems are given.
rake combiners (rake fingers) by the use of OVSF code
tree. The work addresses three multi code assignment
TABLE I. PROPERTIES OF OVSF AND SCRAMBLING CODES
schemes with improved code blocking performance.
Extensive simulations are conducted to illustrate that our OVSF Codes Scrambling Codes
code assignment reduce the code blocking problem as Type Channelization Codes Pseudo Noise(PN) Codes
Length 4-512 Chips 38400 chips/256 Chips
compared to the existing coding schemes
Duration 1.04 µS-133.34 µS 10ms/66.67 µS
Keywords- OVSF codes; WCDMA; code blocking; code Number Of 4 ... 256 UL
16,777,216
assignment and reassignment; multi-code; rake combiners Codes 4 ... 512 DL
Spreading Increases Bandwidth No Change In Bandwidth
I. INTRODUCTION UL: To Separate Physical
Data And Control Data From
Orthogonal variable spreading factor (OVSF) codes are Same Terminal
Usage Separation Of Terminal
channelization codes which are used for data spreading on DL: To Separate Connection
both downlink and uplink. But when a particular code is used To Different Terminals In A
Same Cell
in OVSF, its descendant and ancestor codes cannot be used
simultaneously because their encoded sequences become Section 3 describes various code assignment designs along
indistinguishable thus limiting the number of available codes with flowchart and examples. In Section 4, the simulating
in the OVSF code tree. Since a single OVSF code tree is used results are produced. The paper is concluded in section 5.
with one scrambling code for transmissions from a single
source (base station/mobile station), the same OVSF code tree II. OVSF BASED WCDMA FUNDAMENTALS
is used for the downlink transmissions and therefore the base As mentioned earlier, in wideband code division multiple
station must carefully assign the OVSF codes to the downlink access (WCDMA) the transmissions in the uplink and
transmissions. The asynchronous uplink transmissions do not downlink is carried out by scrambling and channelization
suffer from this limitation since each mobile station as a single codes. While scrambling codes are used for device
source uses a unique scrambling code and one or more identification, channelization codes are used for channel
spreading codes from OVSF code tree. The scrambling code separation. The channelization code used in WCDMA is the
makes signals from different mobile stations separable from OVSF codes. The use of OVSF codes in WCDMA systems
each other. But if the uplink is synchronous, the OVSF code has offered opportunities to provide variable data rates to
limitations of the downlink are also valid for the uplink. The flexibly support applications with different bandwidth
use of OVSF codes in downlink and synchronous uplink requirements. The channel utilization in the uplink is less
guarantees that there is no intra-cell interference in a flat therefore there are enough OVSF codes for communication.
fading channel. Since the maximum number of OVSF codes is But in the downlink transmission there are a large number of
hard-limited, the efficient assignment of OVSF codes has a channels corresponding to transmission of signals, hence
significant impact on resource utilization. The OVSF
efficient use of the OVSF codes become important for better In the fixed set partitioning (FSP) [5], the code tree is divided
throughput of the system. into a number of sub trees according to the input traffic
distribution. In dynamic code assignment (DCA) [6] scheme,
the blocking probability is reduced using reassignments based
A. WCDMA Specifications
on the cost function. The DCA scheme requires extra
In a WCDMA system, the spread spectrum is used to information to be transmitted to inform the receiver about
transmit multiple channels over a common bandwidth, and the code reassignments. The adaptive assignment scheme (ADA)
capacity of the WCDMA system is limited by interference [7] does code reservation adaptive to the distribution of input
from other channels. The main properties of WCDMA
technology are given in Table II
B. OVSF code tree and limitations TABLE II. SUMMARIZES THE MAIN POINTS OF WCDMA
The W-CDMA standard defines an 8 layer OVSF code tree Launch January,1998
[2] in the downlink. The spreading factors from layers 1 to 8
Technology UMTS
are 512, 256, 128, 64, 32, 16, 8, and 4, respectively. The
corresponding data rates handled are R, 2R, 4R, 8R, 16R, 32R, Generation Third Generation
64R and 128R, where R is 7.5kbps Controlling Body 3GPP
The spreading factor in the code tree varies from 1 to 27. Spectrum Bandwidth 2GHZ
The spreading factor for a code in layer l is 28-l. The branch Multiplexing FDMA And TDMA
number in layer l is represented by Cl,k where k is the code
Data Rate Upto 2.048 Mbps
number varying from 1 to 28−l . As explained earlier, code
Chip Rate 3.84mcps
blocking is the major drawback of OVSF-CDMA system.
Basically the new call blocking is due to two limitations of
OVSF-WCDMA called external and internal fragmentation [3]. traffic classes. The performance comparison of some of these
The external fragmentation is because of the scattering of the schemes is given in [8].
vacant codes in the code tree. Internal fragmentation problem
occur when the request transmission rate is not in power of
two. Since the data rates of WCDMA OVSF code tree are all III. PROPOSED MULTI CODE DESIGN
power of two there is waste of the code tree capacity. To
The multi code design consists of two steps.
illustrate code blocking, a code tree with six different layers is
considered in Figure 1. The maximum capacity of the code tree (i) Division of incoming rate into quantized fractions
is 32R. In the code tree, four codes C1,2, C1,20, C2,2 and C2,9 with depending upon the number of rakes available
the capacity of 1R, 1R, 2R and 2R are occupied giving used (ii) Assign code to each of the fraction using LCA or CFA. In
capacity of 6R. The remaining capacity of the code tree is 32R- most of our discussion we use CFA scheme as it gives better
6R=26R. If a new call with the requirement of 16R arrives, it is results.
not handled by the code tree giving code blocking which leads The division of the incoming rate into fractions can have
number options. For k rake multi code system with input rate
rR, there are three multi code options.
A. Code assignment using higher rate codes (Algorithm 1)
Assume r=2n. The vacant code with rate 2n is searched
C2,2 C2,9
using CFA scheme and is given to incoming call if at least one
is available. If code is not available, use 2 vacant codes with
C1,1 C1,20
capacity 2n-1R. If two vacant codes are not available, number
of codes with capacity 2n-2R each used is given by
Busy code Blocked code Vacant code
to new call blocking. where ai is the number of 2i capacity codes required to handle
C. Existing code assignment schemes complete or partial incoming call. Also, if an-2 codes are vacant
the call can be handled if a n −1 + an − 2 ≤ k . The Equation (1)
The assignment and reassignment schemes are used to
optimize the performance of the OVSF-CDMA system. In the can be generalized for finding number of 2n-iR codes required
OVSF-CDMA different performance measuring factors are given by
system throughput, blocking probability, code utilization,
i −1
number of code reassignments etc. In crowded first
assignment (CFA) [4], the incoming user picks code from the a n −i = (r − ∑a
j =1
n− j × 2 n − j ) / 2 n − j −1 (2)
crowded portion of the tree. In leftmost code assignment
scheme (LCA) [4] code usage in the code tree starts from left.
k −1 l l
j −1
The call can be handled if ∑i =1
an −i ≤ k . In general the multi ∑2
j =1
×ij = r | ∑ij ≤ k
j =1
(3)
code used to handle rR can be represented by The algorithm use more number of lower layer codes and
Start utilize all k rakes to handle the call.
C. Weighted code assignment (Algorithm 3)
In this design the selection of the multi code is done in such a
Consider code tree way that the codes from most of the layers are used for single
with depth = L
call. The scheme does not favor lower rate or higher rate codes
as in part A and B and hence provide fairness to code
assignment scheme. The algorithm of the code assignment is
New call rate = rR,
as follows.
Define a multi code C = [i1 , i2 , i3 ,........iL −1 , iL ] , where ij is the
weight (number) of layer j codes used for incoming call.
No Find n | 2 n = r . If n<k-1, the first multi code choice of ij is
Check
Capacity
⎧2 ; j =1
Yes ⎪
i j = ⎨1 ; 2 ≤ j ≤ n-1 (4)
⎪0 ; j>n
⎩
Algorithm x,
x ∈ [1,3]; Reject call and
Multi code is found increment blocked
calls
C4,2
Refresh
Tree C2,2
Chose individual
codes using CFA
C1,1
(a)
C3,2
C2,2
Terminate
call C1,1
(b)
C4,2
C = [a L , a L −1, a L − 2, .........a 2, a1 ] . The coefficient ai has
C3,2
following properties.
C2,2
• for all i>n, ai=0
• for all i ≤ n, ai =0 or 2m, max(m)=j for layer n-j
B. Code assignment using lower rate codes (Algorithm 2) C1,1 C1,2
(c)
For integers i1, k and r, the new rate r can be handled by i1 Fig.3 Illustration of multi code design
leaves if i1 ≤ k and r ≤ i1. If the condition is not met, codes
If the vacant codes calculated in Equation (4) are not
from layer 1 and 2 are searched. For integer i2, check
available, the second multi code choice is i1=2, ij=1 for
for 2i2 + i1 = r | i1 + i2 ≤ k . The procedure is generalized for jth
2 ≤ j ≤ n-1 and ij=0 for n −1 ≤ j ≤ L . The procedure is
layer and is given by extended till multi code is found. In general the multi code
after k steps consists of coefficients ij given by
⎧2 ; j =1 handling 16R is shown in Figure 3(a). Code handling using
⎪ Algorithm 2 is illustrated in Figure 3(b). For Algorithm 3 we
i j = ⎨1 ; 2 ≤ j ≤ n-k (5)
assume 5 rake systems and the status of the code tree is shown
⎪0 ; j >n−k
⎩ in Figure 3(c) after handling call.
Blocking probability
0.04
0.05
0.02
0 0
0 0.5 1 1.5 2 2.5 3 3.5 4 0 0.5 1 1.5 2 2.5 3 3.5 4
Traffic load Traffic load
(a) (b)
Blocking probability
0.02
0.02
0.01
0 0
0 0.5 1 1.5 2 2.5 3 3.5 4 0 0.5 1 1.5 2 2.5 3 3.5 4
Traffic load Traffic load
(c) (d)