Study on Additional Carrier Sensing for IEEE 802.15.4 Wireless Sensor Networks

Wireless sensor networks based on the IEEE 802.15.4 standard are able to achieve low-power transmissions in the guise of low-rate and short-distance wireless personal area networks (WPANs). The slotted carrier sense multiple access with collision avoidance (CSMA/CA) is used for contention mechanism. Sensor nodes perform a backoff process as soon as the clear channel assessment (CCA) detects a busy channel. In doing so they may neglect the implicit information of the failed CCA detection and further cause the redundant sensing. The blind backoff process in the slotted CSMA/CA will cause lower channel utilization. This paper proposes an additional carrier sensing (ACS) algorithm based on IEEE 802.15.4 to enhance the carrier sensing mechanism for the original slotted CSMA/CA. An analytical Markov chain model is developed to evaluate the performance of the ACS algorithm. Both analytical and simulation results show that the proposed algorithm performs better than IEEE 802.15.4, which in turn significantly improves throughput, average medium access control (MAC) delay and power consumption of CCA detection.


Introduction
The IEEE 802.15.4 standard [1] is uniquely designed to meet the requirements of low rate wireless personal area networks (LR-WPANs) to enable wireless sensor network applications [2][3][4]. Wireless sensor networks based on IEEE 802.15.4 are being increasingly deployed for different applications with the advances in micro-sensors, wireless networking and embedded processing technologies, and their applications include environmental monitoring, industrial sensing and diagnostics, health care and data collecting for battlefield awareness, etc. Generally speaking, IEEE 802.15.4 supports both star and peer-to-peer topologies. In star topology, a coordinator node is used to establish and maintain a WPAN. In peer-to-peer topology, a node can communicate with several nodes within its transmission range.
The IEEE 802.15.4 medium access control (MAC) protocol employs slotted carrier sense multiple access with collision avoidance (CSMA/CA) to access the channel and uses a random backoff algorithm to reduce the collision probability. To save power consumption in IEEE 802.15.4 networks, the slotted CSMA/CA uses a blind backoff process instead of a traditional backoff procedure. To transmit data, a node performs carrier sensing only when the backoff process is completed, and this causes lower channel utilization and longer average delays. To further improve the slotted CSMA/CA, a hybrid MAC protocol integrating CSMA and time division multiple access (TDMA) for wireless sensor networks has been proposed [5][6][7]. The enhanced backoff (EB) mechanism shifts the range of backoff period (BP) to reduce redundant backoffs and clear channel assessments (CCAs) [8], but the average delay also possibly increases. Therefore, we propose an additional carrier sensing (ACS) algorithm based on the IEEE 802.15.4 acknowledgement mode to detect the channel condition whenever the second CCA detects a busy channel. It can provide accurate information that the busy channel is caused by data or an acknowledged packet transmission in the second CCA detection. The transmission can then start after the acknowledged packet.
It does not seem so easy to find a suitable mathematical model to analyze IEEE 802.15.4 model. In [9,10] the authors develop an IEEE 802.15.4 analytical model having the same Markov formulation and assumptions as Bianchi for IEEE 802.11 [15], but it fails to match simulation results. A Markov model developed by Park [11] is inaccurate, and an embedded Markov model proposed by Lee [12] is incomplete as well. Finally we develop a Markov chain model for ACS algorithm by integrating the models from [13,14]. By analysis and simulation experiments, ACS improves the throughput and delay performance but does not increase the energy consumption.

