Abstract
Keywords
Introduction
Over the last two decades, various types of wireless sensor network (WSN) systems have been proposed and successfully deployed in a slew of application areas spanning military, medical, environmental, and other businesses. Early WSN systems are merely static ones in the sense that all the sensor nodes are essentially stationary, and gradually, more WSN systems tend to include both stationary and mobile nodes for improved performance and/or added new functionalities. With continued technology breakthroughs in unmanned aerial vehicles (UAVs), there is a growing popularity that UAVs act as the mobile nodes in collaboration with the ground WSNs. Dubbed as UAV-WSN systems, they are able to perform jobs that are often considered difficult or even impossible for traditional WSNs. 1 For instance, the UAVs can fly over the area of interest (the ground or the sea surface), but hard to reach by humans or other means, to collect valuable sensor data. Another nice thing about the UAVs is that they can easily make multiple data collection trips within a short period of time when necessary.
The WSN-UAV systems have their own unique features and challenges. For instance, latency of data transmission between the sensors and the UAV is typically short, because they communicate with each other through direct links, as opposed to multi-hop communications seen in most conventional WSNs. One big challenge facing WSN-UAVs is that such systems must adopt a medium access control (MAC) protocol that guarantees high network throughput, low energy consumption, and small time intervals for sending data. 2
There are various MAC layer protocols proposed for sensor networks. The Sensor MAC (S-MAC) protocol,
3
for instance, exploits the idea of synchronization intervals that are managed at cluster level and periodic sleep–listen schedules are set in accordance with the synchronization. Neighboring nodes that form a virtual cluster can set up a common sleep schedule. If two neighboring nodes reside in two different virtual clusters, they wake up only at the listen periods of both clusters. As sensor nodes in S-MAC have to follow two different schedules, extra energy consumption caused by idle listening and overhearing is unfortunately unavoidable. Timeout-MAC (T-MAC)
4
was later proposed to overcome the performance problem of the S-MAC under variable traffic loads. In T-MAC, synchronization during the listen periods within virtual clusters is broken, one of the main reasons causing the early sleeping problem. Similar to S-MAC and T-MAC, routing enhanced duty-cycle MAC (RMAC)
5
also divides the operational cycle of a sensor node into three periods:
P-MAC 6 considers cross-layer optimization with the goal of minimizing the communication overhead and maintaining the superiority of duty-cycling. It divides all the sensor nodes into different grades according to their logic hop distances to the sink. The lower a node’s grade, the fewer hops it needs to send its packets to a fixed data sink. As P-MAC, like S-MAC, T-MAC, and RMAC, does not consider changing network deployment situations, it is not a suitable scheme for a WSN system that includes a mobile data sink like a UAV.
As a sharp contrast to S-MAC, T-MAC, RMAC, and P-MAC, opportunistic Aloha (O-Aloha) 8 is a scheme that incorporates channel state information into the Aloha protocol for sensor network with mobile agent. 9 Each sensor estimates its fading state during the period when the mobile agent transmits a beacon. The node then flips a biased coin. If the outcome is “head,” the node transmits its packet. Otherwise, the node is silent for the current slot and restarts this process in the next slot. Although all the nodes use the same probability mass function, as they experience different fading conditions, the transmission probability of one node can be significantly different from that of others. There are lots of researches following O-Aloha scheme in the field of cross-layer design for WSN.10–18 Furthermore, O-Aloha has been successfully adopted in other various wireless networks.19–22
In Ho et al.,7,23 a code division multiple access (CDMA)-based MAC protocol is dedicated for WSN-UAV systems. As this scheme only allows a limited number of active sensors to transmit their data at a given time, the total amount of time to complete data collection tends to be quite large, and there is no guarantee that each sensor will have an opportunity to send its data to the UAV even after all the transmission time windows have expired. Another big problem of this CDMA-based MAC and all the other aforementioned protocols is that they fail to deliver the uniformity of data collection. As a UAV needs to fly around to collect sensor data, and sensor nodes are typically not uniformly distributed on the ground, in the area where sensors are densely distributed, there is a high probability that data collision will happen, while in area where sensors are loosely distributed, UAV may not have sufficient data to collect. Either way, the UAV may have to make multiple flight trips to collect the right amount of data, causing a longer delay and higher power consumption.
To overcome the aforementioned problems, a new CDMA-based MAC protocol in the UAV-WSN systems is proposed in this article, where distribution density of sensors is considered to improve the system performance. Referred as adaptive-opportunistic Aloha (AO-Aloha), the proposed MAC protocol uses a Slot-Aloha like beaconing and adaptive priority–based channel assignment for channel allocation and collision avoidance. Each sensor node estimates its fading state during the period when the UAV transmits a beacon. In the beacon stage, head slots are assigned to the sensor nodes. During this period, a node that needs to communicate with the UAV transmits its head packet to the UAV for channel allocation and priority assignment. Nodes are partitioned in the mesh area by their locations. Priority of the node is assigned based on the node density of the area that the node belongs to. If a node in an area has a small number of nodes, this node will be assigned with a higher priority. If there is an unoccupied channel, the node that has the highest transmission priority will be allowed to claim the channel and then transmit its data packets to the UAV; all other nodes have to go back to silent mode for the remaining current slot and restart the process in the next slot. When two or more nodes have the same transmission priority, the transmission probabilities of these sensor nodes can still be different by taking into account the channel fading conditions.
The reminder of this article is organized as follows. Section “UAV-WSN system and models” introduces the UAV-WSN system as well as various models concerning the communications and energy consumption in such a system. The proposed AO-Aloha protocol is detailed in section “AO-Aloha: a CDMA-based MAC protocol for UAV-WSN systems,” followed by theoretical analysis on AO-Aloha’s bit error rate (BER) and throughput in section “Performance analysis.” Section “Simulation result” presents the simulation results of the proposed protocol. Finally, conclusions are drawn in section “Conclusion.”
UAV-WSN system and models
Communication model for UAV-WSN systems
Assume that wireless sensors are randomly deployed in the area, as depicted in Figure 1. Flying horizontally with constant speed of

