Keywords

1 Introduction

The current progress in the field of wireless technology allows to develop small size sensors called nodes, communicating with each other via a radio link and are characterized by their limited resources (energy supply; processing, memory storage). Their flexibility of use makes them more utilized to form a wireless sensor network (WSN) without returning to a fixed infrastructure. Furthermore, these nodes typically deployed in inaccessible areas to control a definite phenomenon, ensure the transfer of data collected using a multi-hop routing to a base station (BS), which is far from the monitored field. The BS is responsible for the analysis and processing of collected data to be exploited by the end user.

Based on the above observations, for a WSN to accomplish its function without failure of the connection between the nodes, because of a depleting battery of one or more nodes, we need a data routing protocol which gives higher priority to the energy factor compared to other limitations, in order to provide stability of the network. At this point, many studies have been made; the most known ones are based on the MIMO technologies. However, the node cannot carry multiple antennas at the same time due to its limited physical size. Therefore, a new transmission technique called “Cooperative MIMO” has been proposed [3]. This technique is based on the cooperation principle where the existence of different nodes in the network is exploited to transmit the information from the source to a specific destination by virtually using the MIMO system [4]. The Cooperative MIMO allows to obtain the space-time diversity gain [5], the reduction of energy consumption [6], and the enhancement of the system capacity [7].

In this paper, we would like to investigate cooperative virtual MIMO and multi-channel for cluster based WSNs, with the objective of maximizing the network lifetime and enhance the network throughput simultaneously. We first introduce a novel approach to grouping sensors into clusters and electing cooperative MIMO links among clusters on such that intra-cluster messages are transmitted over short-range SISO links, while inter-cluster messages are transmitted over long range cooperative MIMO links [8]. Each cluster head selects one or multiple cluster members using a weighted link function to form a MIMO array together with itself. To transmit a message to a neighboring cluster, the cluster head first broadcasts the message to other members in the MIMO array. The MIMO array then negotiates the transmission scheme with the MIMO array in the neighboring cluster, encodes and sends the message over the cooperative MIMO link between them. Second, adjacent clusters and cooperative MIMO links have different channels assignment to avoid collision, that’s allows multiple simultaneous transmissions and hence an increase of the network throughput. Theoretical analyses show that, we can achieve high energy efficiency by adapting data rate and transmission made (SISO, SIMO, MISO, MIMO) [9]. Simulation results have proved that the proposed scheme can prolong the sensor network lifetime greatly, especially when the sink is far from the sensor area.

The remainder of the paper is organized as follows. Section 2 describes the related work. Section 3 describes energy efficiency of MIMO Systems. Section 4 describes the proposed network architecture and the total energy consumption of the proposed architecture. Section 5 describes the simulation and results. Finally, Sect. 6 concludes the paper and provides directions for future work.

2 Related Work

In the literature, several studies have been made in this research area; we just cite certain remarkable examples:

In [1] Cui et al., proposed MIMO systems based on Alamouti diversity schemes. They extend this energy-efficiency analysis of MIMO systems to individual single-antenna nodes that cooperate to form multiple antenna transmitters or receivers. By maintaining the proper constellation (bits per symbol) size, MIMO can outperform SISO (Single Input Single Output) after a certain distance.

According to [7] Belmega et al., the Multi-Input Multi-Output (MIMO) systems are more energy efficient than SISO systems if only consumed energy is taken into account. However, when the circuitry energy consumption is also considered, this conclusion is no longer true.

In [2] Cui et al., have investigated the best modulation strategy to minimize the total energy consumption required to send a given number of bits for uncoded systems, by optimizing the transmission time and the modulation parameters they have proved that up to 80 % energy saving is achievable over non-optimized systems. And for coded systems, the benefit of coding varies with the transmission distance and the underlying modulation schemes.

In [9] Sajid et al. have proposed a Virtual (MIMO) routing for WSNs. In which they have investigated virtual MIMO for fixed and variable rates. Their simulation results show that virtual MIMO based routing is more energy efficient as compared to SISO for larger distances.

3 Energy Efficiency of MIMO Systems

3.1 System Model

