Next Article in Journal
Experimental and Numerical Study of Edge Defects When Turning 17vol.% SiCp/2009Al Composites
Previous Article in Journal
The PLC as a Smart Service in Industry 4.0 Production Systems
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Efficient Resource Allocation Algorithm for Device-To-Device Communications

1
Department of Electrical Engineering, Hashemite University, Zarqa 13133, Jordan
2
Department of Medical Instrumentation Techniques Engineering, Electrical Engineering Technical College, Middle Technical University, Baghdad 10013, Iraq
3
Department of Electrical Engineering, University of Engineering & Technology Peshawar, P.O. Box 814, Peshawar, Pakistan
4
School of Electrical Engineering, Manchester Metropolitan University, Manchester M15 6BH, UK
*
Author to whom correspondence should be addressed.
Appl. Sci. 2019, 9(18), 3816; https://doi.org/10.3390/app9183816
Submission received: 2 August 2019 / Revised: 9 September 2019 / Accepted: 9 September 2019 / Published: 11 September 2019

Abstract

:
In order to solve the problem of interference and spectrum optimization caused by D2D (device-to-device) communication multiplexing uplink channel of heterogeneous cellular networks, the allocation algorithm based on the many-to-one Gale-Shapley (M21GS) algorithm proposed in this paper can effectively solve the resource allocation problem of D2D users multiplexed cellular user channels in heterogeneous cellular network environments. In order to improve the utilization of the wireless spectrum, the algorithm allows multiple D2D users to share the channel resources of one cellular user and maintains the communication service quality of the cellular users and D2D users by setting the signal to interference and noise ratio (SINR) threshold. A D2D user and channel preference list are established based on the implemented system’s capacity to maximize the system total capacity objective function. Finally, we use the Kuhn–Munkres (KM) algorithm to achieve the optimal matching between D2D clusters and cellular channel to maximize the total capacity of D2D users. The MATLAB simulation is used to compare and analyze the total system capacity of the proposed algorithm, the resource allocation algorithm based on the delay acceptance algorithm, the random resource allocation algorithm and the optimal exhaustive search algorithm, and the maximum allowable access for D2D users. The simulation results show that the proposed algorithm has fast convergence and low complexity, and the total capacity is close to the optimal algorithm.

1. Introduction

Mobile communication networks are moving toward lower energy consumption, greater resource utilization, and higher network capacity. In order to meet the above requirements, device-to-device (D2D) communication technology has emerged [1,2,3,4,5]. Traditional cellular network users need to forward data through the base station to communicate, and D2D users can perform direct communication at close range. Therefore, compared with cellular communication, D2D communication has a smaller communication delay, which can improve the spectrum efficiency and achieve higher throughput and energy efficiency by multiplexing the spectrum resources of cellular users [6,7,8,9]. Since multiplexing cellular spectrum resources can cause serious interference between cellular communication and D2D communication [10], a large amount of research work uses resource allocation to mitigate interference [11,12,13,14]. Some possible variations of the allocation algorithm are TCP analysis, proportional fairness, and out-of-band communications which deal with different mobility patterns. Reference [15] proposed a resource allocation algorithm based on local search, which can only obtain local optimal solutions. Reference [16] proposes a distributed resource allocation algorithm but does not explicitly provide the performance gain obtained compared to other algorithms. Reference [17] proposed an interference-aware resource allocation algorithm based on the backpack theory, but in many cases, the algorithm cannot get a feasible allocation result. In reference [18], resources are first allocated to D2D users, and then resources are allocated to cellular users according to the allocation of D2D users on each resource block. However, in practice, cellular users are generally required to communicate first, so cellular users are proportional. Fair weight requires changes to weight and reduces fairness. The one-to-one Gale-Shapley algorithm (delayed acceptance algorithm) proposed by Gale and Shapley was originally applied to reasonably solve the marriage matching problem between men and women so that a reasonable match between men and women is achieved [19]. Reference [20] proposed a stable matching scheme based on a delay acceptance algorithm to allocate resources for D2D users, but the scheme has the following shortcomings:
(a)
Establishing a user’s preference list based on distance is not the best option;
(b)
It does not take into account the limitations of cellular subscriber quality when assigning resources to cellular users at one time;
(c)
Only one D2D pair is allowed to share the spectrum resources of one cellular user, so as the number of D2D users increases, the spectrum utilization cannot be improved;
(d)
The simulation environment only considers a single-cell cellular network and does not consider the case of heterogeneous cellular networks.
In this paper, the algorithm in reference [20] is improved for these four shortcomings, and a resource allocation scheme based on the many-to-one Gale-Shapley algorithm in a heterogeneous cellular network environment is proposed. The contributions of the proposed algorithm are enumerated as follow:
  • It effectively solves the resource allocation shortcomings of D2D users multiplexed with cellular user channels in heterogeneous cellular network environments.
  • The algorithm allows multiple D2D users to share the channel resources of one cellular user and ensures the quality of service (QoS) of the cellular users and D2D users by setting the signal to interference and noise ratio (SINR) threshold, in order to improve the utilization of the wireless spectrum.
  • A D2D user and channel preference list are established based on the implemented system capacity to maximize the system total capacity objective function.
  • The KM algorithm is used to allocate channels for D2D clusters to maximize the total capacity of D2D users [21].