Sensors deployed on the ground and the UAV.

The ground sensors within a circular region can communicate directly with the UAV. The sensors and the UAV form a communication cone, where the UAV is at the vertex, the base circle has a radius of
Assume that there are
Typically,
Packet error rate model for UAV-WSN systems
According to Venkitasubramaniam et al., 8 the system packet error rate (PER) of a UAV-WSN system, denoted as, is given as
where
where
Energy and operation models for UAV-WSN
We assume that the physical layer uses direct sequence CDMA with a spreading gain of
where
According to LEACH,
24
the power consumed per second by a sensor node that transmits data
and power consumed per second by a sensor node that receives data, denoted as
Here,
Albeit cycling through the two operating modes, the sleep mode and the work mode, to save energy, sensors are predominately in the sleep mode, and they will be woken up only after they receive a wake-up beacon signal from the UAV. After completing their data transmission to the UAV, nodes will quickly go back to the sleep mode again. Assume that the UAV’s antenna points downward when transmitting and receiving data packets and the sensors that can communicate with the UAV form a circle. Together the UAV and these sensors right below it form a communication cone. The sensors within a communication cone turn to be active and all of them are able to communicate with the UAV. Assume that the UAV contentiously send out beacon signals which serve dual purposes, synchronizing with the sensors and waking up sensors in the sleep mode. In essence, when a sensor receives a beacon, it transitions to the work mode and uses the received signal to estimate the uplink channel condition.
Transmission control
The uplink between the
where
While for
AO-Aloha: a CDMA-based MAC protocol for UAV-WSN systems
Packet formats
In AO-Aloha, there are four types of packets, namely, the Wake_Up packets, Sensor_Head packets, Slot_Allocate packets, and Sensor_Data packets, as shown in Figure 3. Serving as a beacon signal, a Wake_Up packet includes a 2-bit pkt_type field that is used to define the packet type. A Sensor_Head packet has a Sensor_ID field and three location fields (Loc_x, Loc_y, and Loc_z) that together geometrically determine the location of a sensor node. A Slot_Allocate packet can have multiple Sensor_ID fields and multiple TS_TIME fields, each of which is 32 bits long. Every TS_TIME field corresponds to the allocated time that a sensor node can send its data to the UAV. A Sensor-Data packet has one Sensor_ID field and one Sensor_Data field; the sensor node with its id specified in the Sensor_ID field puts its data to be transmitted into the Sensor_Data field.