In our protocol we use the system model proposed in [1], The resulting signal paths on the transmitter and receiver sides are shown in Figs. 1 and 2, respectively, where Mt and Mr are the numbers of transmitter and receiver antennas, respectively, and we assume that the frequency synthesizer (LO) is shared among all the antenna paths. Based on the number of transmitters and receivers, we may get the following combinations: MIMO (multiple input multiple output), SIMO (single input multiple output), MISO (multiple input single output), and in SISO case (single input single output) Mt = 1 and Mr = 1.

Fig. 1.
figure 1

Transmitter circuit blocks (Analog)

Fig. 2.
figure 2

Receiver circuit blocks (Analog)

Based on [1], the total average energy consumption of MIMO transmission in WSNs includes two parts: the power consumption of all power amplifiers PPA and the power consumption of other circuit blocks PC. The transmitted power is given by

$$ {\text{P}}_{\text{out}} = {\bar{\text{E}}}_{\text{b}} {\text{R}}_{\text{b}} .\frac{{(4\uppi)^{2} {\text{d}}_{{{\text{i}},{\text{j}}}}^{{{\text{k}}_{{{\text{i}},{\text{j}}}} }} }}{{{\text{G}}_{\text{t}} {\text{G}}_{\text{r}}\uplambda^{2} }} {\text{M}}_{\text{l}} {\text{N}}_{\text{f}} $$
(1)

where Ēb is the required energy per bit at the receiver for a given BER requirement, Rb is the bit rate, di,j is the distance between nodes i and j, ki,j is the path loss factor from node i to j, Gt is the transmitter antenna gain, Gr is the receiver antenna gain, λ is the carrier wavelength, Ml is the link margin and Nf is the receiver noise figure given by Nf = Nr/N0 where N0 is the single-sided thermal noise power spectral density and Nr is the power spectral density of the total effective noise at the receiver input.

The power consumption of the power amplifiers is dependent on The transmitted power Pout and can be approximated as

$$ {\text{P}}_{\text{PA}} = \left( {1 +\upalpha} \right){\text{P}}_{\text{out}} $$
(2)

where \( \upalpha = \left( {\frac{\upxi}{\upeta} - 1} \right) \) with η the drain efficiency of the RF power amplifier and ξ the peak-to-average ratio.

The power consumption of the circuit components is given by

$$ {\text{Pc}} = {\text{M}}_{\text{t}} \left( {{\text{P}}_{\text{DAC}} + {\text{P}}_{\text{Mix}} + {\text{P}}_{\text{filt}} + {\text{P}}_{\text{syn}} } \right) + {\text{M}}_{\text{r}} \left( {{\text{P}}_{\text{LNA}} + {\text{P}}_{\text{mix}} + {\text{P}}_{\text{IFA}} + {\text{P}}_{\text{filr}} + {\text{P}}_{\text{ADC}} + {\text{P}}_{\text{syn}} } \right) $$
(3)
$$ {\text{Pc}} = {\text{M}}_{\text{t}} {\text{P}}_{\text{ct}} + {\text{M}}_{\text{r}} {\text{P}}_{\text{cr}} $$
(4)

where PDAC, Pmix, PLNA, PIFA, Pfilt, Pfilr, PADC, and Psyn are the power consumption values for the DAC, the mixer, the Low Noise Amplifier (LNA), the Intermediate Frequency Amplifier (IFA), the active filters at the transmitter side, the active filters at the receiver side, the ADC, and the frequency synthesizer, respectively. The total energy consumption per bit according to [1] is given by

$$ {\text{E}}_{\text{bt}} = \frac{{\left( {{\text{P}}_{\text{PA}} + {\text{P}}_{\text{C}} } \right)}}{{{\text{R}}_{\text{b}} }} $$
(5)

3.2 Variable-Rate Systems

Using MQAM modulation scheme, the constellation size b can be defined as b = log2M Further, we can define constellation size in terms of number of bits L, Bandwidth B, and duration radio transceiver is on Ton, and data rate Rb (bits/second) [1].

$$ {\text{b}} = \frac{\text{L}}{{{\text{BT}}_{\text{on}} }} = \frac{{{\text{R}}_{\text{b}} }}{\text{B}} $$
(6)
$$ {\text{R}}_{\text{b}} = \frac{\text{L}}{{{\text{T}}_{\text{on}} }} $$
(7)

The total energy consumption for Variable-rate Systems per bit according to [1] is given by Eq. (8), where \( {\bar{\text{P}}}_{\text{b}} \) is the average bit error rate.

$$ E_{bt} = \frac{2}{3}\left( {1 + \alpha } \right)\left( {\frac{{\bar{P}_{b} }}{4}} \right)^{{\frac{ - 1}{{M_{t} }}}} \frac{{2^{b} - 1}}{{b^{{\frac{1}{{M_{t} }} + 1}} }}M_{t} N_{0} \frac{{(4\pi )^{2} {\text{d}}_{{{\text{i}},{\text{j}}}}^{{{\text{k}}_{{{\text{i}},{\text{j}}}} }} }}{{G_{r} G_{t} \lambda^{2} }}{\text{M}}_{\text{l}} {\text{N}}_{\text{f}} + \frac{{ P_{C} }}{Bb} $$
(8)

Based the Eq. (8) the optimal constellation sizes for different transmission distances are listed in Table 1.

Table 1. Optimized constellation size

4 The Proposed Protocol

4.1 Clustering Algorithm

The cluster formation and cooperative MIMO link selection state consists of five steps:

  1. (1)

    1-hop neighbor discovery step, in which each node broadcasts its residual energy to 1-hop neighbors

  2. (2)

    1-hop weight discovery step, in which each node calculates and broadcasts its weight to 1-hop neighbors

  3. (3)

    cluster formation step, in which clusters are constructed based on the information received in 1-hop weight discovery step

  4. (4)

    cluster neighbor discovery step, during which each cluster member notifies its cluster head about the cluster information of all its 1-hop neighbors such that the cluster head knows all its neighboring clusters and which nodes are adjacent to them

  5. (5)

    cooperative MIMO link selection step, in which each pair of neighboring clusters select the optimal cooperative MIMO links for inter-cluster communications;

The details of these steps are discussed in the following subsections.

  1. 1.

    1-hop neighbor discovery step

In this step, each node broadcasts a message including its residual energy (RE) to its 1-hop neighbors once receiving a RE message from a neighbor, a node adds an entry to its 1-hop neighbor list including the neighbor’s residual energy and the estimated distance.

  1. 2.

    1-hop weight discovery step

In 1-hop weight discovery step, the weight of each node is calculated and broadcast to 1-hop neighbor. Also as part of optimizing the energy resources of a WSN, it will be better to affect the CH role to a node with high residual energy and small average intra-cluster distance. In this regard, the weight for cluster head selection at each node i can be defined by

$$ {\text{weight}}\left( {\text{i}} \right) = \frac{{{\text{E}}_{\text{i}} }}{{\frac{{\mathop \sum \nolimits_{{{\text{j}} = 1}}^{{{\text{N}}\left( {\text{i}} \right)}} {\text{d}}_{{{\text{i}},{\text{j}}}} }}{{{\text{N}}\left( {\text{i}} \right)}}}} $$
(9)

where, N(i) is the 1-hop neighbors number of node i, di,j denotes the distance between nodes i and j, and Ei is the residual energy of node i.

  1. 3.

    cluster formation step

In this step, sensor nodes with the high weight in their 1-hop neighborhoods elect themselves as cluster heads. The cluster head election procedure is executed on each node as every node is aware of the weights of its 1-hop neighbors. A node broadcasts a Cluster Head Announcement (CHA) message to announce itself to be a cluster head. Once receiving a CHA message from 1-hop neighbors they send out a Cluster Join (CJ) message to join a cluster. After receiving a CJ message, the cluster head replies with an ACK message to confirm the cluster join operation. If a sensor node receives only one CHA message from a neighbor with high weight, the node chooses it as the cluster head and joins its cluster. If a node receives multiple CHA messages from neighbors with high weight, the node joins the closest cluster head. Isolated nodes declare itself as cluster heads. At the end of this step, each sensor node will be either a cluster head or a cluster member [10, 11].

  1. 4.

    cluster neighbor discovery step

In this step, all cluster members send a Cluster Forward (CF) message to their cluster heads, in which the updated 1-hop neighbor list is included. The cluster head acknowledge each CF message with an ACK message. A cluster member retransmits the CF message if it does not receive an ACK message timely. After receiving all the CF messages from its cluster members, a cluster head knows all the neighboring clusters.

  1. 5.

    cooperative MIMO link selection step

In this step, each cluster head negotiates with the cluster heads of neighboring clusters to select the optimal cooperative MIMO links, as more than one such links may exist between two neighboring clusters (see Fig. 3). In general, on one hand, the cooperative MIMO link with high energy efficiency should be selected to save transmission energy; on the other hand, a link with low residual energy should not be selected even if it has high energy efficiency, to avoid exhausting the link. We define Ef (l) as the energy efficiency of a cooperative MIMO link l, which is determined by Eq. (11). We use Ei(l) to represent the residual energy of link l, which is set to the least residual energy of all nodes involved. To balance the effect of both factors, an empirical influence factor β ranging from 0 to 1 is introduced, which can be adjusted according to the type of application. Thus the weight of a cooperative MIMO link is defined as

$$ {\text{weight}}\left( {\text{i}} \right) =\upbeta{\text{Ef}}\left( {\text{l}} \right) + \left( {1 -\upbeta} \right){\text{Ei}}\left( {\text{l}} \right) $$
(10)
$$ {\text{Ef}}\left( {\text{l}} \right) = \frac{1}{{{\text{E}}_{\text{bt}} }} $$
(11)
Fig. 3.
figure 3

Example of data collection WSN

The link with the highest weight should be selected as the cooperative MIMO link for inter-cluster communications. The selection of cooperative MIMO links between two clusters can be done at either end of the link, since each cluster head is aware of the information of all neighboring clusters and their adjacent boundary nodes after the cluster discovery step. However, to avoid inconsistency, the cluster with the smaller ID among the two neighboring clusters is designated to select the cooperative link between them. After selecting the cooperative MIMO link, the cluster head with the smaller ID sends out a Cooperative MIMO Link Request (CMIMOLR) message, which is acknowledged by a Cooperative MIMO nodes.

4.2 Medium Access Control and Channel Assignment

In the proposed MCMIMO algorithm, there are four types of nodes: normal nodes, transmitter nodes, receiver nodes, and cluster heads. The normal nodes sense and collect data regarding the environment. The Cluster head (CHs) collect data from the normal nodes and use transmitter nodes to transmit their data to the receiver nodes of the neighboring cluster or send data directly to the base station. After, each CH creates a schedule in which time is divided to intervals called slots are assigned for intra cluster communication, data aggregation and communication inter cluster. This management method allows the sensors to remain in sleep state as long time as possible. In order to avoid collision and interference transmission between adjacent clusters and cooperative MIMO nodes, it will be better to assign different channels to each one of them. During the channel assignment and clustering algorithm stages, all communications are on the default channel and all nodes access the channel using a CSMA/CA. As shown in Figs. 3 and 4(a), (b), data forwarding from different nodes (node 1 and node 2) to BS depict the impact of multi channel technique on the throughput. If we use one channel frequency the traffic routing costs 6 timeslots, however when we use two channels frequency, then we have two parallel transmissions the traffic routing cost can reduce to 3 timeslots.

Fig. 4.
figure 4

Data collection using (a) one channel frequency and (b) two channel frequency

4.3 Energy Efficiency Analysis

In this section, we analyze the energy efficiency of MCMIMO protocol. We assume that both intra-cluster and inter-cluster communications are over Rayleigh fading channels. We denote the total energy consumption per bit for SISO, SIMO, MISO and MIMO as a function of transmission distance d by ESISO(d), ESIMO(d), EMISO(d) and EMIMO(d), respectively stated from Eq. (8).

Assuming the same packet size (NB bits), to transmit T packets from T nodes to CH, the traditional SISO transmissions are involved. The energy consumption is given by Eq. (12)

$$ {\text{E}}_{\text{CM to CH}} = \frac{{{\text{N}}_{\text{b}} {\text{T}}}}{{{\text{b}}_{\text{opt}} {\text{B}}}}{\text{E}}_{\text{siso}} \left( {{\bar{\text{d}}}_{\text{ch}} } \right) $$
(12)

