Keywords

1 Introduction

With the rapidly increasing data from more and more sensor nodes in wireless sensor networks (WSNs), there is a rising demand for a higher transmission rate over the whole wireless network [1]. This situation can be solved by introducing the cooperative communication technique to WSNs. The cooperative communication can improve throughput and decrease the transmission time by acquiring the space diversity gain. The 2rc-MAC protocol [2] makes use of two cooperative relays to achieve better throughput and delay performance. This improves throughput while guaranteeing transmission reliability. In RCF-CMAC Protocol [3], source node preselects two optimal candidate relays through its local relay information table, and sets different priorities to them in cooperative request-to-send (C-RTS) packet according to relay efficiency which reflects the level of its saved time, but it does not consider the channel condition and transmission power. ORS-MAC protocol [4] takes MAC overhead caused by retransmission into consideration. CoopMAC [5] similarly attempt to increase transmission rates by a high-date-rate relay. That is to say, a high-data-rate node is employed to help a low-data-rate node to transmit data packet. The design of high transmission rate medium access control (MAC) protocols and the issue of multiple rates has become a research hotspot, and more and more researches pay attention to these aspects.

Giving preference to those nodes with optimal channel quality under the condition of high transmission rate in a multiple-rate situation is our motivation to design the TRO-CMAC protocol. The protocol uses two-hop links with a high transmission rate to replace one low-rate hop to enhance the network throughput. Taking channel condition and novel access methods into consideration effectively reduce the interference and avoid the collision.

The rest of the article is organized as follows. In Sect. 2, we introduce the network model. TRO-CMAC protocol with relay selection algorithm is shown in Sect. 3. The simulation results is presented in Sect. 4, and the conclusion is given in Sect. 5.

2 Network Model

This article investigates a typical WSNs, and nodes placed randomly in a circle with a radius of 100 m, which is the communication range. Each node is a half-duplex transceiver. As shown in Fig. 1, it’s assumed that the transmission rates are 1, 2, 5.5 or 11 Mbps respectively, which corresponds the range of r1, r2, r5.5 or r11 under the condition that Bit Error Rate (BER) is not less than 10−5. The relation between the data rates and the ranges is listed in Table 1 [5]. The nodes in regions 1 and 2 can transmit at high rates (e.g., nodes A and B (11, 5.5 Mbps)), while those in regions 3 and 4 are low rate nodes (e.g., nodes C and D (2, 1 Mbps)). In this paper, we use S, R and D represent sender, relay and recipient, while Rsr, Rrd, Rsd and Gsr, Grd, Gsd denote as the data transmission rate and channel-gain between the S and R, R and D, S and D, respectively [3].

Fig. 1.
figure 1

Network model

Table 1. Physical model table (path loss exponent = 3).

3 TRO-CMAC Protocol

3.1 Relay Information Table (RIT)

Each node should have a relay information table (RIT) that maintain the information about potential relays. It can be used to select a better relay for a transmission process. Due to the broadcasting specialty of wireless communication, RIT can be created and updated by overhearing all ongoing transmission of neighbor nodes. For example, S always passively listen both control frame and data frame of R and D, of which locate in the communication region, while R is corresponding with D.

The information contained in the RIT is described in Table 2. The first column is the ID field, which stores the MAC address of the potential relay. The next column is the Time field storing the time of the last frame transmission. As it is shown below, Rsr and Rrd store the data rate from R to D, and from S to R, respectively. Both of them can be estimated by signal noise ratio (SNR) of cooperative request-to-send (C-RTS) frame and cooperative clear-to-send (C-CTS) frame. The last column in Fig. 2 is Num of Failures field, counts the number of transmission failures. When the counter expires, which is defined to 3 in our protocol, the related information of this relay will be removed from the RIT. The value of Num of Failures is incremented after every failed transmission process in cooperative mode, and this value will be reset to zero after a successful transmission. Each of these relays is updated timely to reflect the current channel status.

Table 2. Relay information table.
Fig. 2.
figure 2

NAV settings in TRO-CMAC

A relay will be stored in the RIT if it satisfies the inequality below:

$$ \frac{1}{{R_{sr} }} + \frac{1}{{R_{rd} }} > \frac{1}{{R_{sd} }} $$
(1)

where Rsd, which can be extracted from corresponding field of C-CTS frame, is the rate for direction mode between S and D. If these three parameters Rsr, Rrd and Rsd satisfy the inequality, it means that the cooperative transmission with high transmission rates can replace the direct transmission with low transmission rate, moreover, these nodes which meet the inequality may bring some performance enhancement.

3.2 TRO-CMAC Protocol and Relay Selection Algorithm

