Вы находитесь на странице: 1из 5

OVSF Code Assignment Method Considering Traffic Characterisrics in

W-CDMA Systems
Sun-Ho Lee and Dong-Ho Cho
Department of Electrical Engineering and Computer Science
Korea Advanced Institute of Science and Technology
373-1, Guseong-dong, Yuseong-gu, Daejeon, 305-701, Republic of Korea
Email: shlee@comis.kaist.ac.kr, dhcho@ee.kaist.ac.kr
Abstract
In this paper, we propose a novel OVSF (Orthogonal Variable
Spreading Factor) code assignment method considering traffic
characteristics in the W-CDMA systems. The previously proposed dynamic code assignment (DCA) scheme allows code
reassignments to improve code utilization, but induces some
service delay time to on-going calls. Generally, as the layer
number of an OVSF code is lower, code reassignments are performed more frequently. So, delay sensitive voice calls which
use low rate OVSF codes suffer Quality of Service (QoS) degradation. To overcome this problem, we divide the whole OVSF
code tree into two groups, one of which is a branch for real time
voice calls (voice branch), while the other branch (data branch)
is used for low, medium or high data rate non-real time data
calls. By permitting only codes in the data branch to be reassigned, the QoS (Quality of Service) guarantee for real time
voice traffic is possible. The simulation results show the proposed scheme not only guarantees the QoS of voice traffic, but
also gives high code utilization which is comparable with that
of the DCA scheme.

Keywords
OVSF code, code assignment, WCDMA, resource management.

1. Introduction
In the second generation CDMA system such as IS-95, an Orthogonal Constant Spreading Factor (OCSF) code is assigned
to each user for supporting voice or low data rate services. In
this system, to provide higher data rate services, multiple OCSF
codes are assigned to a call. However, in the Wideband CDMA
(W-CDMA) system which is proposed by 3rd Generation Partnership Project (3GPP), it is possible to provide multi-rate services for a user by assigning only one Orthogonal Variable
Spreading Factor (OVSF) code which can be generated by an
OVSF code tree [1][2]. So, hardware complexity of a mobile
station is reduced in comparison with the case that the system
employs OCSF codes because a mobile station requires only
one transceiver per mobile station. Nevertheless, the system using OVSF codes may have lower spectral efficiency according
to the adopted code assignment and reassignment scheme than
that using OCSF codes. It is because a user requesting  bps
may not be served although the system has enough free capacity
( ) if there is not an available code of rate , where  is
the lowest (leaf) code rate and  is  ( is an integer between 0
and   in case that  is the maximum spreading

factor). To overcome this problem, an efficient code assignment


scheme is required.
In [3], an optimal dynamic code assignment (DCA)
scheme, which determines the minimum-cost branch that
should be vacated to support a new call, was proposed. This
scheme is optimal because it minimizes the number of the previously occupied OVSF codes that must be reassigned for serving a new call. However, it does not mention where to place
the previously occupied OVSF codes in the selected minimumcost branch. In [4], the authors proposed the strategies to place
not only the OVSF code for a new call but also those which
should be reassigned. Especially, crowded-first scheme, which
selects more crowded branch to place a code, shows the best
performance. However, because the previous schemes in [3][4]
allow the formerly occupied codes to be reassigned to improve
code utilization, they inevitably induce some service delay time
which is needed for the Walsh generator at the receiving mobile
station to switch from one code to another. Moreover, frequent
code reassignments induce signaling cost which increases service delay time additionally in the radio access network. So,
frequent code reassignments influence Quality of Service (QoS)
of the on-going calls.
In this paper, we propose a novel OVSF code assignment
method considering traffic characteristics in the W-CDMA systems which support two traffic types, voice and data. The simple
method for QoS guarantee of real time voice traffic is permitting only data calls to be reassigned in case that the remaining
system capacity is enough and there is no available code corresponding to a new call requirement. But, this method may
show lower code utilization and higher new call blocking probability in comparison with [4] because there are restrictions on
code reassignment. In the proposed method, the overall OVSF
code tree is divided into two groups, one of which is a branch
for real time voice calls (voice branch), while the other branch
(data branch) is used for low, medium or high data rate calls to
achieve the best trade off for overall system utilization, while
satisfying service QoS requirement for voice calls. By grouping the whole code tree, the code reassignment procedures can
be localized within the data branch.
This paper is organized as follows. In Section II, we describe the features of OVSF code tree and problems originated
by previous code assignment methods. In Section III, we introduce our proposed OVSF code assignment method. Section IV
presents the performance of the proposed scheme and provide
a comparison with previously proposed schemes. Conclusions
are presented in section V.