The simulation results show that the scheme can increase the number of connections of D2D users and increase the total system capacity under the premise of ensuring the communication service quality of cellular users.
The following content of this paper is arranged as follows: Section 2 gives the channel allocation problem discussed in this paper according to the system model of D2D communication. Section 3 introduces the QoS-based clustering channel allocation algorithm in a D2D communication system in detail. Section 4 gives the simulation results and analysis. Section 5 provides the discussion of the comparative analysis, while Section 6 is the conclusion.

2. System Model and Problem Planning

2.1. System Model

This paper studies the resource allocation problem of D2D users multiplexing the uplink channel of heterogeneous cellular networks. Assuming that the total number of channels is N , the macro cellular user channel can only be multiplexed by one micro cell user, but can be reused by multiple D2D users, assuming users of one Microcell or D2D users can only multiplex one channel resource. In the heterogeneous cellular network shown in Figure 1, there are three communication mode users and two base stations, and the macro base station is located in the cell center, and the micro cell base station is randomly distributed in the cell by the Poisson point process with density λ s , and the cellular user and D2D users are randomly distributed in the cell by the Poisson point process with density λ c and λ d , respectively. Each base station can acquire channel state information (CSI) of each communication link. The set M = { 1 , 2 , , C } , W = { 1 , 2 , , J } , H = { 1 , 2 , , D } represent the macrocell user set, the microcell user set and the D2D user set, respectively.
According to the reference [17,18], the path loss model is shown in Equation (1).
P L = 36.7 log ( d ) + 22.7 + 26 log ( f c )
where d represents the distance between the transmitter and the receiver (in m), while f c is the carrier frequency.
The channel gain is composed of path loss and small-scale fading, so the channel gain can be expressed as Equation (2).
G a , b = P L a , b h a , b
where P L a , b and h a , b represent the path loss and small-scale fading coefficient between a and b , respectively.
In order to study the most severe interference, it is assumed that all N channel resources are occupied by P macro cell users [22,23,24,25,26]. If a macro cell user can only occupy one channel, then N = C . J microcell users and D D2D users respectively multiplex these N channel resources. When the binary variables X c n , X j n and X d n are 1, the macro cell user c , the micro cell user j and the D2D user d use channel n , otherwise 0.
The macrocell user c has a SINR on channel n which is given by:
S I N R c n = P c G c , B j W X j n P j G j , B + d H X d n P d G d , B + N 0
where P c is the transmit power of the macro cell user c ; P d and P j are the transmit power of the D2D user d and the microcell user j ; G c , B is the channel gain of the macro cell user c to the macro base station B ; G j , B is the channel gain of the microcell user j to the macro base station B ; G d , B is the channel gain of the D2D user d to the macro base station B ; N 0 is the noise power.
The SINR of the microcell user j on channel n is:
S I N R j n = P j G j , b j c M X c n P c G c , b j + d H X d n P d G d , b j + N 0
where b j is a microcell base station to which the microcell user j accesses; G j , b j is the channel gain of the microcell user j to the microcell base station b j ; G c , b j is the channel gain of the macro cell user c to the micro cell base station b j ; G d , b j is the channel gain between the D2D user d and the microcell base station b j .
When multiple D2D users multiplex the same channel resource, D2D users are not only interfered with by macro cell users and micro cell users but also interfered with by other D2D users on this channel, so D2D users d are on channel n . Therefore, its SINR is expressed as follows:
S I N R d n = P d G d t , d r c M X c n P c G c , d r + j W X j n P j G j , d r + i H , i d X i n P d G i , d r + N 0
where G d t , d r is the channel gain between the D2D user d transmitter d t and the receiver d r ; G c , d r is the channel gain of the macro cell user c to the D2D receiver d r ; G j , d r is the channel gain of the microcell user j to the D2D receiver d r ; G i , d r is the channel gain of the D2D user i to the D2D receiver d r .

2.2. Problem Planning