The sender S detects channels’ status when S has data to transmit. It should have been waiting until the channel is idle or available. Our proposed TRO-CMAC seeks two best relays as preselected relay from RIT.

Obviously, the bigger rate is, the better relay selects. When many relays have the same value of rate, the one with better channel condition will be selected as the cooperative relay. If only one relay exists in the RIT, thus, it is necessary for the cooperation. Otherwise, the direct transmission mode will be chosen.

The exchange of control message in TRO-CMAC and the opposite NAV settings are depicted in Fig. 2. The corresponding frame format shows in Fig. 3.

Fig. 3.
figure 3

Frame format

Operation in the Sender S

  • If there is more than one data frame in the buffer queue, S will attempt to transmit. After ending its back-off time, S inserts the ID information of the preselected relays (at least one relay) into the C-RTS frame (shown in Fig. 3) and sends it to D. Otherwise, if no suitable relay can be chosen as the relay node, S will adopt direct transmission mode. Similar to that in IEEE 802.11. S sends C-RTS and sets Network Allocation Vectors (NAVs) in the duration field of C-RTS frame as follows:

    $$ NAV = 6SIFS + T_{C - CTS} + 2T_{RTR} + t_{2} + T_{TPO} + \frac{{L_{data} }}{{R_{sr} }} + \frac{{L_{data} }}{{R_{rd} }} + T_{ACK} $$
    (2)

    where SIFS is Short Inter-frame Space, TC-CTS, TRTR, TTPO and TACK are the overhead of sending C-CTS frame, RTR frame, TPO frame and ACK frame, respectively. ti is the delay time of sending ith RTR frame, and relevant detail is in Sect. 3.3.

  • Due to a collision, if either a C-CTS frame (shown in Fig. 3) or a RTR frame (shown in Fig. 3) is not received after a desired time, S will go into a regular back-off for a retransmission.

  • If C-CTS and RTR frames are successfully received, the sender transmits data to the relay R at the rate of Rsr.

  • If an ACK is received from D, this transmission is successful. Then it continues transmitting residual data in the buffer queue. Otherwise, this transmission fails and the sender should perform back-off.

Operation in the Relay R

  • If both a C-RTS frame and a C-CTS frame are received, all neighbor nodes interpret them by overhearing. And then the two preselected relays contend to relay by their priority and channel condition. In addition, Gsr and Grd should also be calculated by SNR in this process, indicating the timely obtained channel state information (CSI) between S and R, and between R and D, respectively. The winning relay sends RTR frame, while other nodes set NAV according to NAV (RTR), it defines below:

    $$ NAV = t_{2} - t_{1} + T_{RTR} + SIFS $$
    (3)
  • As soon as the winning relay receives the data from S, it forwards the data to D at the rate of Rrd specified in RTR frame.

  • The transmission is successful if ACK is received. Otherwise the relay tries to retransmit the data after a random back-off.

Operation in the Recipient D

  • If a C-RTS frame is received, the recipient D replies a C-CTS frame at the rate of Rsd. What’s more, Gsd should also be calculated by SNR in this process, indicating the timely obtained channel state information (CSI) between S and R. It sets NAV in the duration field of C-CTS frame as follows:

    $$ NAV = 5SIFS + 2T_{RTR} + t_{2} + T_{TPO} + \frac{{L_{data} }}{{R_{sr} }} + \frac{{L_{data} }}{{R_{rd} }} + T_{ACK} $$
    (4)
  • After receiving a RTR frame from winning relay, and the winning relay R, then D wait for the data from R. Otherwise, it choose the direct transmission mode.

  • When the data is successfully received, D replies an ACK frame to S.

3.3 Access Method of Cooperative Node

For decreasing the interference and the collision probability, the node with high-quality channel should have priority to access. The energy of once data transmission EPKTi shows below:

$$ E_{PKTi} = \left( {P_{s} + P_{r} } \right) \times L/\left( {2RB} \right) $$
(5)

where L is data packet length, B is bandwidth, and R is the bandwidth utilization. The sender transmits the data packets using the optimized transmission power Ps and cooperative relay R forwards the data packets using the optimized transmission power Pr. According to Shannon’s theorem, the specific formulas are as follows.

$$ P_{s} = \frac{{\left( {2^{2R} - 1} \right)N_{0} }}{{\left\| {G_{sr} } \right\|^{2} }} $$
(6)
$$ P_{r} = \left( {2^{2R} - 1} \right)N_{0} \frac{{\left\| {G_{sr} } \right\|^{2} - \left\| {G_{sd} } \right\|^{2} }}{{\left\| {G_{rd} } \right\|^{2} \left\| {G_{sr} } \right\|^{2} }} $$
(7)

