^{1}

^{1}

^{2}

^{1}

This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).

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.

The IEEE 802.15.4 standard [

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 [

It does not seem so easy to find a suitable mathematical model to analyze IEEE 802.15.4 model. In [

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 _{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

To use the information in CCA1 and CCA2 efficiently, ACS enhances the performance in the IEEE 802.15.4 slotted CSMA/CA. Considering IEEE 802.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

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, _{d}_{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.

Let _{i}_{i}^{(aMinBE + i)} and 0 ≤ _{i}_{d}_{d}_{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 _{slot}

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.

The closed-form solution of the Markov chain can be obtained by _{i,j,k,l}_{i}_{d}_{0} = _{i,3,0,0}_{0,0,0,1}_{0}_{0,3,k,0}_{i,3,k,0}

Since the sum of probabilities in the Markov chain must be equal to one, we have:

Therefore, _{0,3,0,0}_{b1}_{b2}_{b3}_{c}

Let

Accordingly, let _{t}_{s}

Let _{coll}

The closed forms of _{b1}_{b2}_{b3}_{c}_{b1}

The formula of _{b2}

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 _{b2}_{b3}_{b1}_{b2}_{b3}_{c}

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 _{i}_{i} = W_{i}/2_{C1}_{C2}_{C1} = p_{b1}_{C2} = (1 − p_{b1})p_{b2}p_{b3}^{i}^{th} backoff stage. Moreover, a node entering the next backoff stage by path2 will experience 3 more states than by path1, _{C3}_{C4}_{C3} = (1 − p_{b1})(1 − p_{b2})_{C4} = (1 − p_{b1})p_{b2}(1 − p_{b3})^{i + 1} different paths to successfully sense the channel and transmit in the ^{th} backoff stage. Furthermore, a node which senses the channel successfully and transmits by path4 will experience two more states than by path3,

Let _{i}_{1}

In the right hand side of _{C1}_{0} + d_{1} + 1_{0} + d_{1} + 3_{C3}_{C4}_{0} + d_{1} + 3_{0} + d_{1} + 1_{C2}_{0}+3+d_{1}+1_{0}+3+d_{1}+3_{C3}_{C4}_{i}^{i}^{th} backoff stage for a new arrival packet as the mentioned above. The term _{s}_{i}_{j}^{th} backoff stage shown as ^{i}^{+1}−1]. Finally, the average MAC delay _{av}

To consider if the additional CCA3 consumes more power, we can simply count the average number of CCAs sent by each node between packet arrival and transmission to see the power consumption caused by all sent CCAs. Clearly, it is very similar to obtaining the average MAC delay; the number of CCAs can be obtained and shown as _{j}_{j}_{av_CCA}

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 _{d}_{d}

_{K1}_{K2} versus_{K1}_{K2}

_{K1}_{K2}

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 (

This work was supported in part by the National Science Council (NSC) of Taiwan under Grant No.: NSC 96-2221-E-011-055.

The flowchart of the ACS algorithm.

The Markov chain model for the ACS algorithm.

An example of ACS algorithm for three nodes.

The probabilities of P_{K1} and P_{K2}

Throughput, average MAC delay and number of CCAs sent before transmission

Throughput, average MAC delay and number of CCAs sent before transmission

The system parameters for simulation.

Channel bandwidth | 250 kbps |

aUnitBackoffPeriod (UBP) | 80 bits |

MAC Header | 2 UBP |

Data payload | 12 UBP |

_{ACK} |
1 UBP |

_{ACK} |
2 UBP |

3 | |

5 | |

4 |