Cluster head will aggregate the packets and send the aggregated packet to all the transmitter (NR) nodes, the SIMO transmissions are involved. The energy consumption to transmit the packets from CH to transmitter nodes can be described by Eq. (13)

$$ {\text{E}}_{{{\text{CH to N}}_{\text{T}} }} = \frac{{{\text{N}}_{\text{b}} }}{{{\text{b}}_{\text{opt}} {\text{B}}}}{\text{E}}_{\text{simo}} \left( {{\bar{\text{d}}}_{\text{ch}} } \right) $$
(13)

After, the NT transmitter nodes transmit their data packet to NR the receiver nodes of the neighboring cluster or send data directly to the base station where the inter-cluster cooperative MIMO transmission is involved. The energy consumption for cluster to cluster communication is given by Eq. (14)

$$ {\text{E}}_{{{\text{N}}_{\text{T}} \ {\text{to N}}_{\text{R}} }} = {\text{N}}_{\text{b}} {\text{E}}_{\text{mimo}} \left( {{\bar{\text{d}}}_{\text{cc}} } \right) $$
(14)

Where, \( {\text{E}}_{\text{mimo}} \left( {{\bar{\text{d}}}_{\text{cc}} } \right) \) can be stated from Eq. (8) as follow:

$$ {\text{E}}_{\text{mimo}} \left( {{\bar{\text{d}}}_{\text{cc}} } \right) = \frac{2}{3}\left( {1 +\upalpha} \right)\left( {\frac{{{\bar{\text{P}}}_{\text{b}} }}{4}} \right)^{{\frac{ - 1}{{{\text{M}}_{\text{t}} }}}} \frac{{2^{{{\text{b}}_{\text{opt}} }} - 1}}{{{\text{b}}_{\text{opt}}^{{\frac{1}{{{\text{M}}_{\text{t}} }} + 1}} }}{\text{M}}_{\text{t}} {\text{N}}_{0} \frac{{(4\uppi)^{2} }}{{{\text{G}}_{\text{r}} {\text{G}}_{\text{t}}\uplambda^{2} }}{\text{M}}_{\text{l}} {\text{N}}_{\text{f}} \sum\nolimits_{{{\text{i}} = 1}}^{{{\text{N}}_{\text{T}} }} {{\bar{\text{d}}}_{\text{cc}}^{\text{k}} } + \frac{{ {\text{P}}_{\text{C}} }}{\text{Bb}} $$
(15)

The energy consumption from the last hop’s transmitter nodes to base station is a special condition of from Eq. (15) where NR = 1.

And then, From NR receivers cooperative MIMO nodes to their corresponding cluster head is assured through MISO transmission and the energy consumption is given by

$$ {\text{E}}_{{{\text{N}}_{\text{R}} {\text{to CH}}}} = \frac{{{\text{N}}_{\text{b}} {\text{N}}_{\text{R}} }}{{{\text{b}}_{\text{opt}} {\text{B}}}}{\text{E}}_{\text{miso}} \left( {{\bar{\text{d}}}_{\text{ch}} } \right) $$
(16)

The total energy consumption multi-hop communication model can be described as following:

$$ {\text{E}}_{\text{total}} = {\text{E}}_{\text{CM to CH}} + \left( {{\text{hops}} + 1} \right).{\text{E}}_{{{\text{CH to N}}_{\text{T}} }} + \left( {{\text{hops}} + 1} \right).{\text{E}}_{{{\text{N}}_{\text{T}} \ {\text{to N}}_{\text{R}} }} + {\text{hops}}.{\text{E}}_{{{\text{N}}_{\text{R}} \ {\text{to CH}}}} $$
(17)

where hops is the number of intermediate clusters, \( \bar{d}_{\text{ch}} \) denotes the expected distance between a cluster head and its cluster members that refer to intra cluster communication, and \( \bar{d}_{\text{cc}} \) denotes the expected distance between the cooperative MIMO transmitters and receivers that refer to inter cluster communication.

5 Simulation Results

5.1 Simulation Environment