Description of ACS Algorithm
In IEEE 802.15.4 networks, each node communicates with the coordinator by using the slotted CSMA/CA in the contention access period (CAP). To transmit a packet, a node first delays a BP determined by randomly choosing from 0 to (2 BE -1) slots, where BE is a backoff exponent and initially set to the value of aMinBE, and then performs the first CCA to detect channel condition. If the channel is idle in the first CCA detection, it will perform the second CCA to detect the channel again. If the results of both CCA channel detecting processes are idle, the node will start to transmit its data packet and waits for the acknowledged packet from the coordinator after finishing the data packet transmission, and the duration between the last transmission slot and the first acknowledment slot has been defined as t ACK , which will occupy one slot. In general, the acknowledged packet should occupy two slots. Conversely, if any CCA detects the channel being used, it will reassign a BP between 0 and (2 (BE + 1) -1) slots for delay and attempt CCA again, where BE can be increased to the maximum value of aMaxBE. The transmission fails if the number of backoff attempts (NB) exceeds the value macMaxCSMABackoffs. In this paper, CCA1 and CCA2 will be used for the first CCA and second CCA, respectively.   15.4 in the beacon-enabled with acknowledged mode, CCA2 mainly fails in only two cases. First, there is at least one of the other nodes successfully performing CCA2 at the same slot, when the target node performs CCA1. In this case, the CCA2 performed by the target node will detect a busy channel which is caused by a node starting to transmit its packet in the same slot. The second possible case is that the target node performs CCA1 while at least one of the other nodes waits for the acknowledged packet after finishing transmission. The target node will detect an idle channel in CCA1 for the duration of the t ACK slot. If the node successfully transmits, the CCA2 performed by the target node will detect a busy channel because the coordinator is replying to the acknowledged packet in the same slot. Clearly, in the second possible case of CCA2 failure, we can make sure that the target node can transmit its data packet after the next CCA2 failed slot. Therefore, ACS will perform the third CCA (also called CCA3) to detect the channel after the next CCA2 failed slot. CCA2 absolutely fails in the first case and the transmission is not allowed if CCA3 detects a busy channel. CCA2 fails in the second case but the data packet can be transmitted right after CCA3, if CCA3 detects an idle channel.
Basically, the flowchart of the ACS algorithm is obtained by slightly modifying the IEEE 802.15.4 standard, as shown in Figure 1. We first set the contention window (CW) to 3 for three CCAs and add a conditional decision for checking the result of CCA2 detection. If CW is equal to 2 after detecting a busy channel, it must be that CCA2 failed. We perform CCA3 after delaying a single slot to see if CCA2 fails in the first case or the second case and further decide to transmit or go to the next backoff stage.

Analysis of the ACS Algorithm
In this section, we analyze the proposed ACS algorithm based on the IEEE 802.15.4 slotted CSMA/CA in the case of acknowledged uplink data transmission with unsaturated traffic conditions. We consider a single hop with star topology consisting of a coordinator and N sensor nodes under the assumptions of ideal channel conditions without hidden nodes and capture effects. We assume that data packets arrive at each sensor node according to the Poisson process with rate λ for uplink transmission. According to the IEEE 802.15.4 specification, an aUnitBackoffPeriod (UBP) contains 20 symbols, and one symbol contains 4 bits, i.e., a UBP contains 80 bits. We also assume that the length of data packet L d is fixed and occupies 12 UBPs for transmission, while t ACK and the length of the acknowledged packet L ACK occupy 1 and 2 UBPs, respectively. We derive the stationary probability that a node attempts the first carrier sensing in a random chosen UBP, and analyze throughput, MAC delay and the number of CCAs sent before transmission to understand the energy consumed by CCAs.