In this paper, the macrocell user and microcell channel resource allocation have been determined, and the macrocell user and microcell user communication service quality is guaranteed, and the D2D user is allocated a channel by maximizing the total capacity of the system. Assuming that two D2D users can be multiplexed on each channel, according to the Shannon formula, the objective function and constraints for the optimization problem can be obtained as Equations (6)–(11).
X c n , X j n , X d n max , ( c M , j W , d H ) T ( X c n , X j n , X d n ) = X c n , X j n ,   X d n max , ( c M , j W , d H )   n = 1 N [         c M X c n log 2 ( 1 + S I N R c n ) + j W X j n log 2 ( 1 + S I N R j n ) + d H X d n log 2 ( 1 + S I N R d n ) ]
S I N R c n S I N R c ,   t h r e s h o l d n ,     c M
S I N R j n S I N R j ,   t h r e s h o l d n ,     j W
S I N R d n S I N R d ,   t h r e s h o l d n ,     d H
n = 1 N X j n 1 ,   j W X j n 1 ,     j W
n = 1 N X d n 1 ,   d H X d n 2 ,     d H
Equations (7)–(9) ensure that the macrocell users, microcell users, and D2D users have signal-to-noise ratios greater than the threshold. Equation (10) ensures that one microcell user multiplexes up to one channel resource and allows up to one microcell user to communicate on one channel. Equation (11) ensures that one D2D user multiplexes at most one channel resource and one channel resource can be multiplexed by at most two D2D users.

3. Proposed Algorithm

In Section 2.2, the objective function and constraints defined by Equations (6)–(10) belong to the mixed-integer nonlinear optimization problem. The optimal solution needs to traverse all possible assignments with high complexity. Therefore, the complexity of this study is adopted to a lower, suboptimal approach to the optimal solution. This scheme first establishes a preference list of D2D users and channels, respectively. Each D2D user builds a preference list Due_list based on system capacity on different channels, with the first value of each row in the preference list having the highest preference value. Table 1 shows a list of preferences for three D2D users. The preference list of the second D2D user is Due_list (2) = (3,5,2,4,1), indicating that the channel resource that the second D2D user most wants to multiplex is 3. In a similar manner, each channel establishes a channel preference list Channel_list based on the total system capacity achievable by different D2D user communications.
The program also needs to define the following parameters:
(a)
A collection Association of channels and D2D users, the Association(k) indicates that channel k contains already matched D2D users;
(b)
D list of channels that D2D users most want to multiplex, P r e = [ δ 1 , δ 2 , , δ k , , δ D ] , the user preference list shows that δ k is the first element of the Due_list(k) list;
(c)
Define Cluster(k) as the set of D2D user pairs that currently want to multiplex channel k. For example, Cluster(k) = {1, 3, 4} means that the current 1, 3, and 4 D2D user pairs most want to multiplex channel k, i.e., δ ( d ) = k   (   d ) Cluster(k);
(d)
No matching D2D user representation of the set as UNMATCH;
(e)
The total number of channels N, the number of iterations is Iteration, and the maximum number of iterations is MAXGEN.
The pseudo-code of the algorithm is shown in Algorithm 1.
Algorithm 1 M21GS Algorithm
1: Initialization: Set system parameters such as the number of users, transmit power, path loss, etc., to allocate channels for macro cell users and micro cell users.
2: Establish user preference list Due_list, channel preference list Channel_list, initialization parameters Association, Cluster, UNMATCH.
3: While iteration < MAXGEN do
4: if UNMATCH = Ø
5: for k = 1 to N do
6: Set D2D user k on current channel S = 0
7: if Cluster(k) ≠ Ø and S ≤ 2
8: Find from the set Cluster(k) according to the channel k preference list Channel_list(k) to the highest priority D2D user d
9: Calculate the objective function of the macrocell, microcell and D2D users using Equation (6)
10: Determine the SINRs of the macrocell user, microcell and D2D user using Equation (7)–(9)
11: Assign the channel to the microcell user if Equations (10) is satisfied
12: Assign the channel to the D2D users if Equation (11) is satisfied
13: if the constraints of Equations (7)–(11) are satisfied
14: Association(k) = Association(k) {d}
15: UNMATCH = UNMATCH {d}
16: S = S + 1
17: else
18: Due_list(d) = Due_list(d) δ d , update P r e and Cluster(k)
19: end
20: Cluster(k)=Cluster(k) {d}
21: end
22: for r ∈ Cluster(k)
23: Due_list(r) = Due_list(r) δ r
24: end
25: end
26: if Due_list(w) = Ø (wH)
27: UNMATCH=UNMATCH {w}
28: end
29: end
30: Iteration = Iteration+1
31: End
32: Use the KM algorithm to achieve the optimal matching between D2D clusters and cellular users’ channels [21].
The steps of Algorithm 1 are as follows:
(a)
First initialize the D2D user and channel preference list, set Association, unmatched D2D pair set UNMATCH, transmit power, and other parameters.
(b)
Lines 3–27 are the core part of the algorithm, and the loop will only terminate if the maximum number of iterations is reached. Lines 7–17 of the algorithm indicate that for each subchannel k, first find a D2D user pair d that currently wants to multiplex channel k from the set Cluster(k), and then check if the user pair satisfies Equations (7)–(11) constraints. If the condition is met, continue to add to the Association(k) according to the preference list of channel k D2D users until there are two D2D pairs and channel k share resources, otherwise update the D2D user preference list, Cluster(k) and Pre.
(c)
Lines 18–20 of the algorithm indicate that there are already two D2D pairs on channel k. If there is a D2D pair r in the set Cluster(k) that wants to multiplex channel k, then channel k refuses to allocate resources to the D2D pair r, updating the D2D pair r preference list.
(d)
Lines 22~24 of the algorithm indicate that in the final stage of the algorithm, some D2D users cannot find suitable channel resources due to the limitation of the signal-to-noise ratio threshold. This article also assumes that such users have found the right resources to remove these D2D users from the collection UNMATCH.

