A Medium Access Control Protocol for Voice and Data Integration in Receiver-Oriented DS-CDMA PCNs ? Yibin Yang Junfeng He Ming T. Liu Department of Computer and Information Science The Ohio State University Columbus , Ohio 43210-1277 E-mail : fyyang , he , liug@cis.ohio-state.edu Abstract Primarily used in military communications in the past , code division multiple access -LRB- CDMA -RRB- is recently found to be attractive for personal communications as well . As a large number of mobile hosts are supported within a cell and a wide range of services are provided , one of the most important issues in a CDMA personal communication network is how to control the uplink access to the shared wireless spectrum . In this paper , we address this issue in a realistic situation where the receiver-oriented transmission protocol is employed and the packet loss due to multiple access interference -LRB- MAI -RRB- can not be ignored . A medium access control protocol for voice and data integration is proposed . It solves the problems of code assignment and MAI control at the same time . A Markov chain model is used to analyze the protocol and the analytical results are shown to be very close to simulations . Based on the modeling , the effectiveness of the protocol 's MAI control is demonstrated and some system design issues are investigated . ? Research reported herein was supported in part by U.S. Army Research Office under contract No . DAAL03 - 92-G-0184 , and by Performance Analysis Lab of The Ohio State University . The views , opinions , and/or findings contained in this paper are those of the authors and should not be construed as an official Department of the Army position , policy or decision . 1 Introduction Primarily used in military communications over the last several decades , code division multiple access -LRB- CDMA -RRB- is recently found to be attractive for personal communications as well , mainly because of its efficient spectrum utilization and simple frequency planning -LSB- 13 -RSB- . In addition , CDMA systems enjoy other advantages such as soft handoff , graceful performance degradation and tighter security -LSB- 4 -RSB- . A second-generation system standard IS-95 -LSB- 13 -RSB- and a third-generation system testbed CODIT -LSB- 1 -RSB- have been proposed or built , which demonstrates the feasibility of applying CDMA technology to personal communications . A CDMA personal communication network -LRB- PCN -RRB- typically consists of multiple cells , each of which is a geographical area covered by the wireless transmission range of a base station -LRB- BS -RRB- . As a large number of mobile hosts -LRB- MH -RRB- are supported within a cell , one of the most important issues in the system is how to control their uplink access to the shared wireless spectrum . The solution to this issue depends on several aspects of system design -LSB- 6 -RSB- , the most noticeable of which is the spreadspectrum transmission protocol . A transmission protocol is the rule that governs the selection of spreading sequence or code to use in the transmission of a packet -LSB- 9 -RSB- . If two MHs within a cell use the same code to transmit a packet at the same time , the packet will be lost due to collision . There are mainly three transmission protocols , viz. , transmitter-oriented , receiver-oriented and common code protocols . In the first protocol , each MH has its own unique code . As to the second protocol , MHs can only share a limited number of codes in a cell , which are associated with receivers of the BS . The third protocol allows the use of only one common code in a cell . As argued in -LSB- 6 -RSB- , although the transmitter-oriented protocol incurs no collision , it is not a practical choice because a large number of codes are needed to support a small number of active MHs and a receiver is burdened with the task of searching the whole set of codes to decode incoming packets as a result of its not knowing which MH is active . On the other hand , the common code protocol incurs too many collisions . Only the receiver-oriented protocol provides a good tradeoff between collision and receiver complexity . Two slotted ALOHA medium access control protocols for receiver-oriented CDMA PCNs have been proposed and analyzed by Liu et al -LSB- 7 -RSB- . However , they can only handle a single type of traffic where packets are subject to retransmission if lost but have no delay constraint . Future CDMA PCNs are expected to provide a wide range of services , including both voice services and data services such as file transfer . These services will generate various types of traffic with different quality of service -LRB- QOS -RRB- requirements . For example , voice packets have stringent delay constraint but can tolerate certain loss while data packet has no delay requirement but can not suffer any loss . To support these types of traffic in CDMA PCNs , two problems need to be addressed : -LRB- 1 -RRB- how to assign codes to MHs with different QOS requirements and -LRB- 2 -RRB- how to control the interference due to multiple access so that the MHs ' QOS requirements can be satisfied . These problems are considered separately in the previous research : the first one is address in -LSB- 12 -RSB- while the second one in -LSB- 2 , 3 , 11 , 15 -RSB- . However , in a realistic situation where the receiver-oriented protocol is employed and the packet loss due to interference can not be ignored , they should be addressed at the same time . Thus we propose in this paper a medium access control protocol that considers both problems . We then use a Markov chain model to analyze its performance . In addition , we investigate how to set system design parameters for better performance . The rest of this paper is organized as follows . Section 2 reviews some relevant aspects of CDMA and the protocols proposed in -LSB- 7 -RSB- . A new medium access control protocol for the voice and data integration is proposed and compared with other previously proposed protocols in Section 3 . Section 4 presents a Markov chain model to analyze the proposed protocol . System performance is evaluated in Section 5 . Finally , Section 6 summarizes the paper . 2 Preliminary In this section , as background of our later discussion , we first give an overview of CDMA and then present previous research results on medium access control in receiver-oriented CDMA PCNs . 2.1 Overview of Code Division Multiple Access In a CDMA system , the symbols which carry information bits occupy a bandwidth more than the minimum needed for the transmission . There are two techniques to achieve this , namely , directsequence -LRB- DS -RRB- and frequency-hopping -LRB- FH -RRB- spread spectrum . In this paper , we are only concerned with the first technique . In a receiver-oriented DS-CDMA PCN , a BS may have several receivers , each of which listens to a specific code . An MH transmits information bits by applying a code to them to generate symbols covering a large bandwidth . Only the receiver which listens to this code can recover the bits from the symbols ; other receivers perceive them as noise . It is important that two MHs should use different codes for transmission at the same time ; otherwise , the receiver can not distinguish them . For simplicity , the effect of capture -LSB- 9 -RSB- is not considered in this paper . Even if a bit transmitted by a MH is spread with a code different from any other code used at the same time , it may still be corrupted because the bits simultaneously transmitted by other MHs generate some level of noise on the intended receiver . This is called multiple-access interference C1C4C3 C1C2C2C4 C4C4C4 C3 Time MH123456 packet preamble packet content Ci : code used for packet transmission Figure 1 : Slotted ALOHA random access in a receiver-oriented DS-CDMA PCN -LRB- MAI -RRB- . The more the MHs transmit together , the higher the probability of bit error . A function Pb -LRB- z -RRB- can be used to approximate the probability of bit error , where z is the number of MHs transmitting at the same time . 2.2 Previous Research In -LSB- 7 -RSB- , two slotted ALOHA random access protocols have been proposed and analyzed . These protocols are studied in a single micro-cell of a receiver-oriented DS-CDMA PCN . Since the size of the cell is very small , the acknowledgments from the BS are assumed to be received by MHs instantaneously . Time is divided into slots whose duration is equal to the transmission time of a packet . In the first protocol , if an MH has a packet to send , it starts transmission in the next slot , using a code randomly selected among the codes associated with the BS . If more than one MH transmit in the same slot , correct reception of the packet depends on two stages . First , no other MHs use the same code so that the packet can be acquired by the receiver . Second , the packet 's bit errors due to MAI can be corrected by its error correction bits . For the purpose of acquisition , each packet has a preamble , which is assumed to be always received correctly if no code collision happens . At the end of a slot , the BS sends back acknowledgments for the correctly received packets . If an acknowledgment is not received for a transmitted packet , the MH will retransmit it in a later slot with a certain probability . The second protocol is an augment to the first one in that at the end of preambles , the BS also sends back acknowledgments to the MHs whose packets are successfully acquired . They can be called preamble acknowledgments . Only upon receiving a preamble acknowledgment can a MH continue its packet transmission . In this way , MAI is reduced because now the interference is from the successfully acquired packets only instead of all packets transmitted at the start of the slot . Figure 1 depicts the process . In the first slot , three MHs select different codes so that packet receptions are only subject to MAI . During the second slot , MHs 4 and 5 select the same code so their packets can not be acquired successfully . They stop subsequent transmission , thereby reducing the number of interferencing MHs by two . In the third slot , no packet is acquired due to code collisions while in the fourth slot , the only packet transmitted is acquired and its reception is not affected by MAI . 3 A Protocol for Voice and Data Integration As pointed out in Section 1 , the two protocols presented in Subsection 2.2 are designed to handle only one type of traffic that demands retransmission of lost packets regardless of delay . In this section , we propose an extension to the second protocol so as to support both voice and data traffic . We first find new problems associated with the mixed traffic of voice and data , and then propose a new protocol as solutions to these problems . Finally , the proposed protocol is compared with previous integration protocols for CDMA wireless networks . 3.1 Problems and Their Solutions We consider a single micro-cell in a receiver-oriented DS-CDMA PCN . Two kinds of MHs , voice MHs and data MHs , are in the cell , which generate voice and data packets , respectively . Voice and data packets have the same size . Time is divided into slots whose length is equal to the transmission duration of a packet . The activities of voice MHs follow a pattern of interleaved talkspurts and silence gaps . Only during talkspurts can voice MHs generate packets , at a rate of one packet per slot . The QOS requirements of voice and data packets are quite different . Voice packets can tolerate some loss but have stringent delay requirement , which prohibits retransmissions . In this paper , we assume the tolerable loss rate is 1 % and the maximum allowed delay is one slot . On the other hand , data packets have no delay requirement , and should be retransmitted until correctly received . To handle these two different types of traffic , we need to address the following two problems : YesNo Yes YesYesNo No No new data pkt?ACCESSwith pd?send preambleusing a randomly chosen code in Sdc * PACKreceived?send packet content with the same code DACKreceived ? * The data MH listerns to the BS to obtain Sdc at the end of each slot . Figure 2 : Flowchart of data MHs NoYes Yes Yes No No No Yes in talkspurt?code reserved?send preamble using reserved code ACCESSwith pv?send preamble using a randomly chosencode in Svc * PACKreceived?record the chosencode as reserved send packet content using the reserved code * The voice MH listens to the BS to obtain Svc at the end of each slot . Figure 3 : Flowchart of voice MHs 1 . How to assign codes associated with the BS to voice MHs and data MHs ? 2 . How to control MAI from voice MHs and data MHs so as to satisfy their QOS requirements , in particular , the tolerable voice packet loss rate ? The solution to the first problem depends on characteristics of voice and data traffic . In a voice MH , voice packets are generated constantly during talkspurt periods , which average about one second a period . Compared with the short duration of a slot , typically tens of milliseconds , a talkspurt is fairly long . Besides , voice packets are sensitive to delay and will be dropped if not transmitted immediately . Given these considerations , it is not effective for a voice MH in a talkspurt to contend for a code in every slot . Rather , it seems more reasonable for the voice MH to contend for a code only at the start of the talkspurt and reserve the code for the entire talkspurt . On the other hand , the packets generated by a data MH are neither continuous nor delay sensitive . Thus the data MH will contend for a code whenever it has a packet to send , just like two previous protocols in -LSB- 7 -RSB- . To solve the second problem , we need to consider how voice packet loss occurs . First , at the start of its talkspurt , if a voice MH selects a code which is collided with another MH , its newly generated packet can not be transmitted in the current slot ; therefore , it will be dropped due to the delay constraint . This kind of voice packet loss before a code is reserved is called the loss due to contention . After a code is reserved , a packet may still be lost during transmission because of the interference from other MHs transmitting in the same slot . This kind of loss is called the loss due to MAI . To control the loss due to contention , it is desirable to let voice MHs and data MHs contend in different code sets ; otherwise , voice packet loss would be affected by the variation of data traffic -LSB- 8 -RSB- . From this and the description in the previous paragraph , we will partition the whole set of codes associated with the BS , S , into three non-overlapped subsets , Srsv , Svc and Sdc , which are used for reserved voice MHs , voice MH contentions at the starts of talkspurts and data MH contentions , respectively . The elements of these sets are updated and broadcast downlink by the BS at the end of every slot . To control the loss due to MAI , a limit should be set on how many preamble acknowledgments can be sent back by the BS for successfully acquired packets . In addition , if the number of acquired packets is beyond this limit , the voice packets should be favored by the BS in acknowledgment because of their delay constraint . Based on the ideas mentioned above , we will present a medium access control protocol which specifies the operations in data MHs , voice MHs and the BS , as depicted in Figures 2 , 3 and 4 , respectively . These flowcharts contain the operations in one slot while the dotted lines indicate the transitions into the next slot . For a data MH -LRB- Figure 2 -RRB- , once a packet is generated , it will send out the packet -LRB- or ACCESS the medium -RRB- with probability pd in the subsequent slots . The code used is randomly selected from Sdc . It will retransmit the packet unless both the preamble acknowledgment -LRB- PACK -RRB- and the data packet acknowledgment -LRB- DACK -RRB- are received . As to a voice MH -LRB- Figure 3 -RRB- , it does nothing during a silence gap . Once a talkspurt comes , the x + nr < = L ? NoNoYesYes i : = L - nrj : = 0i : = xj : = L - -LRB- i + nr -RRB- x + y + nr < = L?i : = xj : = y x voice preambles acq?d y data preambles acq?d wait forpreambles send i voice PACKs send j data PACKs update Srsv , Svc , Sdc & broadcast downlink * send DACKs for correctly received data packets * The BS also listens to reserved codes , either to catch voice packets or take back those unused codes . This is an underlying process not shown above . Figure 4 : Flowchart of the BS voice MH transmits newly generated packets using randomly selected codes in Svc with probability pv in every slot . The code used by the first packet whose preamble is acknowledged is reserved for the voice MH during the whole talkspurt . Then the voice MH sends packets using this code in every subsequent slot . A voice packet is lost if it is not transmitted in the next slot after its generation or corrupted in transmission due to MAI . The BS -LRB- Figure 4 -RRB- is the central point of control . It takes the responsibilities of determining which acquired packet preambles to acknowledge and updating the three code sets . A limit is imposed on the number of packets transmitted in one slot , which is denoted as L in Figure 4 . Let x and y be the numbers of the acquired voice and data packet preambles , respectively , and nr the number of reserved codes . If x , y and nr add up to less than L , all acquired preambles are acknowledged . Otherwise , the voice packet preambles , which are spread with codes in Svc , are acknowledged with priority . Then the BS updates the set Srsv using the following two steps . 1 . Delete from Srsv the codes associated with finishing talkspurts . We assume there are some flag bits in voice packets to indicate the end of talkspurts . 2 . Add to Srsv the codes in Svc which are used by acknowledged voice packet preambles . The codes not in the updated Srsv are divided into the sets Svc and Sdc according to some rule . In this paper , we adopt a rule that if there are M codes left out of Srsv , min -LRB- M ; C -RRB- of them are put into Svc , where C is a predefined system parameter . 3.2 Comparison with Previous Integration Protocols As mentioned in Section 1 , some integration protocols have already been proposed -LSB- 2 , 3 , 11 , 12 , 14 , 15 -RSB- . In this section , we first summarize the major features of our new protocol and then compare it with the previously proposed ones . According to the description in Subsection 3.1 , the major features of our new protocol are as follows . 1 . Time is slotted for packet transmission . 2 . Silence detection mechanism is utilized . 3 . Code assignment problem is considered within the receiver-oriented transmission protocol . 4 . The MAI control is both centralized and slot-by-slot . In -LSB- 11 -RSB- Soroushnejad and Geraniotis consider multiple-access strategies for an integrated FH - CDMA packet radio network . Three schemes , based on feedback information from the BS , are proposed for voice and data users to control their transmission . Admission control policies in DS-CDMA packet radio networks are discussed in -LSB- 15 -RSB- . Voice traffic is admitted independent of data traffic . For data traffic , two models of MAI are considered , i.e. , the threshold model and the graceful degradation model . Its admission policies depend on voice admission policies as well as the MAI models . In -LSB- 14 -RSB- , CDMA and TDMA methods are compared in an integrated PCN . Its CDMA protocol allows completely unconstrained transmission of voice and data packets . As an enhancement to this protocol , Capone and Merakos propose an integration protocol to control data traffic -LSB- 3 -RSB- . Data users send packet transmission requests to the BS through uplink control channels . The BS queues these requests and then schedules data packet transmission based on its observation of uplink interference level . It instructs data users when to start transmission by sending permissions and codes through downlink control channels . In -LSB- 2 -RSB- Brand and Aghvami propose a joint CDMA/PRMA protocol for third-generation mobile systems . The time is organized into frames , each of which contains a fixed number of slots . In each slot , the access to the wireless medium is governed by transmission permission probabilities , which are calculated based on the number of users transmitting in the same slot of the previous frame . In -LSB- 12 -RSB- , the reservation code multiple-access protocol is proposed for voice and data users to share a limited number of codes on a contention basis . These protocols are compared with our protocol as follows . Slotted systems are considered in -LSB- 2 , 11 , 12 , 15 -RSB- but not in -LSB- 3 , 14 -RSB- . As to silence detection , it is utilized in -LSB- 2 , 3 , 12 -RSB- but not in -LSB- 11 , 14 , 15 -RSB- . The code assignment problem is covered in -LSB- 12 -RSB- . However , it differs from our protocol in that the voice and data users contend for the same codes . In -LSB- 2 , 11 , 14 , 15 -RSB- , either transmitter-oriented protocol is used or the code assignment is not specified . In -LSB- 3 -RSB- , the code assignment for voice users is not mentioned and the code assignment for data users is simplified by assuming no contention . The MAI control problem is the focus of -LSB- 2 , 3 , 11 , 15 -RSB- but ignored in -LSB- 12 , 14 -RSB- . Different from our protocol , distributed approaches are used in -LSB- 2 , 11 -RSB- while the control on a slot basis is not performed in -LSB- 3 , 15 -RSB- . For the distributed approaches , MAI could be beyond the intended level due to outdated or incomplete information . The admission controls in -LSB- 15 -RSB- are too coarse to cope with data traffic variation effectively . Variable Description K number of codes associated with the BS C maximum number of codes for voice contention L limit of simultaneous packet transmission in one slot C current number of codes for voice contention , min -LRB- C ; K ? Nr -RRB- o slot duration Nv number of voice MHs in the cell Nd number of data MHs in the cell Nr number of voice MHs in the reservation state Ns number of voice MHs in the silence state Nc number of voice MHs in the contention state Nt number of data MHs in the thinking state Nb number of data MHs in the backlogged state 1 = > = average of exponentially distributed talkspurt duration 1 = ? average of exponentially distributed silence gap duration pv slot access probability of voice MHs in the contention state po packet generation rate of data MHs in the thinking state pd slot access probability of data MHs in the backlogged state Table 1 : System variables 4 Analysis of the Proposed Protocol In this section , we modify the Markov chain model introduced in -LSB- 10 -RSB- to analyze the protocol proposed in Section 3 . Performance measures such as the voice packet loss rate and data packet throughput are derived in the model . 4.1 System Variables and MH models The system variables are listed in Table 1 . The first three variables , K , C and L , are important system design parameters whose values will be investigated in Section 5 . The models of voice and data MHs are depicted in Figure 5 and described as follows . A voice MH has three states . During a silence gap , it stays in the silent state -LRB- SS -RRB- without generating any packet . Upon the arrival of a talkspurt , it enters the contention state -LRB- CS -RRB- , where it makes access to the wireless medium by sending its packets in the following slots with probability pv . It moves into the reservation state -LRB- RS -RRB- once an acknowledgment to a preamble is received , regardless of whether the packet is correctly received or not . The probability of voice contention success is shown as pv succ . In the reservation state , the MH continuously generates and transmits packets , which may be lost due to MAI . However , no retransmission is performed for lost voice RSSS CS TH BK pv * pv_succ pap s pop d * pd_succ 1 - pd * pd_succ 1 - po -LRB- a -RRB- Voice MH model -LRB- b -RRB- Data MH model 1 - pv * pv_succ Figure 5 : Models of voice and data MHs packets . The probabilities of transitions from SS to CS and from RS to SS can be calculated as pa = 1 ? e ? > = o and ps = 1 ? e ?? o , respectively . A data MH is in the thinking state -LRB- TH -RRB- if it has no packet to transmit . In this state , it generates data packets following the Bernoulli distribution with the rate of po packets per slot . After a packet is generated , the MH moves into the backlogged state -LRB- BK -RRB- , where it is not allowed to generate packets . In the backlogged state , the data MH keeps on transmitting the packet in subsequent slots with probability pd until an acknowledgment is received , indicating the correct reception of the packet . Then it moves back to the thinking state . The probability of receiving a data packet correctly is shown as pd succ . 4.2 Markovian Model Given Nv voice MHs and Nd data MHs in a cell , the system can be described by three-state variables fNr ; Ns ; Nbg -LSB- 10 -RSB- . To derive system performance measures , stationary distributions of the variables should be found . To make the problem tractable , a Markov chain whose embedded point is at the slot boundary is considered . This Markov chain is ergodic since it is obviously irreducible , aperiodic and with finite states . However , directly solving this three-dimension Markov chain is very difficult . Thus a simplification is made in -LSB- 10 -RSB- to split it into two sub-processes : a speaking-silence process and a reservation process . The first process has one-state variables fNsg and evolves independent of Nr and Nb . Its stationary distribution , fPr -LSB- Ns = ns -RSB- g or fss -LRB- ns -RRB- g , can be calculated as follows -LSB- 10 -RSB- : ss -LRB- ns -RRB- = Nv ns ! -LRB- > == ? -RRB- ns -LRB- 1 + > == ? -RRB- Nv The second process is a two-dimension process with state variables fNr ; Nbg . Its evolvement depends on Ns . The stationary distribution of this process , fPr -LSB- Nr = nr ; Nb = nb j Ns = ns -RSB- g or fss -LRB- nr ; nb j ns -RRB- g , is assumed to exist -LSB- 10 -RSB- . Once this distribution is found , the stationary distribution of the original three-dimension Markov chain , Pr -LSB- Nr = nr ; Nb = nb ; Ns = ns -RSB- or ss -LRB- nr ; nb ; ns -RRB- , can be calculated as follows : ss -LRB- nr ; nb ; ns -RRB- = ss -LRB- nr ; nb j ns -RRB- ss -LRB- ns -RRB- -LRB- 1 -RRB- The method of calculating ss -LRB- nr ; nb j ns -RRB- given in -LSB- 10 -RSB- can not be applied to our protocol because it is different from the protocol of -LSB- 10 -RSB- in the following three aspects : 1 . Voice and data MHs do not contend in the same code set . 2 . Packets may be lost due to not only contention but MAI as well . 3 . A per-slot limit is put on packet transmission , which is independent of contention result . We first list two functions defined in -LSB- 10 -RSB- for our later discussion . ffl B -LRB- n ; m ; p -RRB- : the probability of the binomial distribution . B -LRB- n ; m ; p -RRB- = n m ! pm -LRB- 1 ? p -RRB- n?m ffl ? -LRB- a ; m ; q -RRB- : the probability of q preambles acquired given that a packets make access to m codes in a slot . ? -LRB- a ; m ; q -RRB- = -LRB- ? 1 -RRB- qm!a ! q!ma min -LRB- m ; a -RRB- X k = q -LRB- ? 1 -RRB- k -LRB- m ? k -RRB- a?k -LRB- k ? q -RRB- ! -LRB- m ? k -RRB- ! -LRB- a ? k -RRB- ! Based on the description of our protocol , we define and derive the following three probability functions . ffl PE -LRB- z -RRB- : the probability of packet loss due to MAI when z packets are simultaneously transmitted in one slot . Suppose the packet size is n bits and at most t error bits are correctable . If we assume the bit errors are i.i.d. within a packet , PE -LRB- z -RRB- can be calculated as follows : PE -LRB- z -RRB- = nX k = t +1 B -LRB- n ; k ; Pb -LRB- z -RRB- -RRB- ffl ? -LRB- av ; ad ; bv ; bd ; nr -RRB- : the probability that bv preambles of voice packets and bd preambles of data packets are acknowledged given that av voice packets and ad data packets make access to the medium in a slot . The function 's parameters should satisfy the following constraints : bv < = av , bd < = ad , bv < = C , bd < = K ? C ? nr and bv + bd < = L ? nr . Based on the three cases of relationship between x , y , nr and L depicted in Figure 4 , this function can be calculated as follows : ? -LRB- av ; ad ; bv ; bd ; nr -RRB- = 8 >> >> >> >> > < >> >> >> >> > : av X i = bv ? -LRB- av ; C ; i -RRB- if -LRB- bv = L ? nr -RRB- ^ -LRB- bd = 0 -RRB- ? -LRB- av ; C ; bv -RRB- ad X i = L?nr?bv ? -LRB- ad ; K ? C ? nr ; i -RRB- if -LRB- bv < L ? nr -RRB- ^ -LRB- bd = L ? nr ? bv -RRB- ? -LRB- av ; C ; bv -RRB- ? -LRB- ad ; K ? C ? nr ; bd -RRB- if -LRB- bv + bd < L ? nr -RRB- ffl ? -LRB- nc ; nb ; ns ; i ; r -RRB- : the probability that i preambles of voice packets are acknowledged and r data packets are received correctly given Nc = nc , Nb = nb and Ns = ns . The parameters of the function are subject to the following constraints : i < = nc , r < = nb , i < = C , r < = K ? C ? -LRB- Nv ? nc ? ns -RRB- and i + r < = L ? -LRB- Nv ? nc ? ns -RRB- . We derive the function as follows : ? -LRB- nc ; nb ; ns ; i ; r -RRB- = nb X j = r Pr -LSB- i voice preambles acknowledged , r data packets correctly received j i voice and j data preambles acknowledged , Nc = nc ; Nb = nb ; Ns = ns -RSB- ? Pr -LSB- i voice and j data preambles acknowledged j Nc = nc ; Nb = nb ; Ns = ns -RSB- = nb X j = r Pr -LSB- i voice preambles acknowledged , r data packets correctly received j i voice and j data preambles acknowledged , Nc = nc ; Nb = nb ; Ns = ns -RSB- ? nc X k = i nb X l = j Pr -LSB- i voice and j data preambles acknowledged j k voice and l data packets access the medium , Nc = nc ; Nb = nb ; Ns = ns -RSB- ? Pr -LSB- k voice and l data packets access the medium j Nc = nc ; Nb = nb ; Ns = ns -RSB- = nb X j = r B -LRB- j ; r ; 1 ? PE -LRB- Nv ? nc ? ns + i + j -RRB- -RRB- nc X k = i nb X l = j -LRB- ? -LRB- k ; l ; i ; j ; Nv ? nc ? ns -RRB- B -LRB- nc ; k ; pv -RRB- B -LRB- nb ; l ; pd -RRB- -RRB- Using the above functions , the probability of one-step transition from state fi ; jg to state fi0 ; j0g , conditioned on Ns = ns , can be calculated as follows -LSB- 10 -RSB- : Pr -LSB- Nr -LRB- t + 1 -RRB- = i0 ; Nb -LRB- t + 1 -RRB- = j0 j Nr -LRB- t -RRB- = i ; Nb -LRB- t -RRB- = j -RSB- = Nv?ns?i X l = max -LRB- i0?i ; 0 -RRB- min -LRB- Nd?j0 ; j -RRB- X k = max -LRB- j?j0 ; 0 -RRB- ? -LRB- Nv ? ns ? i ; j ; ns ; l ; k -RRB- B -LRB- i + l ; i0 ; 1 ? ps -RRB- B -LRB- Nd ? j ; j0 ? j + k ; po -RRB- where Nr -LRB- t -RRB- and Nb -LRB- t -RRB- are the values of Nr and Nb at the start of slot t , respectively . With this probability , we can first construct the one-step transition matrix P and then solve the equations of ? = ? P and P ssi = 1 to get fss -LRB- nr ; nb j ns -RRB- g . Once fss -LRB- nr ; nb j ns -RRB- g is obtained for every value of Ns , the stationary distribution fss -LRB- nr ; nb ; ns -RRB- g can be calculated by Eq . -LRB- 1 -RRB- . It can be used to derive some system performance measures , as will be shown in the next section . 4.3 Performance Measures The important system performance measures include the voice packet loss rate , data packet throughput and delay . In this section , they will be derived based on the Markov chain model discussed above . The average number of voice MHs in the contention state , E -LRB- Nc -RRB- , the average number of voice MHs in the reservation state , E -LRB- Nr -RRB- , and the average number of data MHs in the backlogged state , E -LRB- Nb -RRB- , can be easily calculated as in -LSB- 10 -RSB- . Let LCT and LMAI be the number of voice packet loss per slot due to contention and MAI , respectively , and R the number of data packets correctly received per slot . Their averages can be calculated as follows : E -LRB- LCT -RRB- = Nv X nr = 0 Nv?nr X ns = 0 Nd X nb = 0 -LRB- Nv?nr?ns X k = 0 nb X l = 0 B -LRB- Nv ? nr ? ns ; k ; pv -RRB- B -LRB- nb ; l ; pd -RRB- -LRB- kX i = 0 lX j = 0 -LRB- nc ? i -RRB- ? -LRB- k ; l ; i ; j ; nr -RRB- -RRB- -RRB- ss -LRB- nr ; ns ; nb -RRB- E -LRB- LMAI -RRB- = Nv X nr = 0 Nv?nr X ns = 0 Nd X nb = 0 -LRB- Nv?nr?ns X k = 0 nb X l = 0 B -LRB- Nv ? nr ? ns ; k ; pv -RRB- B -LRB- nb ; l ; pd -RRB- -LRB- kX i = 0 lX j = 0 -LRB- i + nr -RRB- PE -LRB- i + nr + j -RRB- ? -LRB- k ; l ; i ; j ; nr -RRB- -RRB- ss -LRB- nr ; ns ; nb -RRB- E -LRB- R -RRB- = Nv X nr = 0 Nv?nr X ns = 0 Nd X nb = 0 -LRB- Nv?nr?ns X k = 0 nb X l = 0 B -LRB- Nv ? nr ? ns ; k ; pv -RRB- B -LRB- nb ; l ; pd -RRB- -LRB- kX i = 0 lX j = 0 j -LRB- 1 ? PE -LRB- i + nr + j -RRB- -RRB- ? -LRB- k ; l ; i ; j ; nr -RRB- -RRB- ss -LRB- nr ; ns ; nb -RRB- Based on the above averages , the performance measures can be calculated as follows : Voice packet loss rate due to contention = E -LRB- LCT -RRB- E -LRB- Nc -RRB- + E -LRB- Nr -RRB- Voice packet loss rate due to MAI = E -LRB- LMAI -RRB- E -LRB- Nc -RRB- + E -LRB- Nr -RRB- Voice packet loss rate = loss rate due to contention + loss rate due to MAI Data packet throughput = E -LRB- R -RRB- Data packet delay = E -LRB- Nb -RRB- E -LRB- R -RRB- 5 Performance Evaluation The purpose of this section is three folds : -LRB- 1 -RRB- to evaluate the protocol 's effectiveness in MAI control , -LRB- 2 -RRB- to verify the correctness of the Markov chain model , and -LRB- 3 -RRB- to investigate the settings of system design parameters . We considered a cell with 40 and 30 active voice and data MHs , respectively . The processing gain of the system , G , was 31 . Time was divided into slots of 16 ms long . The average durations of talkspurts and silence gaps were 1.0 and 1.35 seconds , respectively . A -LRB- 255 , 131 , 18 -RRB- BCH-code -LSB- 5 -RSB- was used for error correction in both voice and data packets . A packet was taken as a code of 255 bits , among which 131 bits contained information . A maximum number of 18 bit errors could be corrected . We used Gaussian method to approximate the bit error probability : Pb -LRB- z -RRB- = :5 erfc -LRB- -LRB- -LRB- z ? 1 -RRB- = 1:5 G + N0 = Eb -RRB- ? 0:5 -RRB- , where Eb = N0 was 10 dB . The voice and data transmission probabilities , pv and pd , were both chosen as 0.9 because as pointed out in -LSB- 7 -RSB- , a fixed retransmission probability of 0.9 could achieve near optimal performance . The impact of data traffic on the voice packet loss rate demonstrated the effectiveness of MAI control , as depicted in Figure 6 . The system parameters K and C were set to 62 and 5 , respectively . The data traffic load was determined by the generation rate po . Three cases where the limit L was set to 24 , 27 and 40 were considered . As shown in the figure , in all cases , both voice packet loss rate and data packet throughput increased with data traffic load . A too large L = 40 made data transmission less constrained , which led to an unacceptable voice packet loss rate while a too small L = 24 let data packet throughput suffer . A properly chosen L = 27 can strike a balance between the voice packet loss rate and data packet throughput . In this case , a considerable amount of data traffic is incorporated without voice QOS violation . To verify the accuracy of the Markov chain model , we also performed simulations and plotted the results as points in Figure 6 . Each point is an average of 3 runs lasting 5000 seconds . It can be 2 4 6 8 10 12 14 16 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Number of packets per slot Packet generation rate of data MHs K = 62 , C = 5 L = 40 , analytical L = 40 , simulated L = 27 , analytical L = 27 , simulated L = 24 , analytical L = 24 , simulated 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Voice packet loss rate Packet generation rate of data MHs K = 62 , C = 5 K = 62 , C = 5 L = 40 , analytical L = 40 , simulated L = 27 , analytical L = 27 , simulated L = 24 , analytical L = 24 , simulated -LRB- a -RRB- Data packet throughput -LRB- b -RRB- Voice packet loss rate Figure 6 : Control of multiple access interference observed that the analytical model indeed provided a good approximation of system performance measures . Now we come to the problem of how to set the system design parameters , K , C and L . The number of codes K has direct implication on the complexity of the BS because the smaller the K is , the fewer the receivers are needed . The goal of our investigation is to find a minimal K which can guarantee the voice QOS and sustain a good data throughput . However , the system performance depends on not only K but L and C as well . The best performance for a given K can only be found through a two-dimension search on L and C. To decide how to conduct the search , we first considered the impact of L and C on the voice packet loss rate and data packet throughput . In Figure 7 , we plotted the system performance measures against L and C and listed details in tables for the case of K = 62 and po = :8 . It can be seen that with an increase of C , the voice packet loss rate decreased but the data throughput decreased . On the other hand , when L increased beyond a certain point , the data throughput increased but the voice QOS degraded . These observations led to the heuristic search algorithm depicted in Figure 8 , which was used to find the maximum data throughput under the condition that the voice packet loss rate should not be above 0.01 . We depicted the results obtained from the heuristic search against K in Figure 9 , for the cases of light and heavy data traffic loads , where po = :4 and po = :8 , respectively . It is interesting to notice that when K was above a certain value , the data throughput dropped and then resumed to increase . The reason is that for these values , the maximum throughput was achieved with a lower voice loss rate . However , we gain little from the lower rate because it is unnecessary for voice 18 20 25 30 35 40 4 6 8 10 2 4 6 8 10 L C Number of packets per slot K = 62 , Po = 0.8 20 25 30 35 40 4 6 8 10 0.05 0.1 0.15 L C Voice packet loss rate K = 62 , Po = 0.8 4 5 6 7 8 9 10 17 1.291 1.272 1.264 1.260 1.257 1.255 1.253 20 3.307 3.296 3.289 3.285 3.281 3.278 3.275 23 5.915 5.901 5.891 5.881 5.872 5.862 5.852 26 8.244 8.218 8.194 8.168 8.141 8.113 8.082 29 9.640 9.598 9.554 9.507 9.458 9.405 9.349 32 10.135 10.081 10.025 9.966 9.902 9.835 9.762 35 10.221 10.165 10.105 10.042 9.975 9.903 9.827 38 10.224 10.167 10.108 10.045 9.977 9.905 9.829 40 10.223 10.166 10.107 10.044 9.977 9.905 9.828 CL 4 5 6 7 8 9 10 17 0.07718 0.07605 0.07559 0.07532 0.07514 0.07502 0.07493 20 0.02027 0.01962 0.01930 0.01910 0.01896 0.01885 0.01877 23 0.00584 0.00536 0.00509 0.00492 0.00480 0.00471 0.00463 26 0.00751 0.00704 0.00676 0.00658 0.00643 0.00632 0.00622 29 0.01941 0.01880 0.01836 0.01800 0.01765 0.01731 0.01699 32 0.03599 0.03500 0.03412 0.03328 0.03244 0.03158 0.03068 35 0.04645 0.04503 0.04369 0.04236 0.04100 0.03961 0.03816 38 0.04973 0.04808 0.04651 0.04493 0.04333 0.04169 0.04000 40 0.05018 0.04849 0.04686 0.04524 0.04360 0.04191 0.04018 CL -LRB- a -RRB- Data packet throughput -LRB- b -RRB- Voice packet loss rate Figure 7 : The impact of L and C on system performance Search for maximum data throughput subject to the voice QOS requirement 1 . Set C to a sufficiently small value , e.g. , 4 ; 2 . Set L to a sufficiently small value , e.g. , 17 ; 3 . Calculate voice packet loss rate and data throughput for the given L and C ; 4 . Increase L ; 5 . Go to step 3 unless the voice QOS is violated or data throughput does not increase ; 6 . Increase C ; 7 . Go to Step 2 unless data throughput does not increase ; Figure 8 : Heuristic Search 19 2 4 6 8 10 12 30 40 50 60 70 80 90 100 Number of packets per slot Number of BS codes Po = 0.4 Po = 0.8 0.0000 0.0025 0.0050 0.0075 0.0100 0.0125 0.0150 30 40 50 60 70 80 90 100 Voice packet loss rate Number of BS codes Po = 0.4 Po = 0.8 -LRB- a -RRB- Maximum data throughput -LRB- b -RRB- Corresponding voice loss rate Figure 9 : Search for an optimal K service . Therefore , depending on the tradeoff between the BS complexity and the data throughput , K could be chosen between 60 and 80 . 6 Conclusions In this paper , we have studied the issue of voice and data integration in receiver-oriented DS-CDMA PCNs . A new medium access control protocol has been proposed to solve the problems of code assignment and MAI control . To the best of our knowledge , no previous work has addressed these two problems at the same time . In addition , we have used a Markov chain model to analyze the protocol 's performance , which is shown to be very close to the simulations we performed . Based on the results obtained from the modeling , we have evaluated the protocol 's effectiveness in MAI control and investigated how to set system parameters . There is still room for improvement in our protocol . For example , a better scheme could be designed to change L and C dynamically according to the traffic load . Future research could also be conducted on different approaches to code set partition . References -LSB- 1 -RSB- A. Baier , U.-C . Fiebig , W. Granzow , W. Koch , P. Teder , and J. Thielecke , \ Design study for a CDMA-based third-generation mobile radio system , '' IEEE Journal on Selected Areas in Communications , vol . 12 , no. 4 , pp. 733 -LCB- 743 , 1994 . 20 -LSB- 2 -RSB- A. E. Brand and A. H. Aghvami , \ Performance of a joint CDMA/PRMA protocol for mixed voice/data transmission for third generation mobile communication , '' IEEE Journal on Selected Areas in Communications , vol . 14 , no. 9 , pp. 1698 -LCB- 1707 , 1996 . -LSB- 3 -RSB- J. M. Capone and L. F. Merakos , \ Integrating data traffic into a CDMA cellular voice system , '' Wireless Networks , vol . 1 , no. 4 , pp . 389 -LCB- 401 , 1995 . -LSB- 4 -RSB- R. Kohno , R. Meidan , and L. B. Milstein , \ Spread spectrum access methods for wireless communications , '' IEEE Communications Magazine , pp. 58 -LCB- 67 , January 1995 . -LSB- 5 -RSB- S. Lin , An Introduction to Error-Correcting Codes . Prentice Hall , 1970 . -LSB- 6 -RSB- Z. Liu , Medium Access Control Schemes for DS-CDMA Wireless Packet Networks . PhD thesis , The University of Pennsylvania , 1995 . -LSB- 7 -RSB- Z. Liu and M. E. Zarki , \ Performance analysis of DS-CDMA with slotted ALOHA random access for packet PCNs , '' Wireless Networks , vol . 1 , no. 1 , pp. 1 -LCB- 16 , 1995 . -LSB- 8 -RSB- P. Narasimhan and R. D. Yates , \ A new protocol for the integration of voice and data over PRMA , '' IEEE Journal on Selected Areas in Communications , vol . 14 , no. 4 , pp. 623 -LCB- 631 , May 1996 . -LSB- 9 -RSB- M. B. Pursley , \ The role of spread spectrum in packet radio networks , '' Proceedings of The IEEE , vol . 75 , no. 1 , pp. 116 -LCB- 134 , January 1987 . -LSB- 10 -RSB- X. Qiu and V. O. Li , \ Dynamic reservation multiple access -LRB- DRMA -RRB- : A new multiple access scheme for personal communication system -LRB- PCS -RRB- , '' Wireless Networks , vol . 2 , no. 2 , pp. 117 -LCB- 128 , 1996 . -LSB- 11 -RSB- M. Soroushnejad and E. Geraniotis , \ Multi-access strategies for an integrated voice/data CDMA packet radio network , '' IEEE Transactions on Communications , vol . 43 , no. 2/3/4 , pp. 934 -LCB- 945 , February/March/April 1995 . -LSB- 12 -RSB- L. Tan and Q. T. Zhang , \ A reservation random-access protocol for voice/data integrated spread-spectrum multiple-access systems , '' IEEE Journal on Selected Areas in Communications , vol . 14 , no. 9 , pp . 1717 -LCB- 1727 , 1996 . -LSB- 13 -RSB- A. J. Viterbi , CDMA : Principles of Spread Spectrum Communication . Addison Wesely , 1995 . -LSB- 14 -RSB- N. D. Wilson , R. Ganesh , K. Joseph , and D. Raychaudhuri , \ Packet CDMA versus dynamic TDMA for multiple access in an integrated voice/data PCN , '' IEEE Journal on Selected Areas in Communications , vol . 11 , no. 6 , pp. 870 -LCB- 884 , August 1993 . -LSB- 15 -RSB- W.-B . Yang and E. Geraniotis , \ Admission policies for integrated voice and data traffic in CDMA packet radio networks , '' IEEE Journal on Selected Areas in Communications , vol . 12 , no. 4 , pp. 654 -LCB- 664 , May 1994 .

O B I I O O B I I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O B I I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O B I I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O B I I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I I O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O

code division multiple access
medium access control
slotted aloha
voice and data integration