1. Introduction
As multimedia communication develops, traditional cellular networks will not be able to handle large amounts of data and support high-speed transmission. D2D communication can help enhance data rate, system capacity and spectrum efficiency through short-range communication among users directly by reusing the spectrum of cellular network [
1,
2,
3], which gives users a better communication experience than the traditional cellular network.
Furthermore, D2D pairs can build a self-organizing system by establishing connections with the help of a cellular network. Due to flexibility, multiple D2D users who want to receive the same data from an Evolved Node B (eNB) can organize a cluster, and a cluster head is chosen to receive the data from the eNB to share with cluster members by dividing the data into multiple data packets, which is the mesh D2D service introduced in Reference [
4]. Regarded as a proximity service, D2D services are sufficiently flexible to adapt to various complex heterogeneous networks in the future.
D2D communication is an important part of heterogeneous networks. The spectrum efficiency, throughput and energy efficiency can be improved by interference suppression, resource allocation and relay selection schemes [
5,
6,
7,
8]. Many studies show that most researches on short-range communication systems focus on improving communication reliability and data rate among users [
9,
10,
11]. As D2D users communicate directly with each other through short-range communication (which consumes a small amount of energy due to the short distance [
12]), whether the users can provide enough energy for the packet transmission or not is usually ignored. In fact, though the cooperation among a large number of D2D users can effectively enhance the spectrum efficiency and throughput of heterogeneous networks [
13], the amount of consumed energy of each D2D user obviously rises with the number of cooperative users. Hence, it is necessary to take the energy availability of each user into account when there are multiple cooperative users.
Traditional ways of choosing relaying users were based on the maximum SNR [
14,
15], which resulted in high energy consumption. On one hand, particular users are chosen by multiple users simultaneously, which results in energy waste. On the other hand, particular users will be chosen at different times, which will cost these particular users a large amount of energy. Hence, it is not appropriate to choose relaying D2D users based on the maximum SNR when there are multiple cooperative users.
In the D2D cluster, some D2D users will consume additional energy as the relaying of other D2D users to receive data from the base station and then relay the data to corresponding D2D user. Which will cost these part of relaying D2D users a large amount of energy. In order to avoid excessive energy consumption of some D2D users and decrease of the system lifetime, this paper reduces the energy consumption of the single D2D user by preventing a D2D user from being chosen as a relaying by multiple D2D user at the same time and always being chosen at different times. So, we restrict that the relaying D2D user only relays data for one of the other D2D users. Then the key is how to match multiple relaying D2D users with the rest of multiple D2D users. The Kuhn-Munkres algorithm is a classic algorithm in graph theory to find the optimal match of weighted bipartite graph. Motivated by the application of the Kuhn-Munkres algorithm in Reference [
16], where the Kuhn-Munkres algorithm was introduced to solve the matching problem of maximizing transmission capacity, this paper adopts the Kuhn-Munkres algorithm to deal with this issue. Hence, the D2D multi-user cooperation issue is transformed into a MWM problem.
This paper aims to solve the energy problem of D2D users when there are multiple D2D users cooperating. In the D2D communication system, D2D users who want to receive the same data form a cluster by a self-organizing connection with the help of a cellular network. D2D users use different spectrums to provide mesh D2D service to avoid co-channel interference. The main contributions of this paper are as follows:
A D2D multi-user cooperation scheme is proposed, choosing the relaying D2D users by considering both energy availability and the SNR of each D2D user. Each relaying D2D user can be prevented from being chosen by multiple D2D users at both the same time and at different times with the help of the Kuhn-Munkres algorithm.
To guarantee high data rate and low delay, the outage probability of the D2D link is derived according to the Shannon Equation and the system energy efficiency is analyzed combined with the outage probability of a D2D link.
To achieve D2D multi-user cooperation with high energy efficiency in different communication environments, the relationships among the number of cooperative users, the length of shared data, the number of data packets and the energy efficiency are studied in the simulation.
2. Cooperation of D2D Multiple Users
In a heterogeneous network which consists of a cellular and D2D network, multiple D2D users who are interested in the same data form a cluster with the help of a cellular network. The cooperation system is shown in
Figure 1, where
G1,
G2,
G3 are different clusters and
S1,
S2,
S3 are their cluster heads. After receiving the data, the cluster head divides the data into several data packets and sends parts of them to cluster members, than the cluster members cooperate with each other to share what they have received from the cluster head.
Due to the limitation of energy, we have to ensure that each D2D user is prevented from being chosen as the relaying user by multiple D2D users at both the same time and at different times. Meanwhile, the length and the number of data packets can be changed according to various communication environments to reach a high energy efficiency.
D2D multi-user cooperation within a cluster is shown in
Figure 2. |
Y| is the number of set
Y. We suppose that there are
K + 1 D2D users within a cluster which included one cluster head
S and
K cluster members.
S chooses
x relaying D2D users from
K cluster members to receive data packet and
x changes according to the various communication environments. We suppose that
K =
ax +
b, where
a, b are integers and
. Hence there are four types of cooperation situations.
, namely, K = x. S has enough energy to broadcast data packet to K D2D users and the SNR of each D2D user is good enough to decode the data packet.
, namely, K = x + b. The chosen x relaying D2D users form set and the rest of K – x = b D2D users form set . If we regard D2D users as nodes and communications between D2D users as lines, set and can form a bipartite graph . First, S broadcasts the data packet to Y1 before the D2D users of N1 pair with the relaying D2D users of Y1 with a one to one match.
, namely, K = ax. S first broadcasts the data packet to chosen x relaying D2D users. These chosen relaying D2D users form set and the rest of (a − 1)x D2D users form set . Next, the relaying D2D users are chosen from the set whose members have not yet received data packet. For example, x D2D users of N1 will be chosen by Y1 as relaying D2D users and relay to the rest (up to x D2D users).
, namely, K = ax + b. This cooperation situation combines Situation 3 and Situation 2.
The cooperation process has two parts: (1). S chooses x relaying D2D users; and (2). x relaying D2D users pair with the rest of the D2D users and relay the data packet to them.
In the first part, in order to ensure that the chosen
x relaying D2D users have enough energy to relay the data packet,
S chooses
v D2D users whose energy is higher than energy threshold
I and these
v D2D users form set
V:
where
is the energy of D2D user
. We supposed that the channel state information (CSI) is known by each D2D user.
S chooses
x relaying D2D users from
V according to remaining energy and the channel qualities of the candidates. We let SNR represent the channel quality, where
are SNRs of members of
V, and the bit error rates can be calculated with SNRs according to the modulation method. Supposing that
are respective bit error rates and
are consumed energy by
S for sending the data packe
to
V, we rank
from the smallest to the largest and obtain the ranked sequence
. The former
x D2D users are chosen as relaying if
, where
.
In the second part, the chosen x relaying D2D users of Y1 choose b (K = x + b) or x (K = ax + b, a > 1) D2D users from N1 with a one to one match. The future chosen b D2D users do not relay the same data packet, while the future chosen x D2D users do. Hence, we will analyze the outcome in two situations:
A. , will pair with . It is possible for each member of Y1 to be chosen by multiple D2D users of N1 and each member of N1 will receive the same data packet from multiple relaying D2D users of Y1, which will cost large amounts of energy for D2D users. In order to save the energy of each D2D user without the deterioration of QoS, the Kuhn-Munkres algorithm is adopted to pair Y1 and N1 with a one to one match.
The D2D users and their cooperation can be regarded as dots and lines in the bipartite graph.
Y1 and
N1 form a bipartite graph
. After paired by Kuhn-Munkres algorithm, the adjacency matrix of the paired D2D users can be expressed as:
where
, and
means that
is the relaying D2D user of
. The SNRs of cooperation links among
Y1 and
N1 can be calculated according to the CSI, which can be expressed as a matrix:
where
represents the SNR of D2D user
whose relaying D2D user is
. Next, the SNRs of each row is ranked from the largest to the smallest and given labels
, which means that the larger the SNR the bigger the label is given to the respective D2D user. Thus, the corresponding label matrix can be expressed as:
where
represents the weight of line which connects
and
in bipartite graph
. The larger weight means better communication quality. Hence, we adopt the Kuhn-Munkres algorithm to match
Y1 and
N1 with the maximum SNR. As the Kuhn-Munkres algorithm requires that
Y1 and
N1 should be equal,
x − (
K −
x) zeros are added to each row of label matrix
L to make a square matrix
:
where
,
,
,
.
B. , the size of
is smaller than that of
. The
x D2D users chosen by
Y1 from
N1 will be the relaying D2D users of the rest of (
a − 2)
x +
b D2D users of
N1.
Y1 and
N1 are supposed to form bipartite graph.
. Hence, before matching
Y1 and
N1 based on SNRs, it is necessary to consider the energy of the relaying candidates.
D2D users whose maintaining energy
is bigger than energy threshold
are chosen from
N1 to form set
:
Then,
Y1 is matched with
according to the SNRs as in Situation A. The corresponding expanding label matrix
can be expressed as:
where
,
,
,
.
The adjacency matrix of the paired D2D users can be expressed as:
There is only one 1 in each row and each column, which means that and when . The rest of the elements are all zero. Hence users of Y1 pair with of N1, respectively.
4. Simulation Results
In order to achieve D2D multi-user cooperation with a high energy efficiency in different communication environments, the relationships among the number of cooperative users K, the length of shared data L, the number of date packets n, and energy efficiency are studied in this section. We evaluate the system performance in terms of link outage probability and system energy efficiency.
Note that the bandwidth consumed in the D2D communication is 5 MHz and single side band noise power spectral density
N0 is −174 dB/Hz. We suppose that all channel gains followed independent exponential distribution (IED) where variance is 1. The packet error rate can be calculated according to the SNR. We adopt binary quadrature amplitude modulation (QAM) in the Additive Gaussian White Noise (AWGN) channel. Other simulation parameters are listed in
Table 1.
Figure 3 shows the relationships between the average SNR, average delay threshold of D2D link and outage probability. We suppose that the total length of data is
L = 512 bits, the number of D2D users within cluster is
K = 100, and the number of data packets was
n = 6.
Figure 3 shows that the outage probability decreased as average SNR increased since the higher SNR indicates better channel quality, which is conducive to successful transmission. The higher delay constraint led to higher outage probability since the link is interrupted when the delay is beyond the maximum delay the D2D user willing to tolerate.
Figure 4 shows the relationships between the total length of data
L, the number of data packets
n and the energy efficiency. The number of D2D users within the cluster is
K = 100, the average SNR of D2D link is 10 dB, and the average delay threshold of D2D link is τ
th = 2 μs.
Figure 4 shows that when the total length of data
L is less than a certain value, the energy efficiency of one data packet is higher than the others. This behavior can be attributed to excessive data packets leading to more extraordinary relaying energy consumption on overhead, which wastes energy rather than improving energy efficiency.
Meanwhile, the energy efficiency of a six data packet is higher than that of the others when the total length of data L is larger than a certain value. This is due to the shorter data packet, which reduces the outage probability and ensures a reliable transmission for a long data stream.
Figure 5 shows the relationships between the number of D2D users within cluster
K, the total length of data
L and energy efficiency. The number of data packets is
n = 6, the average SNR is 10 dB and the average delay threshold is τ
th = 2 μs.
Figure 5 shows that the energy efficiency of the proposed D2D multi-user cooperation scheme for the case of
L = 512 bits outperforms other cases in the AWGN environment. This occurs when the number of data packets
n is constant as the excessive long data sequence leads to long data packets creating a high outage probability, which results in decreasing energy efficiency. Meanwhile, when the data sequence is short, excessive data packets leads to wasted energy for relaying overhead.
Furthermore,
Figure 5 also shows that for the case of
L = 1024 and
L = 512, the energy efficiency almost keeps stable when
K increases. For the case of
L = 216, when the number of cluster D2D users
K is smaller than a certain value, energy efficiency rises very slowly with the increase of
K, but also decreases quickly when
K is larger than a certain value. This is because the amount of consumed energy for relaying excessive short data packets with constant overhead to many D2D users is excessive.
From the above analysis, it is obvious that energy efficiency can reach a peak value at certain K or L. Hence, it is possible to achieve high energy efficiency in different communication environments where multiple D2D users cooperate by coordinating the number of cooperative users K, the length of shared data L, and the number of date packets n.