4. Simulation Results

4.1. Simulation Environment Establishment

In this section, simulation experiments were carried out in a heterogeneous cellular network environment. The macro cell radius is set to 1000 m, and the cellular users and D2D users are distributed in the cell as independent Poisson point processes. The specific system simulation parameter settings are shown in Table 2. The Monte Carlo method is used to randomly generate 2000 distribution scenarios each time. Finally, the system performance results obtained by the algorithm are averaged. It is assumed that each macro cell user occupies a single independent channel, and each microchannel user has a multiplex resource with the macro cell user, and the accessed D2D user needs to select an appropriate channel to communicate according to the current channel state. Since this paper assumes that there can be up to two pairs of D2D user communications on a single channel resource, the number of D2D user pairs accessed on each channel is set to two.

4.2. Complexity and Performance Analysis

The D2D communication resource allocation algorithm of the proposed M21GS algorithm is simulated by MATLAB simulation software, and the complexity and performance comparison is based on delay acceptance random resource allocation (DARA) algorithm [16] and optimal algorithm [19]. Since the resource allocation scheme based on the delay acceptance algorithm in reference [16] is established in the macro cellular network environment, in order to adapt the algorithm of the document [16] to the heterogeneous cellular network composed of macro cells and micro cells, this paper will match the D2D user and channel. The D2D user establishes a preference list based on the system capacity implemented on the channel. The channel establishes a list of preferences based on the size of the total system capacity achieved by different D2D communications. In addition, when the channel is first assigned to a D2D user, it is also necessary to check the communication service quality of the macro cell user and the micro cell user. This scheme enables the D2D user to find a suitable channel and obtain a stable match between the D2D user and the channel but only one channel is allowed to share resources with at most one D2D user. The random resource allocation algorithm only needs to satisfy the conditions of Equations (7)–(11) to obtain an allocation scheme.

4.2.1. Complexity Analysis

The complexity analysis of the five resource allocation algorithms is as follows:
(a)
The complexity of the random resource allocation algorithm increases linearly with the increase of the number of cellular users, that is, 𝒪 ( C ) (where C is the number of macro cellular users), and the algorithm calculates the lowest amount.
(b)
The worst-case complexity of the DARA scheme [16] is 𝒪 ( C 2 ) , and the average complexity is C log ( C ) .
(c)
The optimal algorithm is an exhaustive search algorithm that satisfies the constraints, and needs to traverse all possible allocation methods with the highest computational amount.
(d)
The complexity of the CG algorithm [20] is 𝒪 ( N ) where N is the number of channels.
(e)
The complexity of the proposed scheme is 𝒪 ( N 12 ) , therefore, the calculation amount is significantly lower than the random allocation algorithm, and the optimal algorithm and the algorithms in references [16,20].

4.2.2. Performance Analysis