The formats of the four packet types in AO-Aloha.
Message flow and timing diagram
In UAV-WSN, increasing beacon interval leads to a larger guard time and longer idle listening due to clock drift. This is because the guard time has to be large enough to accommodate the synchronization errors, while these errors are affected by the frequency deviation (skew) between two clocks and thus accumulated over time. Therefore, a longer beacon interval will lead to larger synchronization errors and hence a larger guard time is necessary. It has to be avoided as UAV performing data collection is timing critical task.
To avoid this problem, beacon interval is not increased in our protocol compared with the one used in O-Aloha,
8
as shown in Figure 4. Instead of two types of slots (the beacon slot and the data slot) as defined in O-Aloha in Figure 4(a), there are actually three types of slots in AO-Aloha, namely, the beacon slot, head slot, and data slot in Figure 4(b). For the proposed protocol, one data session is divided as multiple slots. Slot time is set to be equal to one time unit and slot

A data transmission session undergoes several intervals: (a) O-Aloha and (b) AO-Aloha.
A data transmission session begins with a handshake. At the beginning of each slot, the UAV transmits a beacon, and this beacon is used by each sensor to estimate the down link (from the UAV to itself) propagation gain. In the same token, the uplink propagation gain from the sensor to the UAV can also be estimated. In the following head slot, the sensor node sends a Sensor_Head packet to request a slot that the sensor node can send its data. During the data transmission period, each sensor transmits its data with a scheduler of
The detailed data transmission process is given as following, as shown in Figure 5. The UAV sends a few Wake_Up packets to all the sensor nodes within its communication cone. Those sensor nodes who received the Wake_Up packets designated to them will wake up and transition to the work mode from the sleep mode. Each of the sensor nodes in the work mode sends a Sensor_Head packet back to the UAV to request slots for data transmission. In response to a particular sensor node’s request, the UAV sends a slot allocation packet which includes a CDMA code that the sensor node can use for data transmission. After the sensor node receives this Slot_Allocate packet, it will send its Sensor_Data packets at the next available data slot. As sensor nodes have been assigned unique CDMA codes through Slot_Allocate packets, data collisions can be avoided when sensor nodes send their data in the data slots. After a sensor node finishes sending its Sensor_Data packets, it returns to the sleep mode.

Data transmission process.
Priority mechanism and admission control
In the AO-Aloha protocol, a queue is used to store the IDs of the sensor nodes residing in the same sector, and every queue is assigned with a priority based on its own counter’s value. The counter of a queue counts the number of the sensor nodes in a sector that have sent head packets to the UAV; priority of a queue is set as the reciprocal of its counter value, indicating that higher (lower) priority is assumed for the sensors that belong to the sectors with a smaller (larger) number of sensor nodes. As time goes by, the priorities can be altered to better reflect the traffic condition in the network. When the UAV needs to assign data slots to the sensor nodes, it selects the sensor nodes from the different queues according to their priorities in descending order.
Figure 6 shows the process how sensor nodes are admitted into the queues. As the communication area is divided into

Flow diagram regarding how the ID of a sensor node is inserted into a queue in the UAV.
To avoid this problem, call-blocking method 25 is used:
When a head packet from a sensor node as a call is arrived, UAV may not find space for its ID in the full queue. Therefore, the call has to compete with new calls for the free channels. However, network congestion can occur due to too many arriving calls, which can result in the call still being not served.
New-Call-Blocking: If a new call cannot find free channels, it will be immediately blocked.
Performance analysis
In this section, performance of the proposed protocol measured by throughput and PERs is discussed.
Throughput
System throughput is a function of channel condition. The unconditional probability of transmission is given by
where
where
Assume there are
Sensors can randomly choose one of the orthogonal codes
where
Distribution of the sensors
At the
The expectation of this variance over time
Simulation result
In our experiments, we randomly distribute 50–150 sensor nodes in an area of 350 mm×350 mm. All the simulation parameters are summarized in Table 1. Each data frame is divided into five slots for sensor nodes to send their data. The system performance will be evaluated in terms of bit error rate, collision rate, and packet loss rate.
Simulation parameters.
UAV: unmanned aerial vehicle; CDMA: code division multiple access; BPSK: binary phase shift keying.
A comparison is made between the proposed protocol and the best known UAV-WSN MAC protocol, the O-Aloha. 8 Like AO-Aloha, each sensor in the O-Aloha network uses estimate of the wireless links between the UAV and itself to set up the probability of sending its data. O-Aloha, however, does not have the “handshaking mechanism” as AO-Aloha protocol does.
Figure 7 features two curves that represent the relationship between the delay and the throughput of the O-Aloha and AO-Aloha protocols, respectively, when there are a total of four CDMA codes available for data transmission. One can see that the throughputs of using the two protocols are nearly in par at 5 s. After around 55 s when the communications are stabilized, throughput of the AO-Aloha is 36.8% higher than that of the O-Aloha. It is also shown that AO-Aloha needs more time to reach a stable throughput than O-Aloha, as in AO-Aloha, extra time is needed for the handshaking between the UAV and the sensors. Because length of a SENSOR_HEAD packet is much shorter than that of a SENSOR_DATA packet, the portion of sending a head packet in one time interval is small. Although more time is spent at the beacon slot in AO-Aloha than O-Aloha, throughput can quickly pick up in the next data slot. The number of packets for per second received at the UAV is less than 3. These results agree well with the performance estimate as predicted by equation (14) given in section “Performance analysis.”

