You are on page 1of 5

OVSF CODES ASSIGNMENT AND REASSIGNMENT AT THE FORWARD LINK OF W-CDMA 3G SYSTEMS

Angelos N. Rouskas1 , Dimitrios N. Skoutas2 Department of Information and Communication Systems Engineering University of the Aegean, Samos 83200, Greece, {1 arouskas, 2 d.skoutas}@aegean.gr

Abstract - We examine the problem of assigning and reassigning orthogonal variable spreading factor (OVSF) codes at the forward link in 3G mobile communications systems employing WCDMA. Efcient channelization code management results in high code utilization and increased system capacity. We introduce a new code selection scheme, which, by means of a very simple measure, attempts to mitigate the problem of scattered codes that fragments the capacity of the OVSF code tree. The main advantage of this new scheme is its ability to effectively combine the merits of other previously proposed schemes [1]. Thus, our proposed scheme is as fast as the random, or ordered strategies, while simulation results have shown that it is as efcient, in terms of capacity improvement, as the crowded-rst scheme. Keywords - Third generation, WCDMA, OVSF codes, assignment. I. I NTRODUCTION Third generation mobile communication systems will enable high data rate and variable data rate services ranging from 144Kbps to 384kbps for wide and up to 2Mbps for low coverage and mobility. WCDMA has been selected as the most promising technology to provide these high rate services with different QoS requirements [2]. Multiple rate transmission is supported by using single channelization codes with multiple spreading factors (SF), the so-called OVSF codes. At the forward link these codes are used to distinguish among different users. Single OVSF code operation requires less harware complexity at the user equipment, compared to multicode operation, and can provide only data rates which are a power of two times the lowest basic rate. Recently, there has been great interest in the OVSF code assignment problem encountered on the forward link of the WCDMA wireless interface. The rst paper to address this issue proposed different strategies to accept a new call, that otherwise would be blocked, performing the minimum possible number of code reassignments [3]. Multiple OVSF code assignment schemes are studied in [4], [5], while priority based schemes for different service classes are presented in [6]. The problem of selecting the best code, among several available candidates, at the arrival of a new call or during the reassignment phase, is rst studied in [1], where a crowded-rst se-

lection criterion is compared against the simpler random and ordered schemes and is shown to be more efcient. In our paper, we present a new code selection scheme that can be used in the assignment process with or without reassignments. The selection is made using a simple measure which differentiates each code in the tree, irrespectively of the incoming or reassigned call rate. It simply counts the number of new codes that will be blocked due to a potential allocation of the corresponding code. Simulation results show that the efciency of this new scheme in terms of code blocking and code reassignments is identical to that of the crowdedrst scheme. However, a signicant advantage over the latter is that our selection measure is not necessarily computed during call initiation, and the scheme does not require recursive computations. Consequently, the decision time at the arrival of a call or during the reassignment phase is as fast as in the random and ordered schemes. The paper is organized as follows. The system model is presented in Section II. The problems encountered during the assignment process of OVSF codes, as well as the proposed scheme that optimizes this process are described in Section III. Section IV presents some numerical results, and the paper is concluded in Section V. II. S YSTEM M ODEL A detailed description on OVSF code generation can be found in [7], [8]. The OVSF code tree is a binary tree with h layers, where each node represents a channelization code Ckl , k = 1, . . . , h, l = 1, . . . , 2hk . The lowest layer is the leaf layer and the highest layer is the root layer. The child codes Ck1,2l1 and Ck1,2l of code Ckl , are generated from the following rules: Ck1,2l1 = [Ckl , Ckl ] and Ck1,2l = [Ckl , Ckl ], where Ckl is the binary complement of Ckl . Codes of the same layer, as well as codes that do not lie in the same path from a leaf to the root of the tree, are orthogonal. The lower the layer of a code, the higher the spreading factor and the lower the code rate. If R denotes the lower (leaf) code rate and SFmax denotes the maximum spreading factor of the leaf layer codes, then the rate of the root layer code is 2h1 R, and its spreading factor is SFmax /2h1 . Figure 1 depicts a 5-layer code tree. Due to the orthogonality constraint, the assignment of a code is possible, if and only if none of its ancestor codes and none of its descendant