Layer number

C 5,1

C 4,1

4
3
2

C 4,2

C 3,1
C 2,1

C 3,3

C 3,2
C 2,2

C 2,3

C 2,4

C 2,5

C 3,4
C 2,7

C 2,6

C 2,8

C 1,1 C 1,2 C 1,3 C 1,4 C 1,5 C 1,6 C 1,7 C 1,8 C 1,9 C 1,10 C 1,11 C 1,12 C 1,13 C 1,14 C 1,15 C 1,16
Free code

Occupied code

Figure 1: An example of OVSF code tree structure

2. Problems in Previous OVSF Code


Assignment Methods
The OVSF code tree is a binary tree as shown in Fig. 1. Each
code can be represented by  , where  is the layer number
which is an integer between 1 and  , and  is the branch
number which is an integer between 1 and   . In Fig. 1,
 is 5. Recursive code generation is started at the root code
  . Also, child codes    and   of  are

  respectively, where 
equal to    and  
is the binary inverse of  . The maximum spreading factor
 is   and the spreading factor of the -th layer
codes is   . If  is the data rate supported by the lowest
layer codes, system capacity is       in case
that we assume the system capacity is code-limited.
For maintaining orthogonality among occupied codes, code
assignment should be performed carefully. In Fig. 1, if 
is occupied by a call, its ancestor codes ( , ) and descendant codes ( , , , , , ) should not be
assigned to another call. We assume that codes  , ,
and  are in use as shown in Fig. 1. In the conventional
code assignment scheme, a new call requesting for a code of
rate 8 will be blocked although the remaining capacity is
8. However, the DCA scheme accepts the call by reassigning pre-occupied codes. If  is selected for the new call by
minimum-cost branch search algorithm of the DCA scheme[3],
 and  are relocated to  and  , respectively. Although DCA scheme increases code utilization and decreases
call blocking probability, code reassignments influence the QoS
of on-going calls. As the requested data rate is higher, the number of code reassignment (reassignment cost) during a new call
initiation increases. Especially, if the reassigned code is used
for delay sensitive voice traffic, the QoS degradation is critical.
To guarantee the QoS of real time voice calls, we propose a new
code assignment scheme in the next section.

3. Proposed Code Assignment Scheme


The proposed code assignment scheme divides the whole code
tree into 2 groups, one for real time voice traffic and the other
for non-real time data traffic. Then, call admission is performed
by capacity check. If the system determines to accept a call,
an OVSF code is assigned to the call. That is, the proposed
code assignment scheme consists of 3 steps, OVSF code group-

ing, call admission based on capacity check, and OVSF code


assignment and reassignment.
3.1. OVSF Code Grouping
It is assumed that a voice traffic user can request only a code
for rate  and that a data traffic user can request one of codes
for rate , , , and
. Also, we assume the system
(RNC in UMTS Radio access network) knows the arrival rates
of voice call requests and data call requests for each available
data rate. To provide fair services to voice and data calls, the
overall OVSF code tree is divided into voice branch and data
branch considering each traffic characteristics and the arrival
rate of requests for each possible code rate.
Let
 be the arrival rate of data users requests for code
rate , where =, , , and
. If the arrival rate of voice
call requests is
 , the ratio of occupied code resources for data
calls to all the occupied resources is


, where
is
given by






(1)

Let  be the layer number of the root code of the data


branch. Then, code resource for data calls among the whole
code resources can be represented by




  

(2)

From Eq. (2), it follows that

    




(3)

However,  should be equal to or larger than 4 because


maximum allowable code rate for data traffic is
. Also, 
should be smaller than  to avoid blocking of all the voice
calls. Thus,  can be recalculated by

      




    (4)

where  is equal to or larger than 4.


In the real system, the above arrival rates are not fixed. So,
the calculated  may not be optimum value although the system
updates  periodically. However, we find that non-optimum 

does not influence code utilization significantly through simulation results, which appear in the next section.

Start

Select call arrival


rate and mean call
duration

3.2. Call Admission based on Capacity Check


In this paper, we assume the system is code-limited. So, we do
not consider other cell interference when calculating the system
capacity. Before the call admission control is performed, the
system should know  by conducting OVSF code grouping. If

a voice call requesting for a code of rate 
arrives, the system
checks whether the following Eq. (5) is satisfied.





  

 

      


Select ratio of data traf


fic

OVSF Code Grouping

End of
simulation?




   

 






(5)

New call generation

Yes

No
Capacity available?

 


  

      


Voice call?

Update blocking
probability



No
Capacity available?

Code assignment and


reassignment

Code assignment

(6)

No

Yes

Yes

Update the number of


reassignments

where  and   are the total number of on-going data calls


and the requested data rate of the -th data user, respectively.
The system accept the call when Eq. (6) is true. Otherwise, the
system verifies if the following Eq. (7) is satisfied.



End

No

where  and  are the total number of on-going voice calls
and the requested data rate of the -th voice user, respectively.
If Eq. (5) is satisfied, the system accepts the call. Otherwise, it
blocks the call.

arrives, the
If a data call requesting for a code of rate 
system checks whether the Eq. (6) is satisfied.


Yes

Update code
utilization

Figure 2: Flow chart of the proposed scheme

(7)


exists in the voice
If Eq. (7) is satisfied and a code of rate 
branch, the call is accepted. Otherwise, it is blocked.

higher rate should be moved first to minimize the number of


reassignments.

4. Simulation Results
3.3. OVSF Code Assignment and Reassignment
When a new call for voice or data service arrives, a code in the
voice or data branch is assigned respectively when an available
code is in the corresponding branch. If there isnt an available
code in the corresponding branch, a code in the other branch
can be assigned for only data service users in case that an available code exists. Reassignments of the pre-occupied codes are
permitted in the data branch, but it is not needed in the voice
branch because we assume that voice users request only codes
of rate . The reason that we do not allow voice calls to use
codes in the data branch is that it may impose restrictions on
code reassignment in the data branch. This operation localizes
the code reassignment problem in the data branch, while the
QoS requirement for voice traffic is satisfied.
When a call for voice service arrives and there are more
than one candidates, a leftmost code is selected. This strategy
enables data users requesting high rate codes not to be blocked
in the future, and increases code utilization. On the other hand,
when a call for data service arrives and there are more than one
available codes, crowded-first strategy, which is proposed in [4],
is used. If there is not an available code for the data call and the
system has enough free capacity, one code is selected by code
pattern search algorithm, which is described in [3]. The code
pattern search algorithm selects a code which has the minimum
number of the occupied descendant codes and the maximum unused capacity. Then, the occupied descendant codes of the selected code should be moved to other branches. When this code
reassignment operation is performed, the descendant codes of

In this section, we compare the performance of the proposed


scheme with those of the conventional scheme and the DCA
scheme. The conventional scheme does not allow code reassignment, and we assume that it selects a leftmost code among
available codes when a new call arrives. Also, it is assumed that
the DCA scheme uses crowded-first strategy to select a code for
a new call. Fig. 2 shows the flow chart for computer simulations. The simulation was run over 50000 units of time and
the maximum layer number of the whole OVSF code tree was
7. For performance comparison, the number of reassignments,
code utilization, and blocking probability are measured. The
following parameters are used for the performance evaluation.







A request arrival is described by a Poisson process with


arrival rate
. In this simulation,
is varied from 0.1 to
1 calls/unit time.
Call duration is exponentially distributed with mean call
duration  which is varied from 80 to 240 units of
time.
The layer number of the root code of the whole OVSF
code tree  is 7. So, the maximum spreading factor
is 64.
The ratio of data calls to all the incoming calls   is
0.4 or 0.6.
The data rate which is requested by each data user
(not voice user) is uniformly distributed.
Thus,

:

:

:

=1:1:1:1.

2000

number of reassignments

1600
1400
1200

0.9
0.8

1000

0.6
0.5

800

0.4

600

0.3

400

0.2

200

0.1

0
0

10

20

30

conventional scheme
DCA scheme
proposed scheme

0.7
utilization

1800

1
DCA voice
DCA data(R)
DCA data(2R)
DCA data(4R)
proposed voice
proposed data(R)
proposed data(2R)
proposed data(4R)

40
50
offered load

60

70

0
0

80

10

20

30

40
50
offered load

60

70

80

70

80

(a)

Figure 4: Utilization vs. offered load.


1800
1600

1200

0.9

0.7

1000
800
600

0.6
0.5
0.4

400