The throughputs of UAV-WSN systems using the two MAC protocols; the number of CDMA codes is 4.
When there are more CDMA codes, AO-Aloha needs to run through a longer transient time to reach its throughput equilibrium. Even so, as shown in Figure 8, where the number of the CDMA codes is set to 8, throughput of using AO-Aloha is still 39.5% higher than that of using O-Aloha.

Throughputs of the two protocols when the number of CDMA code is 8.
In Figure 9, the number of the sensor nodes is set to be 100, twice as that in Figures 7 and 8. Compared with Figures 7 and 8, it can be seen that when the number of the sensors increases, the throughput of AO-Aloha is more than doubled as that of O-Aloha.

The throughputs of the two protocols when the number of sensor nodes is 100.
As the number of sensor nodes increases, the probability of data collisions in the communication channel is higher. The results have demonstrated that the AO-Aloha protocol can effectively avoid most of the data collisions when compared with O-Aloha.
In Figure 10, the BERs of the system are presented when the number of sensors is 50, 100, and 150, respectively. It can be seen that, when the number of sensors is small, the BER of the whole system is small, and the system BER increases with the increase in the number of sensors. When there are 100 sensors, the system BER level goes up by 20%. Same trend can be observed for the case when the number of sensors is 150. The BER is quite large when the UAV just enters the sensor area. After some time, when the UAV deeply penetrates into the sensor area, the BER becomes stabilized.

The BER comparison in different number of the sensors.
In Figure 11, the BERs are given for the cases when the flight heights are 45, 90, and 135 m, respectively. The number of sensors in all these cases is set to be 150. The results have shown that the BER increases with the increase in the UAV height. The flight height has greater influence on the BER than the number of sensor nodes.

The BER comparison in different heights of the sensors.
We also ran an experiment to test uniformity of data collection. In this experiment, we randomly distribute 420 sensor nodes over an area of 450 mm×450 mm, as shown in Figure 12. Apparently, certain regions are more densely populated than the others. Out of the 420 sensor nodes, according to the simulation, 320 sensor nodes have successively transmitted data to the UAV, as shown in Figure 13. Those that did not send data packets are absent from Figure 13 for clarity. One can see that these 320 nodes are fairly uniformly distributed, as evidenced by the three randomly drawn cycles with an average node count of 6.

Distribution of the sensor nodes (420 in total).

Sensor nodes that have transmitted data to the UAV (320 in total).
In Figure 14, average residual power of node versus number of rounds by AO-Aloha and O-Aloha are given. For instance, in the first round, average residual power of node by AO-Aloha and O-Aloha is 0.5 and 0.38 J, respectively. Overall speaking, power consumption of AO-Aloha is 46% less than that of O-Aloha as AO-Aloha can be adaptively selected to perform data collection according to the sensor density.

Average residual power of nodes versus number of rounds.
Conclusion
In this article, AO-Aloha, a CDMA-based MAC protocol for UAV-WSN systems, was proposed, which considers the uniformity of data collection, energy consumption, and transmission efficiency. Priority-based data collection mechanism ensures that uniform data collection across the area is covered by the ground sensor nodes that are typically distributed in a random fashion. To improve energy efficiency, the sensor nodes are put into the sleep mode when they do not need to send data to the UAV, and they will be shortly woken up by a beacon signal from the UAV for data transmission. System throughput is enhanced by including a handshake into every time interval of transmission. Simulation results have confirmed that our protocol has a significant higher throughput (30% or higher) than O-Aloha protocol under different scenarios.
