Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
The issue of channelization codes, specifically ovsf codes, in wcdma systems and the blocking problem that can lead to a significant spectral efficiency loss. The paper proposes nonblocking ovsf (novsf) codes as a solution to increase the utilization of channelization codes without the overhead of code reassignments. Novsf codes are preferable due to their single rake combiner requirement at the receiver, which reduces the need for multiple combiners in comparison to orthogonal constant spreading factor codes. The document also explores different techniques for generating novsf codes and their benefits in terms of spectral efficiency and code utilization.
Typology: Papers
1 / 18
Abstract
Orthogonal variable spreading factor (OVSF) codes are employed as channelization codes in WCDMA. Any two OVSF codes are orthogonal if and only if one of them is not a parent code of the other. Therefore, when an OVSF code is assigned, it blocks all of its ancestor and descendant codes from assignment because they are not orthogonal to each other. Un- fortunately, this code blocking problem of OVSF codes can cause a substantial spectral effi- ciency loss of up to 25%. This paper presents nonblocking OVSF (NOVSF) codes to increase substantially the utilization of channelization codes without having the overhead of code reas- signments. In addition, an encoding algorithm is presented to increase network capacity and support higher data rates when NOVSF codes are employed. Index Terms – nonblocking, OVSF, WCDMA, capacity, time multiplexing, encoding.
The third generation (3G) wireless standards UMTS/IMT-2000 use the wideband CDMA (WCDMA) to support high data rate and variable bit rate services with different quality of service (QoS) re- quirements. In WCDMA, all users share the same carrier under the direct sequence CDMA (DS- CDMA) principle [1]. In the 3GPP specifications [2], orthogonal variable spreading factor (OVSF) codes [3] are used as channelization codes for data spreading on both downlink and uplink. OVSF codes also determine the data rates allocated to calls. Because OVSF codes require a single RAKE combiner at the receiver, they are preferable to multiples of orthogonal constant spreading factor codes which need multiple RAKE combiners at the receiver.
When a particular code is used in OVSF, its descendant and ancestor codes cannot be used simultaneously because their encoded sequences become indistinguishable. Therefore, the OVSF code tree has a limited number of available codes. Because one OVSF code tree, along with one scrambling code, is used for transmissions from a single source that may be a base station or mobile station, the same OVSF code tree is used for the downlink transmissions and therefore the base station must carefully assign the OVSF codes to the downlink transmissions. The asynchronous uplink transmissions do not suffer from this limitation since each mobile station as a single source uses a unique scrambling code with the spreading codes of its OVSF code tree, where scrambling code makes signals from different mobile stations separable from each other. But, if the uplink is synchronous, the OVSF code limitations of the downlink are also valid for the uplink. The use of OVSF codes in downlink and synchronous uplink guarantees that there is no intra-cell interference in a flat fading channel. Since the maximum number of OVSF codes is hard-limited, the efficient assignment of OVSF codes has a significant impact on resource utilization.
Any two OVSF codes are orthogonal if and only if one of them is not a parent code of the other. Therefore, when an OVSF code is assigned, it blocks all of its ancestor and descendant codes from assignment because they are not orthogonal. This results in a major drawback of OVSF codes, called blocking property [4]: a new call cannot be supported because there is no available free code with the requested spreading factor (SF), even if the network has excess capacity to support it. To alleviate the effects of the blocking property of OVSF codes, various schemes such as code reassignment schemes [4, 5, 6, 7], time sharing of channels, statistical multiplexing of bursty data traffic [8] are proposed in the literature.
This paper presents three types of nonblocking OVSF (NOVSF) codes, the preliminary version of which appeared in [9]. NOVSF codes are nonblocking in the sense that no code assignment blocks the assignment of any other code. All NOVSF codes are orthogonal to each other and, therefore, can be assigned simultaneously as far as orthogonality is concerned. Three different techniques are discussed to obtain the proposed three types of NOVSF codes. The first technique proposes eight OVSF codes with SF 8 that are shared in time. The second technique is involved with the rearrangement of OVSF code trees as follows. Initially, there are X orthogonal codes with the spreading factor of X , where X is either four or eight. Each of these X orthogonal codes first generates Y orthogonal codes with the SF Y and then the generated Y codes are placed on a distinct layer of NOVSF code tree. If the SF ranges from 4 to 32, this type of code tree may be a very desirable for broadband fixed wireless networks, where highest spreading factor is not expected to exceed 32. The third technique introduces a very structured way of generating NOVSF codes starting with spreading factor of 4, if there is no upper bound for SF.
3G systems including WCDMA are designed to be service-independent in order to accom- modate a flexible introduction of new services. The capacity and QoS requirements increase as more support is needed to support end-user services such as multimedia and high-speed packet data services. However, the total aggregate data rate in downlink of 3G systems is still few Mbps. Therefore, this paper proposes an encoding technique that first determines the patterns in the input data. If some patterns are repeated much more frequently than the others, then each of the most
frequently used patterns is mapped to more than one time slot in the first type of NOVSF codes, so that a chip sequence can represent more than one bit. When this mapping is done properly, the network capacity can be increased.
The remainder of this paper is organized as follows. In Section 2, the tree-structured generation and blocking properties of OVSF codes are described. Section 3 presents the proposed NOVSF codes. In Section 4, an encoding technique for binary patterns in input data is introduced to enhance network capacity when the first type of NOVSF codes is used. Concluding remarks are made in Section 5.
2 OVSF Code Generation and Blocking Property
In WCDMA, all users share the same carrier under the direct sequence code division multiple access (DS-CDMA) principle [1]. In the 3GPP specifications [2], orthogonal variable spreading factor (OVSF) codes [3] are used as channelization codes for data spreading on both downlink and uplink. Because OVSF codes require a single RAKE combiner at the receiver, they are preferable to multiples of orthogonal constant spreading factor codes which need multiple RAKE combiners at the receiver. WCDMA supports data rates up to 2.048 Mbps in 5 MHz bandwidth using vari- able spreading factors. Table 1 summarizes the spreading factors, symbol rates, and bit rates for WCDMA physical channels.
Spreading Factor Symbol rate (ksps) Bit rate (kbps) 4 960 1920 8 480 960 16 240 480 32 120 240 64 60 120 128 30 60 256 15 30 512 7.5 15
Table 1: The spreading factors, symbol rates, and bit rates for WCDMA physical channels. The spreading factor 512 is used on the downlink only. The chip rate for all spreading factors is 3. Mcps.
OVSF codes can be generated recursively in a binary tree structure using Walsh matrices or applying the following rule recursively: code Cn , i of length n generates the following two orthog- onal codes of length 2 n : C 2 n , i = [ Cn , i , Cn , i ] and C 2 n , i + 1 = [ Cn , i , − Cn , i ], where − Cn , i denotes the inverted sequence (or binary complement) of Cn , i , n equals SF that is a power of 2, and i is an index
[3]. An OVSF code tree is a binary tree with ten layers, labeled from 0 to 9 starting with the root node, such that SF of codes at layer k is equal to 2 k. As stated earlier, any two OVSF codes are orthogonal if and only if one of them is not a parent code of the other. Therefore, when an OVSF code is assigned to a channel, it blocks all of its ancestor and descendant codes from assignment because they are not orthogonal to each other. For instance, the assignment of code C 4 , 1 shown in Fig. 1 blocks the assignment of its ancestor codes (i.e., C 2 , 1 and C 1 , 1 ) and descendant codes (i.e., C 8 , 1 and C 8 , 2 ). Since Fig. 1 shows only the first four layers of the OVSF code tree, not all the descendant codes blocked by the assignment of C 4 , 1 are shown in the figure. This results in a major drawback of OVSF codes, called code blocking property: a new call is blocked because there is no free OVSF code corresponding to the requested data rate, even though the system still has sufficient capacity to support the new call. Because of code blocking problem, the loss in spectral efficiency of WCDMA can be as high as 25% of total system throughput [8]. Therefore, it is highly desirable to to eliminate or at least alleviate code blocking problem.
C (^) 1,1= (1)
C (^) 2,1= (1, 1)
C (^) 4,3= (1,−1,1,−1)
C (^) 8,2= (1,1,1,1,−1,−1,−1,−1)
C (^) 8,4= (1,1,−1,−1,−1,−1,1,1)
C (^) 8,6= (1,−1,1,−1,−1,1,−1,1)
C (^) 8,3= (1,1,−1,−1,1,1,−1,−1)
C (^) 8,5= (1,−1,1,−1,1,−1,1,−1)
C (^) 8,7= (1,−1,−1,1,1,−1,−1,1) C (^) 8,8= (1,−1,−1,1,−1,1,1,−1)
C (^) 4,1= (1,1,1,1) C (^) 8,1= (1, 1, 1, 1, 1, 1, 1, 1)
C (^) 2,2= (1, −1)
C (^) 4,2= (1,1,−1,−1)
C (^) 4,4= (1,−1,−1,1) SF = 1 SF = 2 SF = 4 SF = 8 layer 0 layer 1 layer 2 layer 3
assigned code
Figure 1: Code blocking and and reassignment in OVSF code tree. The circle and cross signs on the links indicate the assigned and blocked codes, respectively. For instance, the assignment of code C 4 , 1 blocks the assignments of C 2 , 1 , C 1 , 1 , C 8 , 1 , and C 8 , 2 because they are either ancestors or descendants of C 4 , 1. Code C 4 , 4 can be prevented from being blocked by freeing C 8 , 8 and reassigning code C 8 , 6 to the channel of C 8 , 8.
To alleviate code blocking problem and improve the utilization of OVSF codes, some code reassignment algorithms [4] are proposed in the literature. These heuristic algorithms often lead to chain of code reassignments that result in a lot of overhead because many receivers need to be informed of new code reassignments. As an example for code reassignments, assume that a new call requests an OVSF code with SF 4 at layer 2 in Fig. 1, where two codes of layer 2 are assigned, and the other 2 codes, namely, C 4 , 3 and C 4 , 4 , are blocked. So, although the wireless system has excess capacity to support a new call requesting an OVSF code of SF 4, there is no available code
of SF 4 unless some of the existing channels are assigned new codes and their current codes are freed. For instance, one approach to remove the blocking of C 4 , 4 is to free C 8 , 8 by assigning C 8 , 6 to its channel. Indeed, in addition to C 8 , 8 , there may be many other descendant codes of C 4 , 4 at layers 4 through 9 that need to be freed in order to prevent C 4 , 4 from being blocked. Hence, a chain of code reassignments are usually required to be able to remove the blocking of a code.
3 Nonblocking OVSF Codes
The proposed three types of NOVSF codes are presented in this section.
The main objective of these codes is to improve the utilization of OVSF codes without the overhead of code reassignments. To achieve this, only a single layer of OVSF codes with SF is taken into consideration and time multiplexing is applied to share them among channels. This implies that both time and code multiplexing are used in NOVSF codes. Note that all OVSF codes of the same layer are orthogonal to each other and, therefore, do not block each other. Each code may be shared in time among more than one channel. The number of time slots in an OVSF code with SF 8 can be variable or fixed. If it is variable, then we need to introduce a variable, say cycle length, to indicate the number of time slots, which requires that receiver be informed about the cycle length during transmission.
We assume that the number of time slots is fixed and equal to 64. In this case, assigning one time slot of an OVSF code with SF 8 would be equivalent to assigning an OVSF code with SF 512 to a channel without any time multiplexing. Similarly, when all 64 time slots of an OVSF code are assigned to the same channel, the supported data rate becomes the same as the one that would be obtained in case of assigning an OVSF code with SF 8 without any time multiplexing. Thus, if all 64 time slots of a code are not assigned to the same channel, the data over the channel are transmitted intermittently.
Figure 2 illustrates 8 OVSF codes with SF 8, namely, A , B , C , D , E , F , G , and H. Each code has 64 time slots, each corresponding to a sequence of 8 chips. Hence, there are 64 chip sequences in all 64 time slots, resulting in a total of 512 = 64 × 8 chips. The date rate supported by each time slot is equivalent to the data rate that an OVSF code with SF 512 can support. Each time slot of the WCDMA standard frame can carry 2560 chips, which implies that there are 5 transmissions of 64 time slots in a frame. If the date rate supported by a time slot is denoted by R , then data rate supported by K time slots equals R × K. The time slots that are assigned to a channel do not have to be consecutive. Fig. 3 illustrates how the first 8 time slots of two NOVSF codes, namely, A and B , may be shared in time among five different channels at some point of time. The data rates corresponding to the OVSF codes with SF 512, 256, 128, 64, 32, 16, and 8 are obtained by
assigning 1, 2, 4, 8, 16, 32, or 64 time slots, respectively, that are a power of 2. Indeed, since any number of time slots may be assigned to a channel, many intermediate data rates can be supported in channels when NOVSF codes are employed. Moreover, the way that NOVSF codes are shared in time is somewhat similar to how an OVSF code is shared in time among more than one interactive and/or background traffic users in Downlink Shared Channel (DSCH).
A SF = 8
number
layer SF = 1 SF = 2 SF = 4 B C D E F G H
Slot 1 Slot 2 Slot 3 Slot 4 Slot 64
[X]=(1)
[X X]=(1, 1) [X −X]=(1, −1)
B =( 1, 1, 1, 1,−1,−1,−1,−1)
Orthogonal Codes: A, B, C, D, E, F, G, H
C =( 1, 1,−1,−1, 1, 1,−1,−1) D =( 1, 1,−1,−1,−1,−1, 1, 1)
A =( 1, 1, 1, 1, 1, 1, 1, 1) E =( 1,−1, 1,−1, 1, −1, 1, −1) F =( 1,−1, 1,−1,−1, 1,−1, 1) G =( 1,−1,−1, 1, 1,−1,−1, 1) H =( 1,−1,−1, 1,−1, 1, 1,−1)
3
2
0 1
Figure 2: The NOVSF code-tree containing eight orthogonal OVSF codes with SF=8 each. Each of these eight codes has 64 time slots.
3.1.1 Performance of Code Assignment Algorithms for OVSF and NOVSF Codes
Dynamic code assignment schemes have the ability to enhance statistical multiplexing and spec- tral efficiency of WCDMA systems. Code assignment schemes determine how to allocate codes to different channels. Because OVSF codes are very valuable resources in WCDMA, they should be managed properly to support as many users with different QoS requirements as possible. A number of code assignment algorithms for OVSF codes are introduced in the literature [4, 8, 10, 11, 12]. The code assignment algorithm in [10] assigns codes to low data rate users in a manner that max- imizes the available number of low SF codes corresponding to high data rate codes. They assume that a user can be assigned multiple OVSF codes, requiring multiple RAKE receivers. In [4], code blocking problem is mitigated by reassigning existing users to new codes in a manner to maximize the available number of low SF codes, without addressing to support different types of traffic. This algorithm may lead to a chain of code reassignments, resulting in a lot of overhead for informing receivers about the change of code assignments. The code assignment algorithm in [11] supports both real-time and non-real-time traffic, without addressing the problem of effi- ciently sharing OVSF codes between a number of bursty traffic users. Another code assignment algorithm [12] shares bandwidth between bursty traffic sources with different QoS requirements by dynamically changing the spreading code and bandwidth at the cost of increased complexity.
Two NOVSF Codes : A =(1,1,1,1,1,1,1,1) B =(1,1,1,1,−1,−1,−1,−1)
A A
channel 2 A^ A
channel 1
channel 4
channel 5
A A
A A
channel 3 B^ B B B B
B B B
Figure 3: Two NOVSF codes are shared in time among at least five different channels. Due to limited space, only few time slots of each code’s 64 time slots are shown. The first time slots of codes A and B are shared by two and three, respectively, channels.
Code reassignments have substantial overhead, and there may not be sufficient network re- sources to accomplish code reassignments. First of all, code reassignments require all those re- ceivers whose channels are involved with code reassignments have to be informed about the as- signments of new OVSF codes. In [13], signaling radio bearers (SRBs) are proposed to minimize the signaling overhead that occur while receivers are informed about new code assignments. Ac- cording to [14], the radio resource control (RRC) messages are sent on four particular radio bearers called signaling radio bearers (SRBs) whose total data rate equals 3.4 kbps and the transmission time interval (TTI) is 40 ms. But, SRBs are also used in handover, negotiation and renegotiation of QoS parameters. This implies that SRBs may not be available at the time of code reassignments. In addition, more than one call may need chains of code reassignments at the same time. Hence, code reassignments may not be accomplished even if the network has excess capacity to support a new call. If SRBs are available at the time of code reassignments, code reassignments may take as much as 1,600 msec [13]. As the code reassignments are performed for one call, those new calls requiring code reassignments are queued or dropped.
Our proposed NOVSF codes enhance the utilization of codes by improving spectral efficiency up to 25% in WCDMA without doing any code or time-slot reassignments. In [15], we have recently compared the performance of OVSF code reassignment techniques with a preliminary code allocation technique for NOVSF codes. Figure 4 illustrates the throughput plots of both NOVSF and OVSF codes with various probabilities that signaling radio bearers are free or not when code reassignments are needed in OVSF codes. Fig. 5 illustrates the number of new call rejects in NOVSF and OVSF codes [15], where the number of new call rejects determines the call blocking probability.
Since CDMA based systems is interference limited, we have also carried out simulations to
(^00 5 10 15 20 )
1
2
3
4
5
6
7
8
9 x 10 4
Offered Load (in Erlangs)
Throughput (bytes/sec)
NOVSFOVSF (K = 0.90) OVSF (K = 0.75)OVSF (K = 0.50) OVSF (K = 0.25)K = SRB free prob.
Figure 4: Comparison of throughputs between NOVSF and OVSF codes with various probabilities that signaling radio bearers (SRBs) are free or not. K denotes the probability that SRBs are free when code reassignments are needed.
(^00 5 10 15 20 )
500
1000
1500
2000
2500
Offered Load (in Erlangs)
Number of call rejects
NOVSFOVSF (K = 0.90) OVSF (K = 0.75)OVSF (K = 0.50) OVSF (K = 0.25)K = SRB free prob.
Figure 5: Comparison of number of call rejects indicating blocking probabilities between NOVSF and OVSF codes.
check whether there is any increase on the total cell interference when NOVSF codes with time multiplexing are employed. The simulation results indicate that the aggregate cell interference in NOVSF codes with time multiplexing is not more than that in OVSF codes, assuming that the same amount of traffic is supported in both cases. Note that there are normally at most eight users at any point of time in case of NOVSF codes with time multiplexing.
This type of NOVSF codes can be described in three different cases. In all cases, OVSF codes are reorganized in code trees such that all the codes of code tree are orthogonal to each other. The reason why the codes in the first two cases are orthogonal is as follows. There are initially X 1 , X 2 ,... , Xi orthogonal codes with the same spreading factor (SF) that is equal to i , where either i = 4 or i = 8. Let code Xj , j ≤ i , generate n (^) j orthogonal codes with the same SF , where n (^) j is a power of 2. All of these n (^) j orthogonal codes with the same SF are placed on the same distinct layer of a code tree. Therefore, all the codes of the resulting code tree are still orthogonal to each other. Case 3 starts with four codes as in Case 1, but the descendants of a code can be assigned to more than one tree layer.
Case 1: NOVSF codes with four initial orthogonal codes. In this case, as shown in Figure 6, there are initially four orthogonal codes, namely, A , B , C , and D. Using these four orthogonal codes, a binary code tree is constructed as follows. Code A is made the root code with SF = 4 in the layer 1 of the tree. For the tree layer 2, the following two orthogonal codes with SF = 8 are generated from code B : ( B , B ) and ( B , − B ). Similarly, four codes are generated from code C and are placed on layer 3 of the tree. Finally, eight generated codes from D are placed on layer 4 of the tree. All the codes of the tree are orthogonal to each other and, they can be very desirable codes for broadband fixed wireless networks where maximum SF should not exceed 32. Indeed, what is required is to have a code tree of four layers in this case, but the SF of codes at any one of these four layers can be equal to any power of 2 ranging between 4 to 512, depending on the requested data rates of users. For instance, the SFs of the code tree could be 16, 4, 32, and 64 at some instant of time.
Case 2: NOVSF codes with eight initial orthogonal codes with SF from 8 to 512. In this case, as shown in Figure 7, there are initially eight orthogonal codes, namely, A , B , C , D , E , F , G , and H. Using the first seven orthogonal codes, a binary code tree is constructed as follows. Code A is made the root code with SF = 8 in the layer 1 of the tree. For the tree layer 2, the following two orthogonal codes with SF = 16 are generated from code B : ( B , B ) and ( B , − B ). Similarly, four codes are generated from code C and are placed on layer 3 of the tree. As illustrated in Figure 7, codes D , E , F , and G generate 8, 16, 32, and 64 codes, respectively, and are placed on layers 4, 5, 6, and 7, respectively. Code H can be used as a standby code in any tree layer whenever more codes are needed. Indeed, each one of the eight codes A , B , C , D , E , F , G , and H. can have any spreading factor depending on the requested data rates. For instance, if there are eight users
C (^) 4,1= (A)
C (^) 8,1= (B,B)
C (^) 8,2= (B,−B)
C (^) 16,1= (C,C,C,C)
C (^) 16,2= (C,C,−C,−C)
C (^) 16,4= (C,−C,−C,C)
C (^) 16,3= (C,−C,C,−C)
C (^) 32,2= (D,D,D,D,−D,−D,−D,−D)
C (^) 32,1= (D,D,D,D,D,D,D,D)
C (^) 32,3= (D,D,−D,−D,D,D,−D,−D) C (^) 32,4= (D,D,−D,−D,−D,−D,D,D) C (^) 32,5= (D,−D,D,−D,D,−D,D,−D) C (^) 32,6= (D,−D,D,−D,D,−D,D,−D) C (^) 32,7= (D,−D,−D,D,D,−D,−D,D) C (^) 32,8= (D,−D,−D,D,−D,D,D,−D) SF = 8
D =(1,−1,−1,1)
C =(1,−1,1,−1)
B =(1,1,−1,−1)
A =( 1, 1, 1, 1)
Orthogonal Codes: A, B, C, D
SF = 4 SF = 16 SF = 32
Figure 6: NOVSF codes with four initial orthogonal codes. In this figure, it is assumed that SF ranges from 4 to 32. But, SF can indeed range from 4 to 512. For instance, the SFs of the tree layers may be 4, 8, 32, and 128.
requesting codes with SF = 8, then each layer is assumed to be assigned a code with SF = 8. In general, any layer of the tree can have X /8 orthogonal codes with the spreading factor of X , where X is a power of 2 ranging from 8 to 512. This implies that, without considering the standby code H , there may be at most 64 codes in each layer. When H is also considered, one layer can have as many as 128 codes.
Case 3: NOVSF codes with four initial orthogonal codes with SF from 4 to 512. In this case, as shown in Figure 8, there are initially four orthogonal codes, namely, A , B , C , and D as in Case 1. It is the same as Case 1 except that the descendants of a code in this case can be assigned more than one layer with the condition that only orthogonal descendants can be assigned.
This type of NOVSF codes are generated systematically when there is no limit on the upper bound of SF. To describe the systematic generation of all orthogonal codes for SF ≥ 4, we first define BOVSF codes and then NOVSF codes.
BOVSF codes : 1) Let A =[1] be the root BOVSF code, as A =[1] is also the root OVSF code. 2) Use each BOVSF code X to generate two orthogonal codes: [ X , X , X , X ] and [ X , − X ], where − X is the inverted sequence of X. Using this procedure recursively, generate all BOVSF codes that can be represented as nodes of a balanced binary tree. BOVSF codes have the same property as
C (^) 8,1= (A)
C (^) 16,1= (B,B)
C (^) 16,2= (B,−B)
C (^) 32,3= (C,−C,C,−C) C (^) 32,4= (C,−C,−C,C)
C (^) 64,2= (D,D,D,D,−D,−D,−D,−D)
C (^) 128,2= (E,E,...,−E,−E)
C (^) 256,2= (F,F,...,−F,−F)
C (^) 32,2= (C,C,−C,−C)
C (^) 32,1= (C,C,C,C)
C (^) 512,2= (G,G,...,−G,−G)
SF = 8 SF = 16 SF = 32 SF = 64 SF = 128 SF = 256 SF = 512
layer 0 layer 1 layer 3 layer 4 layer 5 layer 6
2 codes 4 codes 8 codes 16 codes 32 codes 64 codes
H =( 1,−1,−1, 1,−1,1, 1,−1)
E =( 1,−1, 1,−1,1,−1,1,−1)
D =( 1, 1,−1,−1,−1,−1,1,1)
C =( 1, 1,−1,−1,1,1,−1,−1)
B =( 1, 1, 1, 1,−1,−1,−1,−1)
A =( 1, 1, 1, 1, 1, 1, 1, 1)
Orthogonal Codes: A, B, C, D, E, F, G, H
1 code
F =( 1,−1, 1,−1,−1,1,−1,1) G =( 1,−1,−1, 1,1,−1,−1, 1)
layer 2
Figure 7: The binary code tree for NOVSF codes with 8 ≤ SF ≤ 512. Only one NOVSF code is illustrated in layers 4 to 7 due to space limitations.
C (^) 8,1= (B,B)
C (^) 8,2= (B,−B)
C (^) 4,1= (A)
C (^) 16,2= (C,C,−C,−C)
C (^) 16,1= (C,C,C,C)
C (^) 32,8= (C,−C,−C,C,−C,C,C,−C)
C (^) 32,7= (C,−C,−C,C,C,−C,−C,C)
C (^) 32,6= (C,−C,C,−C,−C,C,−C,C)
C (^) 32,5= (C,−C,C,−C,C,−C,C,−C)
C (^) 64,2= (D,D, ..., −D)
C (^) 64,1= (D,D, ..., D)
C (^) 64,14= (D,D, ..., D)
C (^) 128,32= (D,D, ..., D)
C (^) 128,29= (D,D, ..., D)
Orthogonal Codes: A, B, C, D A =( 1, 1, 1, 1) B =(1,1,−1,−1) C =(1,−1,1,−1) D =(1,−1,−1,1)
SF = 4 SF = 8 SF = 16 SF = 32 SF = 64 SF = 128
Figure 8: The binary code tree for NOVSF codes with 4 ≤ SF ≤ 512.
OVSF codes, that is, i ) all BOVSF codes of the same layer of the BOVSF code-tree are orthogonal to each other, and ii ) any two codes of different layers are orthogonal except for the case that one of the two codes is a parent code of the other.
NOVSF codes : For each BOVSF code Y of length k , generate the following so-called NOVSF code of length 4 k : [ Y , Y , − Y , − Y ], where − Y is the inverted sequence of Y. By repeating this procedure for each and every BOVSF code, generate all NOVSF codes that can be represented as nodes of a balanced binary tree. NOVSF and BOVSF codes are represented by Csn , i and Bsn , i , respectively, where s , n , and i stand for spreading factor, number of codes in a layer of code tree, and index of code, respectively.
The recursive generation of BOVSF and NOVSF codes are shown by code trees in Figures 9, 10, and 11. The tree-structured generation of BOVSF codes is very similar to that of OVSF
B (^4) 4,4= (C,−C)=(G)
B (^8) 4,2= (B,−B)=(E)
B^16 4,1 = (B,B,B,B)=(D)
B^8 4,3 = (C,C,C,C)=(F)
B^64 8,1 = (D,D,D,D)=(H)
B^32 8,2 = (D,−D)=(I) B^32 8,3 = (E,E,E,E)=(J)
B^16 8,4 = (E,−E)=(K) B^32 8,5 = (F,F,F,F)=(L)
B^16 8,6 = (F,−F)=(M)
B^4 2,1 = (A,A,A,A) = (B)
B (^2) 2,2= (A,−A) = (C)^ B^16 8,7^ = (G,G,G,G)=(N)
B^8 8,8 = (G,−G)=(O)
B^1 1,1 = (1) = (A)
SF = 16,32,
Root
SF = 2,4 SF = 4,8,
Figure 9: BOVSF code tree.
codes. To consolidate their similarity, the following lemma shows that BOVSF codes have the same orthogonality properties as OVSF codes. Then, the next theorem proves that all NOVSF codes are orthogonal to each other.
BOVSF codes have the same orthogonality property as OVSF codes, that is, i ) all BOVSF codes of the same level of BOVSF code-tree are orthogonal to each other, and ii ) any two codes of different layers are orthogonal except for the case that one of the two codes is a parent code of the other.
Proof. It follows from the definition of BOVSF codes that a BOVSF code Bsn , i generates two codes B^42 sn , 2 i − 1 and B^22 sn , 2 i. B^42 sn , 2 i − 1 = [ Bsn , i , Bsn , i , Bsn , i , Bsn , i ]
C^4 1,1 = (A,A,−A,−A)
C (^16) 2,1= (B,B,−B,−B)
C (^8) 2,2= (C,C,−C,−C)
C (^64) 4,1= (D,D,−D,−D)
C^32 4,2 = (E,E,−E,−E)
C^32 4,3 = (F,F.−F,−F)
C (^16) 4,4= (G,G,−G,−G)
C (^256) 8,1= (H,H,−H,−H)
C^128 8,2 = (I,I,−I,−I) C^128 8,3 = (J,J,−J,−J)
C^64 8,4 = (K,K,−K,−K) C^128 8,5 = (L,L,−L,−L)
C^64 8,6 = (M,M,−M,−M) C^64 8,7 = (N,N,−N,−N)
C^32 8,8 = (O,O,−O,−O) SF = 4 SF = 8,16 SF = 16,32,64 SF = 32,64,128,
Figure 10: Code tree of NOVSF codes.
B (^4) 4,4= (C,−C)=(G)
1 B (^8) 4,2= (B,−B)=(E) B1,1 = (1) = (A)
B^16 4,1 = (B,B,B,B)=(D)
B^8 4,3 = (C,C,C,C)=(F)
B^64 8,1 = (D,D,D,D)=(H)
B^32 8,2 = (D,−D)=(I) B^32 8,3 = (E,E,E,E)=(J)
B^16 8,4 = (E,−E)=(K) B^32 8,5 = (F,F,F,F)=(L)
B^16 8,6 = (F,−F)=(M)
B^4 2,1 = (A,A,A,A) = (B)
B^2 2,2 = (A,−A) = (C)^ B^16 8,7^ = (G,G,G,G)=(N)
B^8 8,8 = (G,−G)=(O)
C (^128) 8,5= (L,L,−L,−L)
C^64 4,1 = (D,D,−D,−D)
C (^32) 4,2= (E,E,−E,−E)
C^32 4,3 = (F,F.−F,−F)
C^16 4,4 = (G,G,−G,−G)
C (^128) 8,2= (I,I,−I,−I) C (^128) 8,3= (J,J,−J,−J)
C (^64) 8,4= (K,K,−K,−K)
C (^64) 8,6= (M,M,−M,−M) C (^64) 8,7= (N,N,−N,−N)
C (^32) 8,8= (O,O,−O,−O)
C^16 2,1 = (B,B,−B,−B)
C^8 2,2 = (C,C,−C,−C)
C (^4) 1,1= (A,A,−A,−A)
C (^256) 8,1= (H,H,−H,−H)
SF = 4 SF = 8,16 SF = 16,32,64 SF = 32,64,128,
Figure 11: Code tree of both NOVSF and BOVSF codes.
and B^22 sn , 2 i = [ Bsn , i , − Bsn , i ].
Note that each half of B^42 sn , 2 i − 1 is orthogonal to B^22 sn , 2 i because their inner product is is equal to
| Bsn , i | − | Bsn , i | = 0.
Therefore, B^42 sn , 2 i − 1 and B^22 sn , 2 i are orthogonal to each other, but BOVSF code Bsn , i is not orthogonal to them. Furthermore, all BOVSF codes are generated recursively in a complete binary tree struc- ture, starting with the root code A = [ 1 ] in the same way OVSF codes are generated. Therefore, BOVSF codes have the same orthogonality property as as OVSF codes. 2
Theorem 3.1 Any NOVSF code is orthogonal to all other NOVSF codes.
Proof. We now show that any NOVSF code, say Cn^4 s , i , is orthogonal to its all descendant NOVSF codes. Note that the two children of C^4 n , si are
C 216 n , s 2 i − 1 = [ B^42 sn , 2 i − 1 , B^42 sn , 2 i − 1 , − B^42 sn , 2 i − 1 , − B^42 sn , 2 i − 1 ]
and C 28 sn , 2 i = [ B^22 sn , 2 i , B^22 sn , 2 i , − B^22 sn , 2 i , − B^22 sn , 2 i ].
To show that Cn^4 s , i is orthogonal to both C^162 ns , 2 i − 1 and C 28 sn , 2 i , it suffices to show that
Cn^4 s , i = [ Bsn , i , Bsn , i , − Bsn , i , − Bsn , i ]
is orthogonal to both B^42 sn , 2 i − 1 = [ Bsn , i , Bsn , i , Bsn , i , Bsn , i ]
and B^22 sn , 2 i = [ Bsn , i , − Bsn , i ].
Note that the inner product of any pair of these three codes is equal to zero and, therefore, they are orthogonal to each other. In addition, all NOVSF codes are generated recursively in a complete binary tree structure, starting with the root code C 14 , 1. Therefore, all NOVSF codes are orthogonal to each other. 2
4 Encoding Binary Numbers on NOVSF Time Slots
When OVSF codes are used in CDMA based systems, a chip sequence represents either 0 or 1. Therefore, the only way to increase the throughput of WCDMA is to use adaptive modulation so that the number of bits in a symbol can be increased depending on the channel conditions. How- ever, to increase network capacity or total aggregate data rate, NOVSF codes can take advantage of time slots assigned to a channel in the first type of NOVSF codes. The incoming data stream is
first examined whether it has certain data patterns or not. Depending on the type and frequency of patterns in input data, each time slot or chip sequence may represent more than one bit. Assuming that a communication channel is assigned S time slots for S ≥ 1, the incoming data stream is split into k -bit blocks (or numbers), for k ≥ 1 and 2 k^ ≤ ( 2 × S ). Each k -bit block is represented by the transmission of a chip sequence or its complement in a time slot. A data block may be represented by more than one slot if it has more repetitions in the incoming data.
Fig. 12 illustrates a possible encoding of 2-bit blocks to the chip sequences of each time slot, along with an example for a data sequence of 010101000001010111 whose bits are assumed to be transmitted from left to right. The physical bits 1 and 0 in the figure correspond to the transmission of the chip sequence and its complement, respectively. Since the first 2-bit block is 01 and it is represented by the transmission of the chip sequence complement in the second time slot, the physical bit 0 (i.e., the complement of chip sequence) is transmitted in the second slot, and the first time slot does not transmit anything because the first 2-bit block is neither 00 or 11. Since those time slots that do not send anything are wasted, it is crucial to determine the data patterns accurately in the data stream and then to represent them by the time slots in the best way to maximize the network capacity. We aim to investigate cost-efficient algorithms to search data patterns and efficiently map them to time slots.
channel 1 A^ A^ A A
channel 1 A^ A^ A A
Code:A =(1,1,1,1,1,1,1,1)
Physical slot label 0 2 3 data block for physical bit 0 data block for physical bit 1
00 01 01 11 10
01
1
11 00
Example: Let data sequence be 010101000001010111.
Transmitted physical bits in 1st cycle Transmitted physical bits in 2nd cycle Transmitted physical bits in 3rd cycle
0 0 0 0 0 0
1 1
0
Figure 12: To increase network capacity, 2-bit blocks are represented by the transmission of a chip sequence or its complement in time slots of a channel. Bits 1 and 0 in each time slot corresponds to the transmission of chip sequence and its complement, respectively.
We propose to employ a binary tree network to determine the frequency of binary patterns in the input data. Input data is first partitioned into binary numbers of k bits, x 1 x 2... xk , and is then routed through a k -stage tree-type network labeled from left to right starting with 1 as shown in Fig. 13, for k = 3. Each switching box of the network is a 1 by 2 demultiplexer, that is, it has 1 input and 2 outputs. Each binary number is routed from the root node toward the leaf nodes using the destination tag routing algorithm in which the binary number is both the destination address
and routing tag where the k th bit of the number is the control bit for the k th stage (or layer) of the tree-type network. If the control bit is 0, then the number is routed to the upper output; otherwise, the number is routed to the lower output.
X X X 1 2 3
0 X X 2 3
1 X X 2 3
0 0 X 3
0 1 X 3
1 0 X 3
1 1 X 3
counterfor 000 counter counter counter counter counter counter counter
for 100 for 101 for 110 for 111
for 001 for 010 for 011 input data
stage 1 stage 2 stage 3
Figure 13: A tree-type network with one input and eight outputs is used to determine how many times the binary numbers of 3 bits are repeated in input data. Each switching box of the network is a 1 by 2 demultiplexer that routes the input to the upper or lower output depending on whether the control bit is 0 or 1, respectively. Control bits at each stage are denoted by the arrows. Each output has a counter that is incremented by 1 whenever a binary number of three bits arrives in it.
Each leaf has a counter that counts the number of binary numbers arriving at the counter. Ob- viously, the binary number whose counter has the maximum value is repeated the most frequently in the input data. Based on the values of the counters, mapping from the binary numbers to time slots of a channel is performed, which is called pattern encoding on time slots. The binary numbers of those counters having much higher values are represented by more time slots than those binary numbers repeated less frequently. Hence, a chip sequence transmitted by each time slot may rep- resent a binary number of more than one bit. The information about the pattern encoding on time slots is sent to the receiver along with data. While data is transmitted, some time slots may not transmit any chip sequences at some time instances. Therefore, an important goal of the proposed pattern encoding technique is to minimize the number of those time instances at which no chip sequence is transmitted in one or more time slots.
5 Conclusion
Current OVSF codes have a code blocking property that causes spectral efficiency loss up to 25%. To minimize the adverse effects of code blocking, several heuristic scheduling schemes were pro-
posed in the literature. This paper has introduced NOVSF codes that are orthogonal to each other. No NOVSF code blocks the assignment of any other NOVSF code and, therefore, no code reas- signment is needed. Hence, NOVSF codes increase substantially the utilization of NOVSF codes. In addition to NOVSF codes, this paper has also introduced how to encode data patterns of input data on the time slots of the first type of NOVSF codes in order to enhance network capacity. This technique, along with adaptive modulation and coding, can be used to support higher user data rates in 3G and beyond wireless systems.
The author thanks Kiran Vadde for obtaining simulation results illustrated by Figures 4 and 5 in Section 3.
References
[1] A.J. Viterbi, CDMA: Principles of Spread Spectrum Communication, Addison-Wesley, 1995.
[2] 3GPP TS 25.213, v3.3.0, Spreading and Modulation (FDD), Oct. 1999.
[3] F. Adachi, M. Sawahashi, and K. Okawa, “Tree-structured generation of orthogonal spreading codes with different length for forward link of DS-CDMA mobile radio,” Electronic Letters, vol. 33, no. 1, pp. 27-28, Jan. 1997. [4] T. Minn and K.Y. Siu, “Dynamic assignment of orthogonal variable spreading factor codes in W-CDMA,” IEEE J. on Selected Areas in Communications , vol. 18, no. 8, pp. 1429-1440, Aug. 2000.
[5] R.G. Cheng and P. Lin, “OVSF code channel assignment for IMT-2000,” Proc. of VTC’2000, vol. 3, pp. 2188-2192, May 2000.
[6] A.C. Kam, T. Minn, and K.Y. Siu, “Reconstruction methods of tree structure of orthogonal spreading codes for DS-CDMA,” IEICE Trans. Fundamentals , vol. E83-A, no. 11, pp. 2078- 2084, Nov. 2000. [7] F. Shueh, H.C. Lai, and W.E. Chen, “On-line preemption of code assignment for IMT-2000,” Proc. of 3Gwireless’01, pp. 814-819, May 2001.
[8] A.C. Kam, T. Minn, and K.Y. Siu, “Supporting rate guarantee and fair access for bursty data traffic in WCDMA,” IEEE J. on Selected Areas in Communications , vol. 19, no. 11, pp. 2121-2130, Nov. 2001.
[9] H. C¸ am, “Nonblocking OVSF Codes for 3G Wireless and Beyond Systems,” in Proc. of 3Gwireless’2002 & WAS’2002, 2002 International Conference on Third Generation Wireless and Beyond , pp. 148-153, May 28-31, 2002, San Francisco, CA, USA.
[10] R.G. Cheng and P. Lin, “OVSF code channel assignment for IMT-2000,” Proc. of IEEE Ve- hicular Tech. Conf, vol. 3, pp. 2188-2192, 2000.
[11] R. Fantacci and S. Nannicini, “Multiple access protocol for integration of variable bit rate multimedia traffic in UMTS/IMT-2000 based on wideband CDMA,” IEEE J. on Selected Areas in Communications , vol. 18, no. 8, pp. 1441-1454, Aug. 2000.
[12] C.E. Fossa, Dynamic code sharing algorithms for IP quality of service in wideband CDMA 3G wireless networks, PhD thesis, Virginia Polytechnic Institute and State University, April
[13] P. Goria, C. Guerrini, and A. Vaillant, “Signalling delay of code allocation strategies,” Proc. of IST Mobile & Wireless Telecommunications Summit, Thessaloniki, Greece, June 16-19,
[14] TS 3GPP RAN 25.331 v3.7.0., “RRC Protocol Specification,” June 2001.
[15] K. Vadde and H. C¸ am, “A Code Assignment Algorithm for Nonblocking OVSF Codes in WCDMA,” Submitted to a Special Issue of Telecommunication Systems.
[16] H. C¸ am and K. Vadde, “Performance analysis of nonblocking OVSF codes in WCDMA,” Proc. of The 2002 International Conference on Wireless Networks , June 24-27, 2002, Las Vegas, USA.