The simulation in Figure 2 compares the total system capacity of the five resource allocation algorithms. As can be seen from the figure, the total system capacity becomes larger as the number of channels increases. When the number of channels is constant, the total system capacity of the proposed algorithm is better than that of references [16,20] and the random resource allocation algorithm that approximates the optimal solution. Because the proposed algorithm allows multiple D2D users to multiplex the same cellular user channel resource, the total system capacity obtained is better than the algorithm in references [16,20], and the random resource allocation algorithm is only random under the premise of guaranteeing the quality of user communication service. Resource allocation is not optimized for system capacity, so performance is the worst.
The simulation in Figure 3 compares the maximum allowable number of D2D users allowed by the five allocation algorithms. It can be seen from Figure 3 that the maximum number of D2D users allowed by the proposed algorithm is better than that of the algorithm [16,20] and the random allocation algorithm, but it does not reach the theoretical (optimal) value. Because the proposed algorithm can achieve one-to-many matching between the channel and D2D users, it can enable more D2D users to communicate at the same time. However, due to the limitation of the SINR threshold, the number of allowable D2D users cannot reach the theoretical value.
Figure 4 shows the comparison of the sum rate of the five algorithms under different number of D2D pairs. It can be seen from Figure 4 that as the number D2D pairs increases, the sum rate of all the algorithm increases. Moreover, as can be seen from the Figure, the sum rate of the proposed M21GS algorithm shows better sum-rate performance than DARA algorithm [16], CG algorithm [20] and Random Resource Allocation Algorithm under the same number of D2D pairs which makes it more suitable in D2D deployment scenarios. The results also show that the proposed algorithm has a close relation with optimal results, which also validates the analytical derivations.
The simulation results in Figure 5 show the effect of the SINR threshold on the total system capacity. As can be seen from the figure, the total system capacity becomes smaller as the SINR threshold increases. When the SINR threshold exceeds 10 dB, the total system capacity does not change and reaches a minimum. This means that in order to guarantee the communication service quality of the cellular users, it is not allowed to allocate channel resources for D2D users to communicate, and only macro cellular users and micro cellular users can communicate. Furthermore, the results also indicate that the proposed M21GS algorithm gives better total system capacity for all values of SINR than CG [20], DARA [16] and Random Resource Allocation Algorithm and also has a close relation with optimal results.
The simulation results in Figure 6 show that the proposed algorithm has faster convergence. It can be seen from Figure 6 that the total system capacity gradually increases with the number of iterations. When a certain number of iterations is reached, the total system capacity tends to be stable, indicating that all D2D users have been allocated. The more D2D users in the system, the more iterations are required, but in general, the number of iterations required for the algorithm to converge is small, 5~8 times can converge, and the computational complexity is low.
Figure 7 compares the energy efficiency of the proposed algorithm with the state-of-the-art algorithms under different number of iterations. As can be seen from Figure 7 that the proposed M21GS algorithm has stable and fixed energy efficiency for any number of iterations, which makes it more robust and stable against interference and has less complex hardware and energy consumption requirement as compared with CG [20], DARA [16] and Random Resource Allocation Algorithm. Moreover, the proposed algorithm has a close performance with the optimal results, which also validates the theoretical analysis.
Figure 8 illustrates the system average energy efficiency comparison of the proposed algorithm with CG [20], DARA [16], random resource allocation and optimal algorithm under different number of Cellular User Equipment’s (CUEs). It can be seen from Figure 8 that the average energy efficiency of the proposed M21GS algorithm is better than the other competing alternatives under a different number of CUEs. Also, the proposed algorithm has a much better performance with optimal results, validating the analytical approach.
To evaluate the validation of the proposed algorithm further, we have compared the number of iterations required with an increasing number of D2D users under different algorithms in Figure 9. As can be clearly seen from Figure 9, the proposed algorithm requires a smaller number of iterations when the number of D2D users increases as compared with existing reference [20] and reference [16] algorithms. Moreover, the proposed algorithm has closed performance with the optimal scheme, further validating its effectiveness. To make it clearer by evaluating it when the number of D2D users is 150, the proposed scheme requires only 33 iterations to give an optimal performance whereas the schemes in reference [16] and reference [20] require 45 and 40 iterations, respectively.
The effectiveness and validation of the proposed algorithm are further described in Figure 10 in which the sum rate is evaluated under D2D transmission power. As can be seen from Figure 10, the sum rate of proposed M21GS algorithm is better than CG [20], DARA [16], and the random resource allocation algorithm at each particular power level of the D2D user. Furthermore, when the transmission power is above 300 mW, the sum rate of the algorithm decreases but the proposed algorithm still shows an improved sum rate and a close performance to the optimal algorithm. Thus, the results provide the clue that the proposed algorithm is more energy efficient for each D2D user than the existing algorithms.

5. Discussion