where N0 is the Gaussian white noise power.

Formulas (6) and (7) make EPKTi obtain the minimum value. The better quality of channels, the smaller value of EPKTi. Each node ordered by the time of sending RTR that should be consistent with the sequence of EPKTi, the access delay tri for ith relay shows below:

$$ t_{i} = \frac{{E_{PKTi} }}{{2P_{\hbox{max} } \frac{L}{2RB}}}T_{W} $$
(8)

where TW is the longest time that waiting for nodes to access.

Each node calculates the access delay ti and starts to wait, respectively. Meanwhile, nodes overhear the state of channel, the node decreases the time counter when it hears that channel is idle, and it sends the RTR frame to recipient D when the time counter decreases to zero.

4 Performance Evaluation

4.1 Simulation Environment

Assuming that all nodes in the network are randomly distributed in a circle with a radius of 100 m. Each node generates data packets with a fixed length according to a Poisson distribution with the arrival rate. The wireless channel is a common Rayleigh fading channel and the path loss exponent is 3. In order to guarantee that the transmission rates from the sender to its recipient are the same in different protocols, if the direct transmission is used, the bandwidth utilization is R, and if the cooperative transmission is used, the bandwidth utilization is 2R. The default value of R is 2 bit/s/Hz. Table 3 gives the default parameter settings used in the simulation.

Table 3. Parameter settings.

4.2 Performance Metrics

We propose three performance metrics to evaluate the TRO-CMAC protocol, including saturation throughput (Sc), average packet delay (Dc) and packet dropping ratio (pd). Sc is defined as the average data transmission rate. Dc is defined as the average duration of a packet from generation to getting sent. pd is the ratio of discarded packets to total existing packets. The relevant formulas are as follows.

$$ S_{c} = \frac{{L_{PKT} \times N_{success} }}{{t_{sim} }}, $$
$$ D_{c} = \frac{{\sum\limits_{i = 1}^{{N_{success} }} {D_{i} } }}{{N_{success} }}, $$
$$ p_{d} = \frac{{N_{failure} }}{{N_{failure} + N_{success} }}. $$
(9)

where LPKT is the length of a data packet, Nsuccess is the number of packets that are sent successfully, Nfailure is the number of dropped packets owing to collisions, tsim is the simulation duration, and Di is the delay of the ith packet.

4.3 Simulation Results

We compare our proposed TRO-CMAC protocol with RCF-CMAC and 2rcMAC in a one-hop situation that only consists of three terminals (sender, relay and recipient).

Figure 4 shows the throughput comparison of TRO-CMAC, RCF-CMAC and 2rcMAC protocols when varying the number of nodes N in the network and packet arrival rate. The data packet length LPKT is set to 1024 bytes. It is obvious that the throughput of our proposed TRO-CMAC is always much higher than RCF-CMAC and 2rcMAC protocols. This is because we take channel gain and collision avoidance into consideration, TRO-CMAC selects the best relay to participate in the transmission, enhancing the throughput markedly. The throughputs of all protocols increase with the increase of packet arrival rate, and the throughput reaches a peak when the network is almost saturated. In addition, the throughput of 100 nodes reaches the peak earlier than 50 nodes. This is because more data packets can be transmitted in a fixed time when N increases, meaning that a larger number of nodes N accounts for a higher throughput when the network is unsaturated.

Fig. 4.
figure 4

Throughput

Figure 5 shows the delay of all protocols under a serious of different packet arrival rates. When the packet arrival rates is small, the delay of TRO-CMAC is nearly zero. A sharp rise generates when the traffic load is more than 500, the reason to this case is that the throughput is saturated. When the network is saturated, packet dropping ratio is increased sharply. Figure 6 shows the packet dropping rate of all protocols under a serious of different packet arrival rates. The dropping rate of our proposed TRO-CMAC is lower than RCF-CMAC and 2rcMAC protocols with the consideration of channel quality and collision avoidance.

Fig. 5.
figure 5

Delay

Fig. 6.
figure 6

Packet dropping rate

5 Conclusion

In this paper, we have proposed a transmission rate optimized cooperative MAC protocol for WSNs. The performance is enhanced significantly by introducing TRO-CMAC mechanism, relay selection algorithm and the novel access method into this protocol. We preselect two candidate relays for a cooperative transmission from the RIT, then choose the best relay for the three terminals (sender, relay and recipient) by the relay selection algorithm. Our simulation results have demonstrated that TRO-CMAC can obviously improve the performances comparing with RCF-CMAC and 2rcMAC protocol.