0-7803-7589-0/02/$17.00 2002 IEEE

PIMRC 2002

codes are occupied. Once a code is assigned, all of its ancestors, as well as all of its descendants are blocked and can be used after the code is released. For example, the assignment of code C34 immediately blocks its ancestor codes C51 , C42 , and its descendant codes C27 , C28 , C1,13 , C1,14 , C1,15 , and C1,16 , as shown in Figure 1. The code tree capacity is 16R, the used capacity is 8R, and the remaining capacity is 8R.
C51 - SFmax/16 C42 - SFmax/8 C32 C33 C34 - SFmax/4 C28 - SFmax/2 C1,16 - SFmax free

critical because of the undesirable effects that it may have on fragmenting even further the capacity of the code tree. Obviously, the scattering of codes is the most signicant problem that deteriorates the performance of the system and measures should be taken to prevent the appearance of this phenomenon. The possible countermeasures are clever selection among possible candidate codes in situation 2(b), and code reassignment procedures to make room for higher code rates. A. Code Selection Schemes To the best of our knowledge, the only paper that elaborates on the issue of code selection and attempts a comparison of three different schemes, namely the random, ordered or leftmost, and crowded-rst schemes, is [1]. The random and ordered schemes are very fast but less efcient in alleviating the problem of scattered codes, while the crowded-rst scheme results in signicant improvements in the code blocking probability. However, the main drawback of this scheme is longer decision time, because it may require recursive search from the level of the code rate up to the root level during the decision process. The main idea behind this scheme is the attempt to always keep the allocations of codes as compact as possible. This is achieved by always selecting the code, whose immediate upper layer subbranch will have the least free capacity after the allocation. In the case of ties the search continues one more layer up, until the tie is resolved. In this paper, we introduce a new algorithm which has the same efciency in code blocking as the crowded-rst scheme, but it is also as fast as the random and ordered schemes during the decision process. The idea behind our proposed scheme is quite similar to the crowded-rst scheme. A measure that differentiates candidate codes during the selection process is the number of upper and lower layer codes that will be blocked if the code is assigned. Since the number of lower layer codes to be blocked is the same for every code of the same layer, the differentiation of codes can be made in terms of the number of the upper layer codes to be blocked. Those upper layer codes belong to the path from the candidate code towards the root code of the tree. However, during system operation some of those codes may have already been blocked by the sibling of the candidate code or a descendant code that belongs to the sibling subbranch of some ancestor of the candidate code. For example, in Figure 1, if code C11 is assigned to an incoming call with rate R, then codes C21 , C31 , C41 , and C51 should be blocked. Of course, the last two codes are already blocked due to the existing allocation of C23 , a code in the sibling subbranch of the grandfather (C31 ) of C11 . We dene the weight of a candidate code Ckl , as the number of its ancestor codes that will be blocked and are not already blocked due to some other existing code allocation in the sibling subbranch of Ckl , or the sibling subbranch of some ancestor of Ckl . In Figure 1, the weight of C11 is 2, because only two new higher layer codes (C21 and C31 ) will be blocked after a potential allocation of C11 . The other two

C41 C31 C21 C11 occupied

blocked

