Piazza L. Da Vinci, 32 - 20133 Milano, Italy. AbstractâThis paper proposes some novel techniques to accommodate users with different transmission rate ...
Efficient Algorithms for the Assignment of OVSF Codes in Wideband CDMA M. Dell’Amico , M. L. Merani , Member IEEE and F. Maffioli DISMI, University of Modena and Reggio Emilia, Italy Viale Allegri, 15 - 42100 - Reggio Emilia
Department of Information Engineering, University of Modena and Reggio Emilia, Via Vignolese, 905 - 41100 - Modena, Italy DEI, Politecnico di Milano, Italy Piazza L. Da Vinci, 32 - 20133 Milano, Italy Abstract—This paper proposes some novel techniques to accommodate users with different transmission rate requirements in a CDMA system which employs orthogonal variable spreading factor codes. Several static and dynamic code assignment strategies are put forth and their behavior investigated, in terms of call blocking probability and number of required call reassignments. Their efficiency in dealing with various traffic loads is demonstrated, quantitatively showing the superior performance of our dynamic scheme with respect to a so-called “optimal” code assignment strategy recently presented in literature. Keywords— OVSF codes, Wideband CDMA, Hybrid MulticodeOrthogonal Variable Spreading Factor Code Assignment, Multimedia Traffic.
I. I NTRODUCTION Wireless systems of the near future, whose physical layer will heavily rely on Code Division Multiple Access (CDMA), will have to support heterogeneous traffic generated by applications ranging from voice to multimedia. Such a variety of services asks for a drastically different way to distribute resources among users, in order to flexibly – and efficiently – cope with different transmission rate requirements. In current spread-spectrum based systems, users demanding higher transmission rates are attributed more orthogonal codes in parallel, a solution termed Multicode CDMA (MC-CDMA). In UMTS/IMT-2000 [1]-[3], one of the foreseen alternatives is to employ orthogonal variable spreading factor (OVSF) codes, i.e., to assign high rate users orthogonal codes with lower processing gains, whereas traditional low rate applications employ orthogonal codes with higher spreading factors. In an OVSF-CDMA system, many constraints have to be dealt with, one of the most relevant being the possibility of code blocking. The probability of code blocking is defined as the probability that, although the system has excess capacity to accept a new incoming call, the latter is blocked due to a previous awkward assignment of codes within the code tree. A high code blocking probability can make an OVSF-CDMA system useless, as far as the possibility of handling different data rate requirements is concerned. Few contributions have so far appeared in literature regarding the problem of code assignment, e.g., [4], [5]. In [4] the authors propose an assignment method to support multirate services using multicode transmission. In [5] an alternative approach, suitable for pure OVSF architectures
is devised. In the current paper we first propose some static methods which aim at confining code blocking down to a tolerable level in OVSF and hybrid multicode-OVSF systems, without including the possibility of rearranging ongoing calls within the code tree in order to eliminate the blocking of a new call. Next, we put forth an original dynamic code assignment scheme, able to reduce the code blocking probability to zero. This approach has better performance than the scheme in [5], as it reassigns a lower number of calls. More importantly, it is easy to implement and it exhibits a superior performance with respect to [5], even though its parameter values are not optimized for the actual network traffic: this promisingly suggests even better results if such values were more carefully refined. We have organized the present contribution along the following guidelines: in Section II the features of multirate transmission in OVSF-CDMA systems are briefly reviewed; Section III is devoted to the presentation of the proposed static and dynamic code assignment algorithms; in Section IV their performance is numerically compared; Section V closes the paper with some concluding remarks. II. M ULTIRATE S ERVICES
IN
WCDMA
Although current CDMA-based systems support higher transmission rates by multicode operation, next generation mobile radio architectures will provide this option in a variety of manners. Concerning the specifications elaborated by the Third Generation Partnership Program (3GPP), the UTRA FDDWCDMA (Wideband CDMA) operating mode accommodates users requiring high transmission rates varying their spreading . factor up to a maximum value of In this paper we focus onto this scenario, and first review some basic concepts behind spreading for Wideband CDMA transmission.
512
A. OVSF Codes in W-CDMA Spreading in CDMA consists of two operations [6]: the first is channelization, the second is the scrambling operation. With channelization, data symbols are multiplied by orthogonal spreading sequences: preserving the orthogonal-
0-7803-7400-2/02/$17.00 © 2002 IEEE
3055
ity between different physical channels is essential in order to achieve the target of increasing system capacity. Although different approaches can be pursued to generate sequences that satisfy the orthogonality relation, the most useful class of orthogonal code sequences for CDMA is the set of Walsh and Hadamard codes [7], [8]. The channelization codes employed by UTRA FDD WCDMA are of variable length, i.e., they are Orthogonal Variable Spreading Factor (OVSF) codes: users requiring more robust transmission pipes are assigned lower length codes (lower processing gains) and therefore benefit from higher transmission rates. The recursive generation of higher length OVSF codes from lower length ones is well described by a a code tree structure such as the one reported in Fig.1, where each orthogonal channelization code C is uniquely assigned a layer number i and a branch number j . The familiar notions of leaf-node, subtree, descendants, ancestors, and others common to the use of binary trees are also utilized for code trees. Given that a code of layer , C ; j , allows a transmission rate equal to R bit/s, a code in layer l guarantees a data rate which is l 1 R bits/s: e.g., the assignment of code C ; of the tree in Fig. 1 allows the user to transmit at a rate R bit/s. If the maximum allowable spreading factor is S Fmax m , the OVSF CDMA system can accommodate users of m distinct classes Li , i ; : : : ; m , with corresponding transmission rates R, R, R, : : :, m R. The number of codes at layer coincides with the maximum spreading factor S Fmax which the CDMA architecture supports; further, the i-th level of the code tree features the presence of m i+1 codes. Note that all codes in each layer are mutually orthogonal. This is also true for codes of different layers, except when one of the two codes is an ancestor of the other. Once a particular code is used, none of its descendants nor its ancestors can therefore be assigned, in order not to violate the condition of orthogonal simultaneous transmissions.
1 (1 )
(3 2) 4
2
+1
2
=
=1 2 4
1
+1 2
2
B. Blocking in a Code-Limited System In OVSF-CDMA code blocking may occur: imagine for instance that codes C ; , C ; and C ; of the tree of Fig. 1 are assigned. It is easy to verify that a new incoming call of class L3 ( R requirement) would be blocked, even though only half of the entire system capacity ( R for this code tree) is used. Note however that dynamically reassigning the call on code C ; to leaf C ; would allow to assign code C ; to the incoming call. Hence the following Definition 1 OVSF code blocking for class Li is the condition that a new class i call arriving to the system cannot be supported, although the system has excess capacity to satisfy the rate requirement of the call. This definition extends the one in [5], which was given with reference to a generic new call, regardless of the rate it required. In view of differentiating the quality of service perceived by different application
(1 1) (1 6) 4
(3 2)
(1 6)
(1 2)
(2 2)
8
groups, we more properly distinguish code blocking on a class basis. From the previous definition it follows that, before any scheme dynamically attempts to reassign the existing calls to accept the new one, it needs to verify if the system has enough capacity to support the new class Li incoming call; if not, the call is inevitably rejected. We further observe that the maximum capacity is SFmax R bit/s. Let Ki be the total number of class Li users in the system; then Pm+1
i=1
Ki 2i 1 R SFmax R ; or equivalently Pm+1 i 1 m 1; i=1 Ki 2
(1)
which is a simple alternate form of Kraft’s inequality for prefix-free binary codes [5], [9]. Because of this the following theorem holds [5]: Theorem 1 If the new request of a class Li user satisfies (1), then the call can be supported by code reassignment. It is under the hypotheses required by last theorem that we will propose a new dynamic code assignment algorithm, targeted at eliminating code blocking. III. C ODE A SSIGNMENT A LGORITHMS The starting point of our study was represented by [5], where a dynamic code assignment technique was proposed, in order to minimize the number of call reassignments needed to remove code blocking. Two major points have however to be evidenced regarding the aforementioned proposal: first, this policy modifies the code allocation within the code tree on a call-by-call basis, i.e., it searches what we term a local optimum operating point of the system. More precisely, when a new Li class call tries to enter the system, if the call can be supported but no code is available at level i without violating the orthogonality condition, a search is performed to identify a subtree T i; j rooted at level i such that: (a) a minimum number of reassignments is needed to reassign all occupied codes in T i; j to other subtrees; (b) after these reassignments T i; j is left empty and the new call can be assigned to its root, i.e., to code C i; j . This policy is optimal (i.e., it minimizes the number of reassignments) on a single call arrival basis, but it gives no guarantee that considering a sequence of calls the overall number of reassignments is still a minimum. This is the feature of a typical greedy algorithm, that looks for immediate benefits, but often looses the overall optimality. The second drawback of the method presented in [5] is that its topology search heavily relies on off-line tables, whose dimension and computational complexity markedly increase for high values of the maximum spreading factor S Fmax and for a growing number of user classes. Unfortunately, this is exactly the framework envisioned for Wideband CDMA.
3056
( )
( ) ( )
( )
In this paper we first consider two static allocation policies, i.e., with no code reassignment, and enhance them with a hybrid multicode (MC) strategy. Next we propose a novel dynamic algorithm, i.e., a technique which allows code reassignment, based on the new concept of Tree Partitioning. Before describing the proposed methods we introduce some further necessary notation. We indicate by Li ( Li mi +1 ) the load of level i, i.e., the number of assigned codes at level i. Moreover, we label a code C i; j as free, and therefore affirm that it can be assigned without violating the orthogonality principle, if: (i) none of the codes belonging to the subtree T i; j rooted at C i; j has been assigned; (ii) no code C h; k has been assigned, such that subtree T h; k includes C i; j . Code C i; j is tied if conditions (i) or (ii) above are not satisfied. Note that on any layer an unassigned code is either free or tied.
0
2
( )
( ) ( ) ( ) ( ) ( )
( )
A. Static approaches A.1 First Fit Choices The first allocation policies we propose do not allow code reassignment: they are based on the standard First Fit rule (FF) for the Bin Packing Problem (BPP)[10]. In BPP we want to assign items to identical bins, without exceeding the capacity of the bins while minimizing the number of bins used. Similarly to BPP we have calls (items) to be assigned to levels (bins). In our problem the bins are not independent, as they are organized into a tree; additionally, only the bins respecting the orthogonality constraint can be assigned. With FF an item is assigned to the first bin in which it fits; equivalently in our problem a call can be assigned the first free code of its level. The two allocation policies we now introduce differ in the test used to determine how to assign the code. FF Strategy: upon the arrival of a new class Li call, select the first free code C i; j , if any. FF 1 Strategy: select the first unassigned code of level i. If C i; j is free, assign it to the incoming call, otherwise block the call. These methods are very simple to implement and exhibit a modest computational complexity, hence appear suited for any real system, where very strict time requirements exist. How these code assignment strategies affect the code blocking probability and thus their practical utility is analyzed in section IV .
( )
( )
A.2 Hybrid Multicode and First Fit as a Viable Alternative An alternative and flexible approach to ameliorate the performance of either the random or the deterministic strategies consists in combing OVSF with a multicode strategy. As we do not deem viable to satisfy a class Li request through the assignment of numerous low rate codes, in the limit, i codes in
1
layer , we confine our attention to the following alternative: given a class Li call does not find a free code within level i, we let the system try to assign the call codes from the layer below, the i -th. This will guarantee a substantial reduction in code blocking (see again Section IV ).
2
1
B. Dynamic approaches B.1 Tree Partitioning Method In this section we describe the call reassignment algorithm we propose in order to force the code blocking probability to zero: whenever (1) is satisfied, our technique guarantees the acceptance of an incoming call, dynamically rearranging existing calls within the code tree. For each class Li let us fix a target position mi on level i, which we express as mi i d m i+1 e, where i is a suitably chosen parameter such that i 2 ; and
= 2
l
[0 1]
mi m : i+1 2 m
(2)
We require that a new call belonging to class Li is assigned a code as close as possible to its target code C i; mi , and further impose that all calls of level i are assigned within an interval C i; a i ; C i; b i such that b i a i Li , that is, the interval is full, 8i. When a call on level i departs, freeing a code, last requirement forces a reassignment, unless the call was assigned either code C i; a i or C i; b i . Whenever the interval of assigned codes on level i grows to the left (right) and “hits” a tied code due to a previous assignment of (i ), this triga descendant (ancestor) code on level i gers some reassignments on layer i (i ), whose interval of assigned codes is shifted leftward (rightward). In turn, this might provoke further reassignments on the remaining levels, eventually all the way down to level to the left and level m to the right. The depth and number of reassignments to perform will depend on the actual traffic profile, as well as on the traffic load examined. As a simple example, think of the presence of only two classes of users, L1 and L2 , on a code tree with S Fmax ; setting 1 : and 2 : will determine the target codes C ; and C ; on layer and , respectively. If the arrival pattern is an L1 call followed by three L2 calls, then C ; , C ; are first assigned; next C ; is assigned; the third L2 call arrival triggers the reassignment of the L1 call to code C ; , so that the third L2 call can be successfully assigned code C ; . By properly spacing the i ’s, and further imposing that the code interval C i; a i ; C i; b i is kept full, we are able to optimize performance, i.e., to reduce the number of reassignments needed to eliminate code blocking. We name the rule we have devised Tree Partitioning and observe that it can evidently exploit some knowledge on the expected traffic composition (percentage of R; R; : : : ; : : : rate users) in order to suitably fix the 1 , 2 , : : :, m values. Yet, it is important to anticipate that even with a coarse tuning of the i ’s, the numerical evaluations we performed showed the superior performance of
( ) ( ) = ( )+ 1
[ ( ( )) ( ( ))]
( ( ))
( ( ))
1 +1 1 +1
1
= 03 = 07 (1 3) (2 3) 1 2 (1 3) (2 3) (2 4) (1 2) (2 2) [ ( ( )) ( ( ))]
3057
=8
( 2
)
our strategy with respect to the dynamic algorithm proposed in [5]. B.2 Class Aggregation When the number of user classes increases, the pure Tree Partitioning method becomes impractical, due to the difficulty in choosing many i ’s values. We therefore choose to aggregate classes into a small number of subsets. More precisely, we define k < m subsets Sh fLf (h) ; Lf (h)+1 ; : : : ; Ll(h) g, h ; : : : ; k, with f , fh l h and l k m (Example: S1 fL1 g, S2 fL2 ; L3 g, S3 fLi i > g.) We next associate a ; ; : : :; k , and losingle parameter h to each subset, h cate the target code for each class Li 2 Sh in C i; mi , with mi d h m i+1 e. Within a subset Sh we impose that not only is the assignment interval full at each layer, but also that codes of different layers of the same subset are assigned under the following rule
=1 ( +1) = ( )+1 ( ) = +1 = = : 3 =
+1
=12
2
= (1) =1 =
(
)
a(i + 1) = db (i)=2e + 1 ; (3) that is, calls of class Li+1 are assigned starting from the very first free code on level i + 1 to the right of level i. IV. C OMPUTATIONAL A NALYSIS The performance of the allocation/reallocation policies put forth in the previous section has been assessed by simulation, under the assumption that the call interarrival and the call service times are exponentially distributed, with means 1 and 1 , respectively. The latter is taken equal units of time (e.g., minutes), whereas the former is to varied, so that the traffic load ranges from to Erlang. The presence of applications requiring code rates in the range R; R; R; R; R; R; R; R has been foreseen, with seven different traffic profiles, described by the following mass probability functions: profile 1 ( 0.10, 0.40, 0.40, 0.10, -, -, -, -) profile 2 ( 0.40, 0.10, 0.10, 0.40, -, -, -, -) profile 3 ( 0.25, 0.25, 0.25, 0.25, -, -, -, -) profile 4 ( 0.40, 0.40, 0.10, 0.10, -, -, -, -) profile 5 ( 0.50, 0.20, 0.10, 0.10, 0.10, -, -, -) profile 6 ( 0.50, 0.10, 0.10, 0.10, 0.10, 0.05, 0.05, -) Profiles 1-4 are the same used in [5], whereas profile and are new. For each new generated call we checked through equation (1) if the call could be accepted, and stopped each simulation run only when 6 calls had been accepted. In Figure 2 we report the code blocking probability as a function of the traffic load, when the First Fit (FF) strategy is implemented and the maximum spreading factor is S Fmax . We recall that the code blocking probability is defined as the probability that a call has to be rejected due to the awkward allocation of the codes within the tree, although inequality (1) holds. For traffic loads up to Erlang the maximum code 2 blocking probability is lower than . We had to increase
4
0
12
( 2 4 8 16 32 64 128 )
5
6
10
= 64
4
10
12
the traffic load up to Erlang to measure a code blocking 2 probability of . The results obtained with Method FF , although not reported, immediately evidenced the high number of blocked calls associated with this short-sighted assignment strategy. As it is fundamental to assess how code blocking affects each different class of subscribers, we report in Fig. 3 the code blocking probability experienced by users of class L1 through class L5 , when the FF rule is adopted, profile is considered and SFmax . As expected, the subscribers more affected by code blocking are the ones asking for the largest number of codes. When the hybrid assignment technique described in subsection III-A.2 was implemented in conjunction with the FF policy, we obtained the results reported in Fig.4. This simple hybrid solution greatly improves performance, and the maximum code blocking probability val2 ues pleasingly drop down of an order of magnitude ( ver1 sus ). In order to complete the analysis, in Fig. 5 we also showed the number of rejected calls, i.e., the overall number of calls that could not enter the system because they did not satisfy inequality (1), for traffic profiles through , when S Fmax . If the target rejection probability, defined as the accepted calls , ratio rejected calls= rejected calls 2 is , we conclude that profile cannot be supported, even for traffic loads as low as Erlang. Note that the number of rejected calls is independent of the method adopted for the assignment of codes. We also verified that when increasing S Fmax to or all profiles, except profile , exhibited a rejection probability practically equal to zero for traffic load values in the ; Erlang range. The aggregate result of Fig.5 is better detailed in Fig.6 for traffic profile . In analogy with Fig. 3, this figure evidences that in a practical implementation it is the performance of class L5 subscribers which drives a proper load dimensioning. We implemented our Tree Partitioning method with the four aggregate subsets S1 fL1 g, S2 fL2 g, S3 fL3 g and S4 fLi i > g , on both a code tree with S Fmax (m ), and S Fmax (m ). The parameters definm , 2 ing the target positions were set to 1 =, 3 = and 4 (i.e., the calls is S1 are allocated from the first position C ; , that of S2 are centered on the first quarter of the available positions on layer , that of S3 are centered on the third quarter and that of S4 are allocated from the last position). We chose this setting applying a rule of thumb, and used it for all experiments, independently of the traffic profile. It is important to stress that the results are satisfactory even if we do not make a tuning of the partition accordingly to the traffic profile. Better results could be obtained when information on the incoming traffic is available. Fig. 7 reports the number of reassigned calls over 6 . From this figure we conclude that the percentage of reassigned calls is lower than for loads up to Erlang. It is worth noting that the “greedy optimal” method introduced in [5], for S Fmax and a load of Erlang – the highest traffic load ever considered in that paper – reassigns up to of the number of accepted calls (see
3058
5 10
1
= 64
5
10
10
10
#
= 64
(#
1
6
1 +#
128 256 [0 12]
5
= = = 256 = 8 =2 =1 (1 1) 2
10
7
4
= 64 =14
20%
= 64
25%
)
6
= 3
= : =6 =34
6
12( )
b in [5]). This proves that our partitioning method Fig. is globally better than a greedy method. With SFmax the percentage of reassignments remains lower than for a load of Erlang and all profiles, but profile . In conclusion, our scheme is simple, robust with respect to its parameters tuning, and could lead to even better performance if the target positions were more carefully chosen for each traffic profile.
12
6
= 256 20%
C(1,8) C(2,4)={1,1,1,1} C(3,2)={1,1} C(2,3)={1,1,-1,-1}
C(4,1) = {1}
C(2,2)={1,-1,1,-1}
V. C ONCLUDING R EMARKS This paper has put forth some novel static and dynamic techniques to accommodate users with different transmission rate requirements in a WCDMA system employing OVSF codes. It has been shown that one of the static strategies proposed – based on a hybrid MC-OVSF approach – can guarantee a remarkably low code blocking probability at a modest computational cost, and that the dynamic – simple – code assignment scheme newly devised can force such probability to zero with a tolerable number of call rearrangements. Further, it has been demonstrated that the latter approach achieves a superior performance with respect to an alternative code assignment scheme recently presented in literature.
C(3,1)={1,-1} C(1,2) C(2,1)={1,-1,-1,1} C(1,1)
Layer 4
Layer 3
Layer 1
Fig. 1. Code tree for the generation of OVSF codes.
0.1
10 40 40 10 40 10 10 40 25 25 25 25 40 40 10 10 50 20 10 10 10 50 10 10 10 10 5 5
R EFERENCES [1] [2]
blocking probability
3GPP [Online]. Available: http://www.3gpp.org M. Haardt, A. Klein, R. Koehn, S. Oestreich, M. Purat, V. Sommer, and T. Ulrich, “The TD-CDMA Based UTRA TDD Mode,” IEEE Journal on Select. Areas in Commun., vol. 18, pp.1375-1385, August 2000. [3] M. Casoni, G. Immovilli, M. L. Merani, “Admission Control in T/CDMA Systems Supporting Voice and Data Applications,” to appear on the IEEE Journal on Select. Areas in Comm.. [4] Ray-Chuang C., Phone L. “OVSF Code Channel Assignment for IMT2000”, Conf. Rec. of IEEE VTC 2000-Spring, vol.3, pp.2188-2192, 1518 May 2000, Tokyo. [5] T. Minn, K.-Y. Siu “Dynamic Assignment of Orthogonal VariableSpreading-Factor Codes in W-CDMA”, IEEE Journal on Select. Areas in Commun., vol. 18, pp.1429-1440, August 2000. [6] 3GPP TS25.213 V3.3.0 3rd Generation Partnership Project; Technical Specification Group Radio Access Networks; Spreading and Modulation (FDD). [7] E. H. Dinan, B. Jabbari “Spreading Codes for Direct Sequence CDMA and Wideband CDMA Cellular Networks”, IEEE Communications Magazine, pp.48-54, September 1998. [8] J. G. Proakis Digital Communications, third edition. New York: McGraw-Hill, 1995. [9] T. M. Cover, J. A. Thomas, Elements of Information Theory. New York: Wiley, 1991. [10] S. Martello, P. Toth, Knapsack Problems: Algorithms and Computer Implementations. Chichester: Wiley, 1990.
Layer 2
0.01
0.001 0
2
4
6
8
10
12
load
Fig. 2. First Fit (FF) strategy, S Fmax = 64.
1 R 2R 4R 8R 16R
blocking probability
0.1
0.01
0.001
0
2
4
6
8
10
load
Fig. 3.
3059
F F strategy. S Fmax = 64, profile 5.
12
200000
10 40 40 10 40 10 10 40 25 25 25 25 40 40 10 10 50 20 10 10 10 50 10 10 10 10 5 5
160000
50 20 10 10 10 50 10 10 10 10 5 5
140000
number of rejected calls
blocking probability
0.01
10 40 40 10 40 10 10 40 25 25 25 25 40 40 10 10
180000
0.001
120000
100000
80000
60000
40000 20000
0.0001
0
0
2
4
0
6
8
10
2
4
8
6
12
10
12
load
load
Fig. 5. Not accepted calls , S Fmax = 64.
Fig. 4. Hybrid Multicode-First Fit (MC-FF) strategy. S Fmax = 64.
30000 200000
R 2R 4R 8R 16R
25000
180000
140000
20000
120000
number of reassigned calls
number of rejected calls
10 40 40 10 40 10 10 40 25 25 25 25 40 40 10 10 50 20 10 10 10 50 10 10 10 10 5 5
160000
15000
100000
10000
80000 60000 40000
5000 20000
0
0 0
2
4
6
8
10
0
12
1
2
3
4
load
5
6
load
Fig. 6. Not accepted calls, S Fmax = 64, profile 5.
Fig. 7. Reassigned calls over 106 , S Fmax = 64.
3060
7