0.3

200

0.2

0
0

0.1
10

20

30

40
50
offered load

60

70

80

(b)

Figure 3: Number of reassignments vs. offered load. (a)


  =0.4. (b)  =0.6.

The performance measures are defined as follows.





ld=6
l =5
d
l =4

0.8

utilization

number of reassignments

1400

DCA voice
DCA data(R)
DCA data(2R)
DCA data(4R)
proposed voice
proposed data(R)
proposed data(2R)
proposed data(4R)

The number of reassignments is increased whenever


code reassignment occurs during simulation time.
The code utilization is defined as the ratio of used capacity to the overall capacity.
The blocking probability is the probability that a new call
is blocked in case that there are not an available code and
enough free capacity.

Fig. 3 (a) shows the number of reassignments as a function


of offered load for the DCA scheme and the proposed scheme
when   is 0.4. We can see that the DCA scheme induces the
significantly large number of reassignments for voice calls. On
the contrary, the proposed scheme guarantees the QoS of voice
calls because it does not permit code reassignment for codes
in the voice branch. Fig. 3 (b) shows the simulation results
when   is 0.6. We can see that the number of reassignments
for voice calls is decreased and that for data calls is increased
because   is increased. However, the DCA scheme still
cannot guarantee the QoS of voice calls. In Fig. 3, we do not
include results for
 rate request because
 is the maximum

0
0

10

20

30

40
50
offered load

60

Figure 5: Utilization vs. offered load.


allowable data rate and the reassignment for a code of rate

does not occur.
In Fig. 4, the code utilization with varying offered load
is shown for the conventional scheme, the DCA scheme, and
the proposed scheme when   is 0.4. As expected, the proposed scheme shows slightly lower code utilization in comparison with the DCA scheme. It is because the proposed scheme
imposes restrictions on the utilization of overall OVSF code tree
by grouping it. However, our proposed scheme shows better
code utilization than the conventional scheme.
Next, we investigate the effect on the code utilization when
the  which is calculated by the proposed OVSF code grouping
algorithm is not optimum value. Fig. 5 depicts the code utilization against offered load for various  values when   is
0.4. By using the proposed OVSF code grouping algorithm, the
calculated  is 6. As we can see, the code utilization slightly increases as  decreases under the heavy traffic condition. However, the difference is very small.
Fig. 6 shows the blocking probability of
 requests
against offered load for various  values when   is 0.4.
As  decreases, the blocking probability increases. It is because the total number of codes for users requesting high data
rate is decreased as  decreases. The increment of the blocking
probability of high rate requests results in the decrement of the

5. Conclusions

blocking probability of 8R requests

0.9
0.8

l =6
d
l =5
d
l =4

In this paper, we proposed a novel OVSF code assignment


method which guarantees the QoS of voice calls by considering traffic characteristics and grouping the overall code tree.
Through simulation results, we confirmed that the proposed
method not only guarantees the QoS of voice calls, but also
gives high code utilization which is comparable with that of the
DCA scheme. Also, we find that non-optimum  value does
not significantly influence the code utilization. For the further
work, we will consider the blocking probability of each data
rate requests to find the method for serving all the calls fairly.

0.7
0.6
0.5
0.4
0.3
0.2

6. References

0.1
0
0

10

20

30

40
50
offered load

60

70

80

Figure 6: Blocking probability of 8R request vs. offered load.

blocking probability of low rate requests.


Through Fig. 5 and 6, we can see that non-optimum 
value influences the blocking probability of high rate requests
more than code utilization.

[1] 3GPP, Technical Specification TS 25.213 V4.2.0, Spreading and Modulation (FDD), Dec. 2001.
[2] F. Adachi, M. Sawahashi, and H. Suda, Wideband
CDMA for next generation mobile communications systems, IEEE Commun. Mag., vol. 36, pp. 56-69, Sept. 1998.
[3] T. Minn and K. -Y. Siu, Dynamic Assignment of Orthogonal Variable-Spreading-Factor Codes in W-CDMA, IEEE
J. Select. Areas Commun., vol. 18, no. 8, pp.1429-1440,
Aug. 2000.
[4] Y.-C. Tseng and C.-M. Chao, Code Placement and Replacement Strategies for Wideband CDMA OVSF Code
Tree Management, IEEE Trans. Mobile Computing, vol.
1, no. 4, pp. 293-302, Oct. 2002.

Вам также может понравиться