System Model and Throughput Analysis
Let s(t), c(t), b(t) and y(t) be the stochastic processes representing the backoff stage, CW value, backoff counter and transmitting slot at the boundary of slot t for a given sensor node, respectively. We have s(t) ∈ {0,1,…,m} by assuming that m is the maximum backff stage and is equal to aMaxBE − aMinBE. Since CCA detection occurs three times in the ACS algorithm, we have c(t) ∈ {0,1,2,3}. The backoff counter in backoff stage i will be uniformly selected from [0, where the state y(t) = 0 represents nothing for transmitting or receiving. The set of processes {s(t), c(t), b(t), y(t)} defines the state of a node at the boundaries of time slots. The behavior of a single device is described by the discrete-time Markov chain shown as Figure 2. This Markov chain model combines Jung's model [13] with Pollin's model [14] and further considers the CCA3 operation. In the Markov chain model, the state {0} represents the idle state whenever a node has no data packet for transmission. In Figure 2, p c is the collision probability caused by at least one of N -1 remaining nodes to senses successfully and transmits; p b1 is the probability of detecting a busy channel in CCA1, while p b2 and p b3 are probabilities that a node detects a busy channel before performing CCA2 and CCA3, respectively, given that the channel is idle by performing CCA1 and the previous CCA2 is failed, respectively. The term α represents the transition probability of data packet arrival as obtained by Equation (1)  Let us denote P K1 and P K2 to be the probabilities of entering the next backoff stage and transmitting a data packet from a node in a certain backoff stage, respectively, where P K1 and P K2 can be further obtained by P K1 = p b1 + (1 -p b1 )p b2 p b3 and P K2 = (1 -p b1 )[(1 -p b2 ) + p b2 (1 -p b3 )]. The other transition probabilities associated with the Markov chain are presented as follows.
Equation (2) states the probability that the backoff counter is decreased after each slot. Equation (3) gives the probability of finding a busy channel in CCA1 or CCA3 and a node uniformly selects a state in the next backoff stage. Equation (4) gives the probability to uniformly choose a state for starting a new transmission when the previous transmission is successful or retransmission attempt after the previous transmission failure or reaches to the maximum backoff stage. Equation (5) states the probability of the decreased backoff counter to perform CCA3. Equation (6) states the probability of transmission after the backoff counter reaches zero. Equation (7) states the probability of transmitting in the next slot.
The closed-form solution of the Markov chain can be obtained by Equations (2)-(7) with the chain regularities as follows. Let b i,j,k,l be the stationary distribution of the Markov chain, i.e., where b 0 = P{0}. By using Equation (3), we can obtain b i,3,0,0 shown as Equation (8). The steady-state probabilities to perform CCA2 and CCA3 can be obtained by equations (9) and (10), respectively. b 0,0,0,1 and b 0 can also be obtained by equations (11) and (12), respectively. Consequently, b 0,3,k,0 and b i,3,k,0 can be expressed by equations (13) and (14), respectively. 0  ,  0  ,  3  ,  0   1  1  0  ,  0  ,  3  ,  0  1   1  1  2   0   0  ,  0  ,  3  ,  0  1  2  0   0  ,  0  ,  3  ,  2  1 , Since the sum of probabilities in the Markov chain must be equal to one, we have: Therefore, b 0,3,0,0 can be obtained by the expression of p b1 , p b2 , p b3 and p c as shown in Equation (16): Let φ be the probability that a node performs CCA1 in a random chosen time slot when the backoff counter reaches zero without considering the backoff stage and independent across nodes, where φ can be expressed as Equation (17) Accordingly, let P t be the transmission probability that at least one node senses the channel successfully, while P s is the successful transmission probability that a node senses the channel successfully and the others are not, which can be expressed by equations (18) and (19), respectively: Let P coll be the collision probability of the entire system that can be obtained and shown as Equation (20): The closed forms of p b1 , p b2 , p b3 and p c can be obtained by solving equations (17)-(20). p b1 is the probability that a performing CCA1 node detects a busy channel caused by at least one of N-1 remaining nodes transmitting data packets or receiving ACK packets, shown as Equation (21) [14]: The formula of p b2 in the standard edition of IEEE 802.15.4 consists of two terms derived by the unacknowledged and acknowledged modes corresponding to slots (a) and (b) in Figure 3, respectively [14]. In the ACS algorithm, we still need to consider the other conditions that cause CCA2 to fail, that is, at least one of N-1 nodes successfully detects an idle channel in CCA3 whenever the target node is performing CCA1 at the same time. Consequently, the node performing successful CCA3 will start transmission in the next slot and further causes the target node to detect a busy channel in CCA2. In Figure 3, we know that CCA2 failed not only at slots (a) and (b), but also at slot (c). Besides, the probability of CCA2 failure occurring at slot (c) is the same as at slot (b). Thus, p b2 can be obtained by Equation (22). Moreover, both events in the slots (d) and (e) are the only two cases that cause CCA3 failure. Clearly, the events in the slots (d) and (e) only follow the events in the slots (a) and (c), respectively, which means p b3 is the combination of the events in both slots (a) and (c) and can be obtained by Equation (23). Finally p b1 , p b2 , p b3 and p c can be obtained by solving the above four non-linear equations (21)-(24). Furthermore throughput S can be simply expressed by Equation (25) if B is denoted to be the bandwidth of the channel:

Analysis of Average MAC Delay
In this subsection, we analyze the average MAC delay for each node. The MAC delay is defined as the time between packet arrival and transmission, so it can be obtained by simply counting the average number of states that a node experiences in the Markov chain. The average number of states also implies how many slots on average are experienced for a transmission whenever a new packet arrives.
Let d i be the average backoff counter in backoff stage i and also be the average number of states (slots) experienced by a node to perform backoff countdown procedure in backoff stage i, where d i = W i /2. In Figure 2, a node may have two different paths, e.g., path1 and path2, to enter the next backoff stage with probabilities P C1 and P C2 , respectively, whenever it senses a busy channel in the current backoff stage, where P C1 = p b1 , P C2 = (1 -p b1 )p b2 p b3 . Therefore, a new arrival packet has in total 2 i different paths to enter the i th backoff stage. Moreover, a node entering the next backoff stage by path2 will experience 3 more states than by path1, i.e., it causes it to perform CCA3 three more times. Similarly, a node may have two different paths, e.g., path3 and path4, to successfully sense the channel and transmit in a certain backoff stage with probabilities P C3 and P C4 , respectively, where P C3 = (1 -p b1 )(1 -p b2 ), and P C4 = (1 -p b1 )p b2 (1 -p b3 ). Therefore, a new arrival packet will have 2 i + 1 different paths to successfully sense the channel and transmit in the i th backoff stage. Furthermore, a node which senses the channel successfully and transmits by path4 will experience two more states than by path3, i.e., it causes CCA3 to be performed two more times.
Let D i be the average number of states that a node experiences to successfully sense the channel and transmit in backoff stage i, and D 1 can be obtained by Equation (26) In the right hand side of Equation (26), the first two terms represent that a node fails to sense the channel in backoff stage 0 and enters backoff stage 1 with probability P C1 , then it experiences d 0 + d 1 + 1 or d 0 + d 1 + 3 states for successfully sensing the channel and transmission with probability P C3 or P C4 , respectively. Furthermore, as mentioned above, the average number of states via path1 and path4 is d 0 + d 1 + 3, which includes two more states to perform a CCA3 than that via path1 and path3, i.e., d 0 + d 1 + 1. Similarly, the last two terms represent a node entering backoff stage 1 with probability P C2 and experiencing d 0 +3+d 1 +1 or d 0 +3+d 1 +3 states for successfully sensing the channel and transmission with probability P C3 or P C4 , respectively. The average number of states via path2 and path4 includes two more states to perform a CCA3 than that via path2 and path3. Summarily, D i can be obtained by Equation (27), where the exponents of q and r are the remainder of j/2 and (j + 1)/2, respectively, while v and u are the number of paths via path1 and path2, respectively. Since path1 and path2 are mutually exclusive, there are totally 2 i different paths to enter the i th backoff stage for a new arrival packet as the mentioned above. The term u represents the number of paths via path2, which can be obtained by counting the number of 1s in the binary format of   2 / j , and v is equal to u i − . Let D s be the summation of D i for i ∈ [0,m] shown as Equation (28), where X j is a sequence representing the number of states caused by different possible paths to transmit in the i th backoff stage shown as Equation (29)

Simulation Experiments
In this section, a simulation experiment is performed using the Visual C++ program. We consider a single hop with star topology consisting of a coordinator and N sensor nodes assuming ideal channel conditions. All nodes can communicate with the coordinator at the full data rate of 250 kbps and no capture effect is considered. We assume that the inactive period and CFP can be neglected. The packet length L d is fixed at 120 bytes. The packet arrival rate of each node follows the Poisson distribution with a mean of λ, that is, the traffic load is equal to (N × λ × L d × 8)/250 kbps. We further compare with the IEEE 802.15.4 standard for throughput, average MAC delay and the number of CCAs sent before packet transmission, where the analytical results are obtained from [14]. Table 1 summarizes the system parameters used for simulation.  Figure 4 shows the probabilities of P K1 and P K2 versus the number of nodes for the proposed ACS algorithm and the IEEE 802.15.4 standard, respectively. It shows that ACS has less P K1 and greater P K2 than IEEE 802.15.4, i.e., a node has less probability to enter the next backoff stage and greater probability to transmit a data packet in a certain backoff stage by using ACS. Therefore, ACS should have better throughput and MAC delay performance than IEEE 802.15.4.  Figure 5 shows the results of the performance measurements versus the number of nodes while traffic load is equal to 0.6. As expected by P K1 and P K2 as shown in Figure 4, Figures 5(a) and 5(b) show that ACS has greater throughput and smaller average MAC delay than IEEE 802.15.4. In Figure 5(c), we compare the number of CCAs sent before transmission to see the power consumed by CCAs. The results show that ACS has the smaller number of CCAs than IEEE 802.15.4, which means that ACS uses less power consumed by CCAs than IEEE 802.15.4. Figure 6 shows the results of the performance measurements versus the traffic load while the number of nodes is equal to 15. It is obvious that the results of throughput, average MAC delay and power consumed by CCAs are almost the same for both ACS and IEEE 802.15.4 as the traffic load is light; but ACS performs better than IEEE 802.15.4 when the traffic load gradually increases. It is obvious that ACS alleviates the collision probability under the heavy traffic load.

Conclusions
In this paper, the ACS algorithm based on the IEEE 802.15.4 beacon-enabled with acknowledgement mode is proposed. It uses an additional CCA (i.e., CCA3) to see if a data packet can be transmitted after the preceeding acknowledged packet or not. In doing so it seems to increase the number of CCAs used to detect the channel status for a transmission; conversely, it saves the number of CCAs detections for the future backoff stage if CCA3 is successful. The results obtained by the analytical model and simulation experiments show that the ACS algorithm significantly improves throughput, average MAC delay and power consumption of CCA detection, respectively. However, it is more complicated to solve for the multi-hop cluster topology than the single hop with star topology in IEEE 802.15.4 networks. Therefore, the ACS algorithm will be further expected to consider the hidden nodes problem in the multi-hop cluster topology and to improve the performance of the guaranteed time slot (GTS) allocation.