This section discusses the findings of the proposed study. As can be seen from the simulation results in Figure 2, Figure 3, Figure 4, Figure 5, Figure 6, Figure 7, Figure 8, Figure 9 and Figure 10, the proposed allocation algorithm gives better performance in terms of the mentioned parameters in those Figures as compared with the existing competing alternatives. As can be seen from Figure 2, when the number of channel allocations increases, the total system capacity of the existing algorithms in references [16,20] and RRA is much lower than the proposed algorithm. The capacity gap gets wider with an increasing number of channels which makes the proposed algorithm superior than them. It is also worth notable that the proposed scheme has closed performance with the optimal allocation scheme and this validates with the analytical formulation. In Figure 3, the access allocation to the number of D2D users versus the number of channels is compared for all the algorithms. It can be clearly seen from Figure 3 that as the number of channels allocation increases, the D2D users’ access of the proposed algorithm shows better performance than the existing reference algorithms and it also has close relation with the optimal scheme, verifying its effectiveness. The impact of the number of D2D user pairs on the capacity is illustrated in Figure 4. As can be seen from Figure 4 that as the number of D2D user pairs increase, the capacity of the proposed scheme shows a better increase than the existing algorithm, which makes it suitable for a large number of D2D users pairs scenarios. To elaborate on the effectiveness of the proposed allocation algorithm further, the total system capacity is analyzed against the SINR threshold in Figure 5. The results indicate that the capacity of the proposed M21GS scheme is better than reference [16,20] and random resource allocation schemes for any SINR threshold value. This means the proposed scheme gives stable and improved QoS under different SINR conditions. The impact of the number of iterations on the total system capacity and the average energy efficiency is assessed in Figure 6 and Figure 7. In Figure 6, when the number of channels is 10, the proposed algorithm converges at Iteration = 4 and gives 0.6 × 108 bps capacity. When the number of channels is 20, the proposed algorithm reaches its peak capacity of 1.25 × 108 bps at Iteration = 7. Finally, when the number of channels is 30, the proposed allocation algorithm reaches the peak capacity of 1.9 × 108 bps at Iteration =12. Such results give us important information about the impact of the number of iterations on the total system capacity. It means that for a higher system capacity requirement when the number of channels is increased, the number of iterations should also be increased to reach the peak capacity value. On the other hand, the existing algorithms require a large number of iterations to give the same capacity, which makes them unsuitable for the D2D communications. The impact of the number of iterations on energy efficiency is illustrated in Figure 7. The results indicate the effectiveness of the proposed algorithm over the existing algorithms. The energy efficiency of the proposed algorithm is almost independent of the number of iterations and stable at 58 Mbit/J which makes it robust against hardware impairments and channel limitations. On the other hand, the scheme in reference [20] reaches an energy efficiency of 50 Mbit/J at Iteration = 13. The algorithm in reference [16] requires MAXGEN= 10 to reach its peak energy efficiency of 43 Mbit/J, whereas the random resource allocation algorithm requires MAXGEN=15 to reach its peak energy efficiency of 33Mbit/J. By comparative assessment of both results in Figure 6 and Figure 7, the proposed scheme requires a smaller number of Iterations to provide an improved performance than the other competing alternatives. Therefore, system performance can be controlled to an optimal outcome by setting the number of Iterations to a particular required value. Figure 9 and Figure 10 further elaborate on the effectiveness of the proposed algorithm.

6. Conclusions and Future Recommendations

The allocation algorithm based on the many-to-one Gale-Shapley algorithm proposed in this paper can effectively solve the resource allocation problem of D2D users using multiplexed cellular user channels in heterogeneous cellular network environments. In order to improve the utilization of the wireless spectrum, the algorithm allows multiple D2D users to share the channel resources of one cellular user and ensures the communication service quality of the cellular users and D2D users by setting the SINR threshold. A D2D user and channel preference list are established based on the implemented system capacity to maximize the system total capacity objective function. The KM algorithm is used to allocate channels for D2D clusters to maximize the total capacity of D2D users [21]. The MATLAB simulation is used to compare and analyze the total system capacity of the proposed algorithm, the resource allocation algorithm based on the delay acceptance algorithm, the random resource allocation algorithm and the optimal exhaustive search algorithm, and the maximum allowable access D2D users. The simulation results show that the proposed algorithm has fast convergence and lower complexity than the state-of-the-art schemes [16,20] and random resource allocation. The total capacity is close to the optimal algorithm. The next research area will be to extend this work to consider error margin in D2D underlaying cellular networks with a focus on power allocation and other important aspects [26].

Author Contributions

Conceptualization, O.A.S. and I.K.; Data curation, S.L.M. and S.A.; Formal analysis, O.A.S.; Funding acquisition I.K. and K.R.; Investigation, I.K. and O.A.S.; Methodology, S.L.M. and K.R.; Project administration, K.R. and I.K.; Software, O.A.S and I.K.; Writing—original draft, I.K., S.A. and S.L.M.; Writing—review & editing, I.K., O.A.S. and S.L.M.

Funding

This research work is funded by the Manchester Metropolitan University, UK.

Conflicts of Interest

The authors declared that they have no conflict of interest.