Fig. 1. OVSF code tree with 5 layers A dynamic assignment process assumes that the set of free codes comprises a common pool of resources available to every new call arrival. We consider that only calls with rates equal to the system call rates are introduced to the system, and that only single code operation is possible. In a multicode system a wider set of call rates are also possible, with additional hardware cost at the user equipment. III. A SSIGNMENT P ROCESS During system operation, and because of the statistical nature of the arrival and departure processes, the occupied codes will be randomly scattered across the code tree, if no countermeasures are taken and the allocation of codes is performed either randomly or even in an ordered fashion. The obvious result is fragmented code tree capacity and limited appearances of higher layer free codes. At the arrival of a new call several situations are then possible: 1) The remaining code tree capacity is lower than the call requirement. 2) The remaining code tree capacity is higher than the call rate requirement, and a) either there is no available code with rate equal to the call requirement, b) or there is at least one code with rate equal to the call requirement. Unless it is possible to temporarily accept a call at a lower rate than the required (until a free code is available), blocking in the rst situation is inevitable and we will call it capacity blocking. However, situation 2(a) is very unfortunate, since the tree capacity is enough to accept the call but this capacity is scattered across lower codes of the tree. If there is no way to make room for the new call by reallocating the codes of ongoing calls, the new call is blocked and we will refer to this situation as code blocking [3]. At the last situation 2(b), which is the only case where the call can be directly supported, the choice among available candidate codes is very

codes (C41 , and C51 ) are already blocked by the allocation of C23 . Note that the computation of this weight for every free code depends only on the current state of code allocations. Fortunately, this quantity does not depend on the rate of the incoming call, as in case of the remaining capacity measure of the crowded-rst scheme. Consequently, the weight computations can be avoided during the decision process and can be updated for every free code just after a code allocation or a call departure. As a result, the selection of the best candidate is very fast and comparable to the random and ordered schemes. Our weighted scheme always selects the code with the lower weight. Ties are resolved by using the ordered criterion. Let us describe the results of the different selection policies in the case of an incoming call of rate 2R in Figure 1. The candidate codes are C21 , C22 , C24 , and C26 . The random scheme selects with equal probability one of these codes, while an ordered scheme selects either C21 (leftmost), or C26 (rightmost). The crowded-rst initially rejects C21 , and C22 , and further investigates C24 and C26 because the remaining capacities of the subbranches of their fathers are both zero. At the second search this policy will select C26 , because the remaining capacity of the subbranch of C42 is zero, less than the remaining capacity of the subbranch of C41 . Our proposed weighted scheme ignores C21 , and C22 , and selects either C24 , or C26 , depending on the ordered criterion used, leftmost or rightmost. Obviously, our weighted scheme, has a similar property as the crowded-rst scheme, namely after the allocation the largest available code will be the largest possible. In other words, the weighted scheme will also not block higher layer codes, unless there is no alternative, thus alleviating the problem of scattered codes. On the other hand, the crowded-rst scheme additionally attempts to keep the code tree allocation as compact as possible, by incurring further computational cost during the decision process at no signicant benet in terms of capacity. The additional cost is expected to be higher (a) for larger trees, because there will be more layers and codes to search, and (b) for light loads because there will be many candidates to choose from. B. Code Reassignment Scheme A reassignment procedure aims at reallocating ongoing calls to other codes so that the phenomenon of scattered codes is alleviated. We can identify different code reassignment strategies mainly characterized by the time the policy is employed, namely the proactive and reactive policies. A proactive mechanism will perform code reassignments at the departure of a call or at predened or periodic time instants in order to provide for the necessary capacity for possible future requests for code rates that otherwise would be blocked. A reactive mechanism will perform certain code reassignments in order to admit a new call, which would otherwise be blocked, at the arrival of the call.