To illustrate the value added by our proposed MCMIMO algorithm on network behavior, we evaluated the MCMIMO performances in terms of energy of consumption per bit, stability, lifetime, amount of data sent to the BS and network throughput in three different scenarios (SISO, MISO and MIMO). The stability period and the lifetime are defined respectively according to the following metrics: FND (first node dies) and HND (half node dies). Simulation parameters used for these evaluations are listed in Table 2, where 100 sensor nodes are distributed randomly in a square region of 100 × 100 m2, loss of the communication between each pair of nodes is distributed randomly from 2 to 4, each node have random initial energy within the interval [0.5, 1] Joule. The base station is located at the center of the network and in order to illustrate the effect of distance on energy consumption the base station moves in the horizontal direction. The development environment is NS 2.

Table 2. Simulation parameters.

5.2 Performance Evaluation Discussion

Firstly, we compare the energy consumption of MCMIMO using different multi-hop transmission MIMO, MISO and SISO with variable data rate according to Table 1. Figure 5 shows the graphs of energy consumption per bit with respect to the distance from the base station. Initially, the base station is placed at the center of the network. Then, the base station is moved away from the center in the horizontal direction. As shown in Fig. 5, the energy consumption of SISO has more advantage in energy saving when the transmission distance is less than 10 m, but the MIMO has more advantage in energy-saving when the distance is more than 10 m, this is because, for small distances circuit block power consumption dominates and for large distances power amplifiers dominates. Further, SISO is still better than MISO until the traversed distance equal 23 m, for distance exceeding this value, the standard deviation of SISO is also higher as compared to the other techniques. MIMO performs better than MISO for all the cases. Then the MCMIMO with MIMO technique and adapted bit rate is more energy efficient routing for large communication distance.

Fig. 5.
figure 5

Energy consumption per bit for MIMO, MISO, SISO networks according to distance

Secondly, we consider a fixe base station initially placed at position (50, 50) and we evaluate our proposed algorithm in terms of stability, lifetime and amount of data sent to the BS. Figures 6 and 7 show the simulation results.

Fig. 6.
figure 6

Distribution of alive nodes according to the number of rounds for each MIMO technique.

Fig. 7.
figure 7

Received packets by the BS using different transmission MIMO technique

From Figs. 6 and 7, we can see that MIMO 2x2 technique exceeds the other techniques in terms of stability, lifetime and amount of data sent to the BS. Furthermore, the MIMO 2x2 technique has a stability period (FND) considerably larger compared to other algorithms which allows the network to operate without fault for a very long time. Table 3 summarizes the simulation results of this scenario. From the simulation results, 2x2 MIMO is considered as an energy efficient routing technique. In fact the stability period is increased approximately by 82 %, 39 % and 7 % while the network lifetime is increased nearly 25 %, 20 % and 8 % compared with those obtained by SISO, MISO and MIMO 3x3 techniques respectively.

Table 3. Simulation results

Thirdly, we study the impact of the number of available channels on the system throughput. As shown in Fig. 8, in which the BS is located at the center of the network. We can see that, the network throughput is higher if we assigned more channel resources, which leads to reduce collision between nodes; However, the throughput stops increasing if more than 9 channels are provisioned, as interference no longer exists after that.

Fig. 8.
figure 8

System throughput vs. number of available channels

6 Conclusion

In this paper, a multi-channel energy efficient cooperative MIMO routing protocol for cluster based WSNs, called MCMIMO in which, sensor nodes are organized into clusters such that intra-cluster messages are transmitted over short-range SISO links, while inter cluster messages are transmitted over long-range energy-efficient cooperative MIMO links. To reduce energy consumption and prolong the network lifetime, an adaptive cooperative nodes selection strategy is also designed. After that we investigate the use of multiple transmitters and multiple receivers in virtual MIMO. We consider the case of variable data rate. Further, we investigate the impact of distance on the choice of MIMO, MISO and SISO, We demonstrate that in large range applications, by optimizing the constellation size MIMO systems may outperform MISO and SISO systems. Also the MIMO 2X2 technique is more suitable for any application WSN since it exceeds the other techniques tested in terms of stability, lifetime and the number of packets sent to the BS. Finally, multiple channels is exploited to enhance network throughput by avoiding collision between nodes. MCMIMO is designed for stationary WSNs, in future works, our algorithm can be extended to handle the mobile wireless sensor networks under the platform NS2.