References

  1. Alemaishat, S.; Saraereh, O.A.; Khan, I.; Choi, B.J. An Efficient Resource Allocation Algorithm for D2D Communications Based on NOMA. IEEE Access 2019. [Google Scholar] [CrossRef]
  2. Lee, B.M.; Patil, M.; Hunt, P.; Khan, I. An Easy Network Onboarding Scheme for Internet of Things Networks. IEEE Access 2019, 7, 8763–8772. [Google Scholar] [CrossRef]
  3. Jameel, F.; Risniemi, T.; Khan, I.; Lee, B.M. Simultaneous Harvest-and-Transmit Ambient Backscatter Communications Under Rayleigh Fading. EURASIP Jour. Wir. Com. and Net. 2019, 166, 1–9. [Google Scholar] [CrossRef]
  4. Al-Sharif, M.H.; Kelechi, A.H.; Kim, S.; Khan, I.; Kim, J.; Kim, J.H. Enabling Hardware Green Internet of Things: A Review of Substantial Issues. IEEE Access 2019. [Google Scholar] [CrossRef]
  5. Jabeen, T.; Ali, Z.; Khan, W.U.; Jameel, F.; Khan, I.; Sidhu, G.A.S.; Choi, B.J. Joint Power Allocation and Link Selection for Multi-Carrier Buffer Aided Relay Network. Electronics 2019, 8, 686. [Google Scholar] [CrossRef]
  6. Trigui, I.; Affes, S. Unified Analysis and Optimization of D2D Communications in Cellular Networks Over Fading Channels. IEEE Trans. Commun. 2019, 67, 724–736. [Google Scholar] [CrossRef]
  7. Shamaei, S.; Bayat, S.; Hemmatyar, A.M.A. Interference Management in D2D-Enabled Heterogeneous Cellular Networks Using Matching Theory. IEEE Trans. Mob. Comput. 2019, 18, 2091–2102. [Google Scholar] [CrossRef]
  8. Lee, W.; Ban, T.W.; Jung, B.C. Distributed Transmit Power Optimization for Device-to-Device Communications Underlying Cellular Networks. IEEE Access 2019, 7, 87617–87633. [Google Scholar] [CrossRef]
  9. Gui, J.; Zhou, K. Cellular Throughput Optimization by game-based power adjustment and outband D2D communication. EURASIP J. Wirel. Commun. Netw. 2018, 254, 1–25. [Google Scholar] [CrossRef]
  10. Kim, S. A New Multicasting Device-to-Device Communication Control Scheme for Virtualized Cellular Networks. Wirel. Commun. Mob. Comput. 2019, 3550674, 1–9. [Google Scholar] [CrossRef]
  11. Ramezani-Kebrya, A.; Dong, M.; Liang, B.; Boudreau, G.; Seyedmehdi, S.H. Joint power optimization for device-to-device communication in cellular networks with interference control. IEEE Trans. Wirel. Commun. 2017, 16, 5131–5146. [Google Scholar] [CrossRef]
  12. Wang, F.; Li, Y.; Wang, Z.; Yang, Z. Social-community-aware resource allocation for D2D communication underlying cellular networks. IEEE Trans. Veh. Technol. 2016, 65, 3628–3640. [Google Scholar] [CrossRef]
  13. Tang, F.; Fadlullah, Z.M.; Kato, N.; Ono, F.; Miura, R. AC-POCA: Anticorrelation game based partially overlapping channels assignment in combined UAV and D2D-based networks. IEEE Trans. Veh. Technol. 2018, 67, 1672–1683. [Google Scholar] [CrossRef]
  14. Ma, R.; Xia, N.; Chen, H.H.; Chiu, C.Y.; Yang, C.S. Mode selection radio resource allocation, and power coordination in D2D communications. IEEE Wirel. Commun. 2017, 24, 112–121. [Google Scholar] [CrossRef]
  15. Islam, M.T.; Taha, A.E.M.; Akl, S.; Choudhury, S. A Local Search Algorithm for Resource Allocation for Underlying Device-to-Device Communication. In Proceedings of the IEEE Global Communication Conference (GLOBECOM), San Diego, CA, USA, 6–10 December 2015; pp. 1–6. [Google Scholar]
  16. Islam, M.T.; Taha, A.E.M.; Akl, S.; Abu-Elkheir, M. A Stable Matching Algorithm for Resource Allocation for Underlying Device-to-Device Communications. In Proceedings of the IEEE International Conference on Communications (ICC), Kuala Lumpur, Malaysia, 23–27 may 2016; pp. 1–6. [Google Scholar]
  17. Hasan, M.; Hossain, E. Distributed Resource Allocation in D2D-enabled multi-tier cellular networks: An auction approach. In Proceedings of the IEEE International Conference on Communications (ICC), London, UK, 8–12 June 2015; pp. 2949–2954. [Google Scholar]
  18. Zhang, R.; Cheng, X.; Yang, L.; Jiao, B. Interference-aware graph-based resource sharing for Device-to-Device communications underlying cellular networks. In Proceedings of the IEEE Wireless Communications and Networking Conference, Shanghai, China, 7–10 April 2013; pp. 140–145. [Google Scholar]
  19. Sun, H.; Wildemeersch, M.; Sheng, M.; Quek, T.Q. D2D enhanced heterogeneous cellular networks with dynamic TDD. IEEE Trans. Wirel. Commun. 2015, 14, 4204–4218. [Google Scholar] [CrossRef]
  20. Gurobi. Optimization—The Best Mathematical Programming Solver. Available online: http://www.gurobi.com (accessed on 13 June 2019).
  21. Gale, G.; Shapley, L.S. College admissions and the stability of marriage. Am. Math. Mon. 1962, 69, 9–15. [Google Scholar] [CrossRef]
  22. Feng, D.; Lu, L.; Yuan-Wu, Y.; Li, G.Y.; Feng, G.; Li, S. Device-to-Device Communications Underlaying Cellular Networks. IEEE Trans. Commun. 2013, 61, 3541–3551. [Google Scholar] [CrossRef]
  23. Recommendation, I.R. Guidelines for Evaluation of Radio Transmission Technologies for IMT-2000; International Telecommunication Union: Geneva, Switzerland, 1997. [Google Scholar]
  24. Saleem, U.; Jangsher, S.; Qureshi, H.K.; Hassan, S.A. Joint Subcarrier and Power Allocation in the Energy-Harvesting-Aided D2D Communication. IEEE Trans. Ind. Inform. 2018, 14, 2608–2617. [Google Scholar] [CrossRef]
  25. Chen, Y.; Ai, B.; Niu, Y.; Guan, K.; Han, Z. Resource Allocation for Device-to-Device Communications Underlaying Heterogeneous Cellular Networks Using Coalitional Games. IEEE Trans. Wirel. Commun. 2018, 17, 4163–4176. [Google Scholar] [CrossRef]
  26. Abdallah, A.; Mansour, M.M.; Chehab, A. Power Control and Channel Allocation for D2D Underlaid Cellular Networks. IEEE Trans. Commun. 2018, 66, 3217–3234. [Google Scholar] [CrossRef] [Green Version]