Obviously, a reactive scheme will not always perform reassignments at the arrival of a new call. It will only perform reassignments if there is no available code with rate equal to the rate of the call and the remaining capacity is enough to accommodate it. Furthermore, a reactive mechanism will perform only those reassignments which are necessary to accommodate the call that has just arrived. On the other hand, a proactive scheme, even if it may provide for a more compact allocation of the codes of the tree, which would prevent new calls from being rejected, it may also perform unecessary reassignments, because any such scheme cannot foresee both the type of the next event (arrival or departure) and its rate, due to the statistical nature of the arrival and departure processes. In this paper, we use a reactive mechanism and test the effects of the selection schemes of the previous section on the number of reassignments required to admit a new call. The problem of accepting a newly arrived call, when there is no free code of the same rate to directly support it, is equivalent to the problem of selecting a subbranch with rate equal to the rate of the new call. The calls that occupy codes on this subbranch should be transferred to some other branches of the tree. Since the reassignment of a code may involve further reassignments of codes in other branches, the only way to ensure that the minimum number of reassignments be performed is to exhaustively search for the best candidate with a recursive procedure. However, this is not possible during call setup time and a heuristic algorithm is required. An enhanced version of the code pattern search, mentioned in [3], is presented below. Proper bookkeeping of the relevant information, such as the number of occupied codes in a branch and their occupied capacity, can further improve the execution time of the heuristic. Candidate codes to receive the new call are those codes which are restrained from use because some of their descendants are occupied. 1) Sort the candidate codes according to the number of their occupied descendant codes and choose the one with the smallest number. Resolve ties by selecting the code whose occupied descendant codes carry the smallest capacity. 2) Once the subbranch to become empty is selected, each of the occupied descendant codes must be transferred to other subbranches, starting from the higher rate codes towards the lower rate codes. Each reassignment is treated like a new call. a) If there are more than one free codes of the same rate to accommodate the transferred call, the selection criterion among the candidate codes is the same as that used at the arrival of a new call. b) Otherwise, if no free codes exist to accommodate the transferred call, the same reassignment procedure is repeated recursively from step 1 to select a new subbranch whose descendant codes should be reassigned.

IV. N UMERICAL R ESULTS Our proposed scheme is evaluated on a 7-layer code tree through event driven simulation. The call arrival process is modeled by a Poisson distribution, while the call duration is exponentially distributed. The possible rates for a new call are R, 2R, 4R, and 8R, each with a different probability of appearance. In our simulations we use a uniform rate distribution (R:2R:4R:8R=25:25:25:25) and a more realistic scenario with the lower rate calls being more probable (R:2R:4R:8R=40:40:10:10). To ensure stable results, each point on the gures has been produced by a simulation run with at least 100000 incoming calls. At rst, the different schemes without the reassignment mechanism were tested. Figure 2 shows the total blocking probability which comprises both capacity blocking and code blocking. Suprisingly, the weighted and crowded-rst schemes produce almost identical plots compared to the ordered scheme. This is because the weighted and crowded-rst strategies, by reducing code blocking, increase the acceptance of higher rate calls that in turn reduces the acceptance of lower rate calls. The result is that, in total, the blocking probability remains the same but the call acceptance becomes more fair, by allowing more higher rate calls to be serviced. Furthermore, the total serviced rate is signicantly higher.
40 35 30 25 20 15 10 5 0
5
Co de Blo c king (%)

25 20 15 10 5 0

Orde re d We ighte d Crowde d-first Orde re d We ighte d Crowde d-first

10

15

20

25

30

35

traffic load

Fig. 3. Code blocking probability vs trafc load at different call rate distributions
numbe r o f re as s ig ne d c o de s pe r ac c e pte d c all

0,25 0,2 0,15 0,1 0,05 0


5 10 15 20 25 30 35

Ordered & Reas. Weighted & Reas. Crowded-first & Reas.

traffic load
Ordered Weighted Crowded-first Ordered Weighted Crowded-first

To ta l Blo c king (%)

Fig. 4. Reassignment cost vs trafc load at uniform call rate distribution 25:25:25:25 the latter during call initiation. We dene this extra cost as the additional required computations of the remaining capacity of the upper layer subbranches of the candidate codes, which are performed in order to resolve the ties before placing the call. In Figure 6, we show this additional cost and observe that the lower the offered load, the higher this cost. Indeed, at normal operational loads ( 15), we see that this cost is highest. This behavior is justied by the fact that at this load there are many free codes, and the recursive procedure of the crowded-rst scheme needs to more frequently go up to the higher layers to resolve the ties. The problem gets even worse for larger trees with more layers and more codes in each layer. Furthermore, the more realistic rate distribution imposes more cost because the requests for lower rate codes are higher and the procedure starts the search from the lower layers. V. C ONCLUDING R EMARKS We have considered the problem of assigning and reassigning single OVSF codes at the forward link of WCDMA third generation mobile communication systems. We have proposed a new criterion for selecting the best code among the available candidates to place the new call without fragmenting the remaining capacity of the tree. The scheme, while preserving fast response time during call initiation and reas-

10

15

20 traffic load

25

30

35

Fig. 2. Total blocking probability vs trafc load at different call rate distributions The code blocking reduction is shown at Figure 3. For both rate distributions we can see that the weighted and crowdedrst curves are identical while the ordered curve is signicantly higher. When using the reassignment mechanism along with each one of the schemes, code blocking is completely eliminated and capacity blocking is determined by the trafc load only, not the selection scheme. In this case, the important issue is the reassignment cost, incurred by the different selection schemes. In Figures 4 and 5, we show the number of code reassignments per accepted call. Likewise, the weighted and crowded-rst curves are identical, while the ordered curve is signicantly higher. The main difference between the weighted and crowdedrst schemes is an additional computational cost required by

0,16 0,14 0,12 0,1 0,08 0,06 0,04 0,02 0

Ordered & Reas . Weighted & Reas. Crowded-first & Reas .

10

15

20 traffic load

25

30

35

[6] W.-T.Chen, Y.-P.Wu, and H.-C.Hsiao, A novel code assignment scheme for W-CDMA systems, in Proc. of 54th IEEE Vehicular Technology Society Conference, vol. 2, pp. 11821186, 2001. [7] F.Adashi, M.Sawahashi, and K.Okawa, Tree structured generation of orthogonal spreading codes with different lengths for forward link of DS-CDMA mobile radio, Electronic Letters, vol. 33, pp. 2728, Jan 1997. [8] 3GPP, Technical Specication TS 25.213 V4.2.0, Spreading and Modulation (FDD). Dec. 2001.

Fig. 5. Reassignment cost vs trafc load at call rate distribution 40:40:10:10


Computations per accepted call

numbe r o f re as s ig ne d c o de s pe r ac c e pte d c all

20 18 16 14 12 10 8 6 4 2 0

Crowded-first & Reas. Crowded-first Crowded-first & Reas. Crowded-first

10

15

20 traffic load

25

30

35

Fig. 6. Additional computation cost per accepted call of the crowded-rst scheme signment phases, it also presents the efciency in capacity of some previously proposed strategy. R EFERENCES [1] Y.-C. Tseng, C.-M. Chao, and S.-L. Wu, Code placement and replacement strategies for wideband CDMA OVSF code tree management, in Proc. of IEEE GLOBECOM, vol. 1, pp. 562566, 2001. [2] E.Dahlman, B. Gudmundson, M.Nilsson, and J.Skold, UMTS/IMT2000 based on wideband CDMA, IEEE Communications Magazine, vol. 36, pp. 7080, Sep 1998. [3] T.Minn and K.-Y.Siu, Dynamic assignment of orthogonal variable-spreading-factor codes in W-CDMA, IEEE Journal on Selected Areas in Communications, vol. 18, pp. 14291440, Aug 2000. [4] R.-G.Cheng and P. Lin, OVSF code channel assignment for IMT-2000, in Proc. of 51st IEEE Vehicular Technology Society Conference, vol. 3, pp. 21882192, 2000. [5] F.Shueh and W.-S.E.Chen, Code assignment for IMT-2000 on forward radio link, in Proc. of 53rd IEEE Vehicular Technology Society Conference, vol. 2, pp. 906910, 2001.

You might also like