Figure 1. Proposed System Model.
Figure 1. Proposed System Model.
Applsci 09 03816 g001
Figure 2. Comparison of the total system capacity under different number of channels of the algorithms.
Figure 2. Comparison of the total system capacity under different number of channels of the algorithms.
Applsci 09 03816 g002
Figure 3. Comparison of the maximum allowable number of D2D users of the algorithms.
Figure 3. Comparison of the maximum allowable number of D2D users of the algorithms.
Applsci 09 03816 g003
Figure 4. Comparison of the sum rate of the algorithms under different number of D2D users.
Figure 4. Comparison of the sum rate of the algorithms under different number of D2D users.
Applsci 09 03816 g004
Figure 5. Impact of SINR threshold on total system capacity.
Figure 5. Impact of SINR threshold on total system capacity.
Applsci 09 03816 g005
Figure 6. The convergence of the proposed algorithm.
Figure 6. The convergence of the proposed algorithm.
Applsci 09 03816 g006
Figure 7. Comparison of the energy efficiency under different number of iterations.
Figure 7. Comparison of the energy efficiency under different number of iterations.
Applsci 09 03816 g007
Figure 8. Average Energy Efficiency comparison under different number of CUEs.
Figure 8. Average Energy Efficiency comparison under different number of CUEs.
Applsci 09 03816 g008
Figure 9. Average number of iterations against the number of D2D users under different algorithms.
Figure 9. Average number of iterations against the number of D2D users under different algorithms.
Applsci 09 03816 g009
Figure 10. Comparison of the sum rate of the algorithms under the average transmission power of D2D users.
Figure 10. Comparison of the sum rate of the algorithms under the average transmission power of D2D users.
Applsci 09 03816 g010
Table 1. D2D (device-to-device) user preference list.
Table 1. D2D (device-to-device) user preference list.
D2D User PairPreference Level
12345
134512
235241
312354
Table 2. Simulation Parameters.
Table 2. Simulation Parameters.
ParameterValue
Cell Radius1000 m
Number of channels that D2D users can share2
Macrocell subscribers (number of channels)10~50
Microcell base station density10−5/m2
Channel bandwidth0.18 MHz
D2D user transmit power20 dBm
Macro and micro cell user transmit power20 dBm
Gaussian white noise density−174 dBm/Hz

Share and Cite

MDPI and ACS Style

Saraereh, O.A.; Mohammed, S.L.; Khan, I.; Rabie, K.; Affess, S. An Efficient Resource Allocation Algorithm for Device-To-Device Communications. Appl. Sci. 2019, 9, 3816. https://doi.org/10.3390/app9183816

AMA Style

Saraereh OA, Mohammed SL, Khan I, Rabie K, Affess S. An Efficient Resource Allocation Algorithm for Device-To-Device Communications. Applied Sciences. 2019; 9(18):3816. https://doi.org/10.3390/app9183816

Chicago/Turabian Style

Saraereh, Omar A., Saleem Latteef Mohammed, Imran Khan, Khaled Rabie, and Sofeine Affess. 2019. "An Efficient Resource Allocation Algorithm for Device-To-Device Communications" Applied Sciences 9, no. 18: 3816. https://doi.org/10.3390/app9183816

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop