In 5G networks, the spectrum allocation techniques play a very important part of the quality of content delivery services. The processes of channelling and device selection are important in the 5G technology and beyond with many access devices in networks to improve the quality of services. In this paper, we propose a method based on Fuzzy Logic, Game Theory, and Smart Method (which is a combination of Fuzzy Logic and Game Theory). These methods are suitable to improve the speed and quality of links of data routing in networks. The paper shows that effective spectrum allocation to devices is not an option but a requirement in a huge data flow environment of the wireless communications, if one wants to ensure acceptable speed and quality of the connection and to provide adequate quality of the services. Each of the selected methods for radio resource management has some advantages and disadvantages in the evaluation of results. The paper describes the process of channel allocation with different methods for IEEE 802.11xx networks that are in the focus of our research in the sphere of wireless communication. Companies use cloud computing to provide services and to share information, but there needs to be some radio resource management to effectively use the services in the wireless mobile environment because the number of different types of devices being connected to the wireless networks to create smart homes and smart cities is growing.

1. Introduction

The 5G technology, mobile ad hoc networks, or other types of wireless networks take into account communication control information between devices and obtain this information to select suitable channels to increase the quality of the network. The main aim is to allocate channels to improve the quality of the services, which leads to a speed improvement and decrease the interference. The efficiency is used for the optimization of the channel selection in wireless networks to improve the quality of the device connection. Furthermore, smartphones are very significant devices in the modern era of the wireless networks and their constantly increasing processing, communication, and sensing capabilities lead to the expansion of their application in various fields of the services. The available spectrum in the way that is used today is not effective. It is more effective to use a free channel for communication without interference (trying to minimize interference) while serving a huge number of wireless devices. For this purpose, the cognitive radio technology is suitable, because it enables spectrum switching based on a set of measurable parameters. Also, the cognitive radio allows a channel to be changed even if communication on the selected channel is insufficient due to interference caused by an adjacent device communicating on an inappropriate communication channel. The 5G technology will be able to support all communication needs as a low power Local Area Network (LAN) used as a home network, for Wide Area Networks (WAN), with the right latency and speed settings. The technology will be able to communicate with the broad variety of modern wireless and mobile networks (IEEE 802.11xx, Z-Wave, LoRa, 3G, 4G, etc.). Where there is a communication, there also needs to be the channel allocation mainly in networks with many types of devices such as the Internet of Things [1]. It should be a smart channel allocation and the process should be able to adapt to the environmental conditions in order to prevent radio interference.

2. Spectrum Allocation in Modern Wireless Networks

If there is an imminent threat, whether natural or artificial, people prefer to work from home, usually operating from local home networks for some period of time. In such a situation, every provider in the world faces a problem of a large amount of people staying at home all day long and using their services with a huge data flow [2]. This is a situation requiring fast, secure, and low interference forwarding of the data on the Internet in the time when vast numbers of people need to work from local Internet providers. One can see how some Internet providers decrease the quality of their services (e.g., video streams) to be able to serve every customer watching films, listening to music, playing video games, and so forth at the same time at home. Many devices and data streams are connected to the same access point with the same selected channel. The design of the method for channel allocation needs to take into account a spectrum sensing to obtain availability information from the radio environment for each associated device [37].

The spectrum sensing method helps to measure individual parameters, for instance, the intensity of the received signal (received signal strength (RSS)), the interference from surrounding devices, and their communication channels currently in use. Another important parameter is the ratio of signals (signal-to-interference ratio (SIR)). This parameter indicates the ratio of useful signal and interference caused by the transmission of neighbouring devices within the radio range. Certainly, it is not effective to select a channel with the high traffic/network data load. A more suitable approach would be to select channels with average, low, or no traffic at all. An important parameter representing the quality of the network connection is the SIR ratio.

2.1. Game Theory as a Method for Channel Allocation

The Game Theory (GT) was originally designed for economic and social research, but nowadays it is used in much more disciplines. This method can also be applied in wireless communication to the channel allocation [8]. The method can be defined as a study of mathematical models of conflict and cooperation between intelligent rational decision-makers.

Game is defined as the set , which is a nonempty set. Elements of this set are individual players. In addition to this set, we also have a set of sets , , … , and real functions , …, defined on the set , , … , . Then a normal game holds two sets:where the set means a set of players, represents the set of strategies for the -th player, and is a gain function (pay-off function) of the -th player. Also, each player has a strategy set , , , or , where represents the total number of players [8].

The GT provides general mathematical techniques for analysing situations in which two or more players make decisions and influence other players [9]. It is a method for channel allocation, which uses input parameters to select a suitable type of game with a suitable strategy to improve the pay-off for channels used in the network [10].

The input parameters are priority parameters and they define the quality of services on each channel. The problem in the channel allocation is the cooperation in game strategy (channel choices) to improve the quality of the affected channel and network. The quality of the network for better communication should be the main aim, rather than the communication between two individual devices. We decided to use the Game Theory based on the game with the name “prisoner’s dilemma” for the channel selection in D2D networks. The prisoner’s dilemma presents a situation where two players are separated and are unable to communicate with each other. Each of them must choose between cooperating or not with the other player. The highest reward for each part occurs when both parts choose to cooperate. The same strategy can be used to select the best available channel to increase the quality of the link. When the quality of the network increases, it also means that the quality of the channel is better. In the situation where one player betrays another one, the quality of channel is increased only for a dominant player. The remaining player is forced to select one of the inferior channels. Thus, mutual cooperation is a key strategy for an optimal channel allocation. Therefore, the quality of network services can be optimal on both sides. The GT consists of players and strategies to improve the probability of winning the game. In a network, devices represent players playing the game. A typical wireless network consists of several equivalent devices. Because of that, the channel distribution is distributed equally. If a scenario regarding cognitive radio network consists of a particular number of primary and secondary devices, these devices are not equivalent (they are not treated equally) [1115]. This scenario has a hierarchy, where the primary device has higher access rights to a transfer medium than the secondary device.

2.2. Fuzzy Logic as a Method for Channel Allocation

A method based on Fuzzy Logic (FL) is used for a more accurate evaluation of the channel selection. The advantage of FL is in the interval of values and not just in the definition of a parameter as suitable or nonsuitable [16]. Figure 1 shows how the method works, with each parameter defined by its affinity function. As one can see in Figure 1, the process of the channel selection includes the fuzzification and defuzzification processes [17]. The fuzzification is the process of changing a real scalar value into a fuzzy value. This is achieved with the different types of functions (membership functions). The types of membership functions (MF) provided by the Fuzzy Logic Toolbox in Matlab are shown in Figure 2 and the simplest one is formed by the straight lines to create a triangle, which is the basic shape of a membership function [18, 19].

The fuzzification process determines the degree to which input data belong to each appropriate fuzzy set via the membership functions. The shapes of these functions can be diverse and various. For each input and each output, a variable member function needs to be selected. Typically, there are three, but the final number of functions can vary.

The defuzzification process obtains a single number from an output of the aggregated fuzzy set. The most commonly used defuzzification method is “the centre of the area method,” also commonly referred to as the centroid method. Figure 3 shows the number of input parameters (IP); one needs to define several rules for each combination of the parameter sets.

Table 1 contains possible fuzzy operations for OR and AND operators on these sets, comparatively. The most frequently used operations for OR and AND operators are max and min, respectively. Let and represent the membership functions for fuzzy sets and . For complement (NOT) operation, equation (2) is used for the fuzzy sets [17]:

The output from the FL is the rank of each channel. The Fuzzy Inference System consists of two methods, which have different consequences of fuzzy rules and also different impacts on output values.

The Mamdani method [20] uses the trimming of the output membership function to rank input membership value. This method was originally designed to imitate the performance of the human operators in charge of controlling certain processes in an industrial environment. This system is composed of If-Then rules of the following form: If is Then is , where and Y are parameters and and are sets of these parameters. As an example in our scenario, it can be as follows: If traffic is “low” then a channel is “suitable.” The If part is is called the antecedent of the rule, and the Then part is is called the consequent of the rule. The Mamdani systems are universal approximators and they can include knowledge in the form of linguistic rules that can be used for local fine-tuning [21].

The Sugeno method is the system that was first proposed by Takagi and Sugeno in 1985 [22], and the next version of the method was proposed by Sugeno and Kang in 1988. This method is also known as the Takagi-Sugeno-Kang (TSK) fuzzy model or the Sugeno model. The main feature of the Takagi-Sugeno fuzzy model is to express the local dynamics of each fuzzy implication (rule) by a linear system model. Also, this model is a universal approximator of any smooth nonlinear system [23].

The main difference between these two methods is that the Mamdani method is intuitive, it has widespread acceptance, and it is well suited to a human input. On the other hand, the Sugeno controller has more adjustable parameters compared to the Mamdani method controller. The Sugeno method is computationally efficient, it works well with linear techniques, and it also works well with optimization and adaptive techniques [23].

3. Proposed Algorithms for Channel Allocation

In this section, we present algorithms for channel allocations based on three methods (Game Theory, Fuzzy Logic, and Smart Method). In our algorithm, we consider a situation in which 13 wireless channels exist. These channels work as communication medium based on IEEE 802.11xx technology [24]. Every proposed method works autonomously on every device, but we define a parameter ID_value for the order of channel allocation in the algorithm. This parameter is based on the total number of devices in the algorithm. First of all, every device needs to power on and to be able to connect to the network. The next step is the spectrum sensing which has a capability to collect important information about QoS of the links between neighbouring devices and the device itself, as well as the information about already selected channels in the radio range. The device can start a process of communication or it can stay idle if the device has no data to transfer. After this initial process, when the device has all information about the neighboured channel, the allocation method is used. The priority is to distribute available channels with no repetition in the radio range, as it is in a random distribution. Beyond these parameters of QoS for proposed methods, we also need to define the initial parameters, such as the position and radio range in the investigation area of each device (see Table 2). Devices share information about neighbours in the radio range and they can create a topology of the network. The network topology is created by links between devices. There is no localization algorithm that defines the position of each device in the network [25]. These parameters are shown in Table 3. Also for our algorithm, we need the priority parameters to define the quality of services on each channel.

The quality of the selected channel is based on interference from the environment in the radio range. We need to define how many of these priority parameters are enough to define the adequate quality of the link. We determine three main priority parameters: the first is the parameter of SIR_value which shows the communication suitability of the channel in the present environment, the second is the parameter of RSS_value which selects the more suitable channel for the device in a lower distance, and the third is the parameter representing the current amount of network traffic in order to determine how much capacity of the channel is being used. We select these three parameters to define the quality of the channel, but, with more parameters for the device, we need more time to obtain information. Also, the method with many parameters needs more time to evaluate the output value for each channel. The main focus of the suitability of channel is based on the SIR_value and only channels with the suitable value of this parameter are considered as appropriate channels for communication. Table 4 shows all possible sets of the selected input parameters for the proposed algorithms. We use the RSS_value to calculate the SIR_value, because the distance between two devices influences the available channel difference. It is possible to calculate the SIR_value as the ratio of used signal and interference from other devices in the radio range [26]. Small distance influences connection more than long distance on the edge of the radio range. The value of the RSS parameter is determined by the strength of the received signal from the device in the radio range. Mobile devices can measure and determine the RSS_value based on the received signal strength [27, 28]. So we assume that the device can determine this value, and, therefore, we only use the distance of two devices to define the value of this parameter for the algorithm process. The value of the SIR parameter is determined by the radio range of devices and their channels used. The intensity of this influence is according to their distance. A device is more influenced by the closer device. We select the path from Source device ID_1 to the Destination device ID_40. The path is selected using Dijkstra’s algorithm for determining the shortest path between the two devices, based on the connecting links in the network for devices in the radio range. Every device in the network with our algorithm has at start initial channel set to 1 as a channel to share the information between devices. Every device, when it makes a game move, exchanges information about the channel selection from devices with lower ID numbers. The device does not have to analyse every device; it needs to analyse only devices in radio range and neighbours of neighbours to secure no interference. If there is a situation when there are no available channels, the device has two options. The first one is to wait until at least one available channel appears, and the second option is to choose some of the already used channels. The second option has some disadvantages but we can decrease the interference to a minimum and choose the channel with the lowest interference.

In the algorithm, ID_value indicates the order in which devices run the method. The first game move is made by the device with ID_1 to allocate channels for all neighbours of this device. A device with ID_1 also allocates channels to each device in radio range based on ID_value from the lower one of the highest. After the device with ID_1 selects channels for all neighbours, the next device can start the process of allocation. The next device in order is the device with the value ID_2 and the process is the same; only the device with ID_2 needs to consider selected channels by a device with ID_1 and optimize the channel allocation to this selection. Every device has a list of available channels that can be used. If the previous device uses some channels and it is in the radio range, then the device will discard this channel from the available list. If the device has no neighbours, there is no need to start the process of channel allocation, and it is possible to skip to another device with a higher ID_value. The network topology consists of channel allocation for each link in the network, but it only represents preparation for demand on new data transfer between devices to select a suitable channel. The change of these channels takes place at each time slot of the movement. The proposed methods optimize channel allocations with a different number of iterations. The second iteration of the algorithm is about channel allocation and optimization of the network link quality based on the selected allocation method. During the next iterations, the optimum channel for connection between two devices is selected. Another attribute is the final channel allocation for each device, which is the last iteration of each method. The channel selected in the last iteration is to be used for the D2D connection in the radio range. The main idea of the proposed methods is presented in Figure 4 with main blocks for channel allocation. After parameter initialization based on the selected method, rules, and threshold_value, the algorithm decides if a device has the new better channel to be used or the previous channel is more suitable to be used. Each method based on a number of iterations changes channels multiple times, but the final channel allocations for the D2D connections come from the last iterations. What is suitable for one method is not suitable for another method. Also, this influences the total number of iterations necessary for the channel allocations optimization in the D2D network.

3.1. Method Based on the Game Theory Principle

There exist many different types of games that can be used, as well as information that can improve channel selection for devices in the network [2931]. If devices want to cooperate to improve the quality of the network, then it is possible to achieve the best possible communication quality in the network. Improvement of network communication should be the main aim, rather than the communication between two individual devices. We suggest using the game type similar to the game with two prisoners. The main purpose is to reach an agreement sufficient for all players. Each device selects a channel based on previous game moves on a device with a lower ID number. The principle of the game is that one player makes a game move and other players need to react to this movement and to implement an appropriate strategy for this movement. The pseudocode of the algorithm is shown by Figure 5. We use functions such as SIR_rank_value to evaluate SIR ratio for each channel; also input to this function is RSS_value. The distance of two devices with RSS_values influences how strong the interference to other channels is and if that can be used as the channel for communication. The Traffic_matrix influences how suitable the channel is. However, the main aim is to evaluate the channel’s suitability based on the SIR_value. A device selects the channel if the difference between the selected channel SIR_value from the previous iteration and the SIR_value of the best channel in the current iteration is higher than the threshold_value. If this difference is lower than selected threshold_value, the device will use the channel from the previous iteration. The last step of each iteration is to rank the channel used in this iteration. The channel rank is based on FL method and the output of this method is used as the channel rank, due to the fact that the channel rank value in the FL is defined as the degree of suitability. This value is from the interval 0 to 100, where 0 is the worst value and 100 is the best one.

Game Theory operates autonomously on each device and every device uses the cooperation strategy to share information with the other neighbours in the radio range to increase the effective distribution of channels. But, in our simulation, we set the order of channel allocations by the ID value. There exist many types of games to be implemented in our scenario, but we have decided to simulate a scenario with the cooperation of all devices in the network and we use the “prisoner’s dilemma” game type. The “prisoner’s dilemma” game aims to obtain pay-off not for one of the players but to each one of them to give the best output value. To obtain this value, players need to cooperate and play the same strategy. The same principle can be used to choose an optimal channel in the network and to improve the quality of links for each communication.

3.2. Method Based on the Fuzzy Logic Principle

In the FL method, we use the RSS_value, SIR_value, and Traffic_value parameters to rank the quality of a link for each device the same way as in the GT method. Figure 6 shows FL with these selected input parameters. Also, we focus rules more to SIR_value as the priority parameter that defines if the channel can be used or not. If the SIR_value is suitable, then the channel is suitable to be used. Other parameters (RSS and traffic) only define how suitable this channel is. On the other hand, if the SIR_value is nonsuitable, no matter how high values of other parameters are, we consider this channel as nonsuitable. Some examples of rules for FL are shown in Figures 7 and 8 [32]. These figures show the limited rules for input parameters. Other rules only define how suitable examined channel is for allocation. The total number of rules is defined by several input parameters and their number of sets.

A channel can be ranked as very suitable, more suitable, suitable, or nonsuitable. A device can select if a channel is suitable or with a higher rank value, but the main aim is to select those with the highest value due to the information from the spectrum sense and obtained information from devices in the radio range. Figure 9 shows the pseudocode of the algorithm we used for the channel selection. As one can see, it is similar to the GT with the same input and initial parameters. The main difference toward GT is in the decision. The GT uses SIR_value difference as an attribute to decide if the channel is suitable or not. The FL uses Fuzzy_logic_value as an output from FL not only to rank each channel but also to decide if the channel can be used. The difference of previous iteration Fuzzy_logic_value and current Fuzzy_logic_value has to be higher than the threshold_value. Only then can this channel be used and be allocated to link two devices. It is not effective to use a channel with a nonsuitable value of the SIR parameter, due to the fact that this channel has high interference, which means also low speed, more errors of packet delivery, and so on. The first process of each device is to allocate the channel to be able to communicate with other devices and to send control information, channel selection of other devices, and other information about the quality of links in the radio range.

3.3. Smart Method for Channel Allocation

The Smart Method is based on a combination of the GT and the FL. Attributes from the GT are the cooperation and more iterations to obtain optimal channels for each device. The process of this method is autonomous on each device in a one-time slot, where devices are not moving. The devices move in the simulation area with some social attributes but within one-time slot step simulation complete evaluation to verify which channel is suitable to select in each iteration [33]. The FL is used as a complete unit; we only add attributes from the GT. The principle of decision is the same as the FL method, only with more iterations, where each device can react to other device selections. The player makes a game move and then the next player makes a game move but every player needs to consider the previous player’s selection. The channel rank is defined by the FL method for each iteration. The algorithm for this method is shown in Figure 10, where, in comparison with a method based on the FL, the only differences are the number of iterations and the strategy. The devices are able to change a channel multiple times, when it is possible to make it due to threshold_value condition. If the channel is the same for more than one iteration, it means that there is no suitable channel to improve channel rank with consideration to the threshold_value.

The multiple-channel selection by each device improves the channel allocation in the network, where a player makes a game move and the other player needs to react to this game move with the suitable game moves. The device sequence of selections of the suitable channel is by the device ID (IDentification number). The device with the lowest ID number uses this method as the first [34]. This method is used for each device separately, but again it is necessary to maintain a certain order in the algorithm. The first player by ID_value, after analysis of available channels at each iteration, selects if a suitable channel is available based on a threshold condition. If this threshold condition is not valid, then the device uses the same channel as in the previous iteration. Based on the strategy of device, one iteration is appropriate to select the best available channel for this device or improve also networks’ quality of links. Also, this change of channel is based on received information from other devices in network and the spectrum sensing from the radio range. If the device in the radio range chooses a channel, the device being investigated receives another suitable channel for reassessment; for this reason, the FL should be used multiple times and react to these allocations by other devices. The GT is represented in this Smart Method by the cooperation of each device and by sharing their information about channel selection. Also, the GT typically uses more iterations than one in a total time of evaluation to obtain the output value of the method. The disadvantage of this method with more than one iteration is the time that is needed to complete the evaluation. More iterations can enhance the suitability of using a given channel, since repetition can be used to select a more appropriate channel if this channel is available. The main aim is to optimize the network pay-off with the cooperative strategy of devices.

4. Simulation and Results

We simulated the proposed algorithms for channel allocation based on IEEE 802.11xx technology in the simulation program Matlab. This program is suitable to use the FL toolbox and to evaluate our definition of rules and parameters for simulations. Also, this environment is suitable for the use of the GT principle for channel selection. We can simulate our proposed Smart Method as a combination of the GT attributes with the FL method. We set an interval for RSS and traffic priority parameters from 0 to 100. We consider the best value of RSS as 100, when two devices are side by side, and the value of 0, when two devices are not within radio range. The traffic value is set at the best value 0 and the worst 100. Generally, a signal ratio is represented by SIR_value of 20 dB or more. It is recommended that data networks should have the SIR_value of 25 dB or more to use voice applications. We set the limit (minimum) value of SIR_value to 18, which represents value in dB, and channel with the higher value is more suitable to be used. Similarly, we predict a signal strength based on the distance, where the radio range of the device is set to 100 m. We consider that the signal is very strong if a distance between the two devices is lower than 30 m. When two devices are side by side, then the RSS_value is set to 100, because their distance is very low. We consider device distance as large when it is more than 70 m. The RSS_value is “low,” when the value equals 30. We consider the distance of two devices between 30 m and 70 m as “normal.” The initial Traffic_value is set to 10 for the start of the algorithm. Subsequently, the Traffic_value is generated in the range from 10 to 90 when a channel is changed to a link between two devices based on the selected scenario of the simulation. We simulated the channel allocation on the selected path from the Source device with ID_1 to the Destination device with ID_40. The path from Source device to a Destination device is selected by Dijkstra’s algorithm.

4.1. Game Theory as the Method for Channel Allocation

The Game Theory with final channel allocation according to this method is shown in Figure 11, where the investigated path from the Source device to the Destination device is shown by the red line. Every device allocates a channel for communication in every iteration. To show the channel change during iterations, we select this path and it is possible to show how the channel rank is changed. Also, we can show how the channel selection influences other devices in the radio range. Other devices react to these game moves and adjust the strategy to them. Each device has a finite set of actions. The GT method is more based on the cooperation of devices in the game. The strategy of the device in a typical game is to win the game. We eliminate the dominant strategy to select the best channel for the device by itself no matter if this selection increases or decreases the pay-off of the other devices and uses the strategy to optimize the channel allocation by coordination to select the channel, which increases the rank of the network. A method based on the game needs to make compromises to improve network routing. Every device is able to communicate with only one device at a one-time slot. Other allocated channels are prepared for devices in case there is a demand to set up a new connection and to start the data transfer with another neighbour device in the radio range. It is not correct and sufficient to set a value of threshold for each parameter due to changes in input parameters at each time step when the device movement occurs. The better choice is to select a threshold of difference between the previous channel rank (RSS, SIR, and traffic) and the current channel rank (RSS, SIR, and traffic). When we set the threshold with low value such as 15, it leads to more channels selection and also more iterations for the optimal channel selection in a network. The higher value of threshold such as 30 or more leads to a lower number of the total iterations for the optimal channel selection. The total number of iterations will be five or lower to allocate the final channel of link. In this scenario, we use the value of the threshold difference set to 20, due to the fact that each parameter is set to an interval from 0 to 100. If the previous channel is selected, then SIR_value of this channel is set to 18, which represents that this channel is suitable to be used but only in case if there is no better channel to be selected. Another channel has a better value if there are not so many devices in the radio range with inappropriate (interference) channels, which influence the quality of this channel. A device with lower RSS_value influences the lower SIR parameter compared to a device with higher RSS that influences higher SIR_value. The reason for this is the process in which we obtain RSS_value in our scenario. We calculate this parameter from a distance of the two devices. When the distance of the two devices is high, the value of RSS is “low,” which also means the low intensity of the signal received at this device. When two devices are close to each other, the value of the RSS is “high” and the intensity of signal strength is better. Parameter traffic is at first iteration set to value of 10. It means there is no data transfer and only this channel is used to send control frames to each device in the radio range. In the second iteration, where the device selects a better channel to communicate with other devices, the value of traffic is changed to the random value from the interval of 10 to 90. The traffic parameter is changed at every channel change, which represents the data flow at the communication channel on each device. There is no need to send packet data between devices; we simulate this transfer by this parameter. When devices make a move (physically) in a one-time slot, every parameter changes. The fixed value of the threshold is not suitable when this value needs to be different in every slot. It is not very suitable to determine a general threshold value appropriate for every possible situation of parameters values combination. This would only be possible if one of the most important parameters is determined as suitable. Only then is it possible to continue the channel rank with other parameters of the link quality. Therefore, it is preferable to determine the threshold_value as the difference between the previously selected channel and the current channel suitable to be used. The exact value of the threshold is at one point sufficient, but when devices make a game move or the physical movement, the same value of the threshold will be insufficient. The evaluation would be possible by additional rules and this would lead to the application of the principle of a simplified version of the FL.

Figure 12 shows the channel change based on the GT method and cooperation strategy on the selected path from the Source device to the Destination device. As we can see, there are a lot of channel changes based on the GT channel allocations in a one-time slot with 20 iterations. The device can change the channel if the threshold_value of difference is equal to or higher than 20. Links between selected devices change channels at all possible iterations. Some devices use the same channel for more iterations, due to the fact that there is no better channel to be selected. Also, based on this figure, two links can change the channels just one time for the time slot during the simulation. This means that no better channel with a higher difference as set threshold_value is available. If the value of the threshold is set to 20, it shows, in some cases, constant channel use for more iterations, because there is no better channel to select. Some links change channel more often based on the threshold_value, if there is a better channel. If we select the threshold to a higher value, then the lower number of channel changes will be made. The higher value of threshold means lower number of changes to optimal channel allocation in networks. The GT method changes the channel of at least one device in every iteration. It means, for this method, to decrease the total number of channel changes, we need to increase the number of input parameters. Figure 12 shows the channel selection based on the GT and, for this selection, we evaluate the channel rank for each channel link on the selected path. We evaluate the channel rank for each method with the FL principle, which only shows statistical values for the comparison of different methods. The FL principle is suitable to be used for statistics of channel rank because the output can be defined on the interval of values based on rules and the membership functions to each parameter as the input of this method. The channel rank based on the GT is shown in Figure 13. The final channel allocation is at the last iteration of each method. Every change of channel rank influences devices in the radio range with their game move based on the strategy sets to cooperate and improve the quality in the network. The device does not change the channel, but the quality of the link decreases or increases. This change is by the channel selection of other devices in the radio range. Each device uses strategy to improve the quality of a link in the network. It means every device, when it makes a game move, uses the strategy of cooperation and selects the best channel to improve the quality, not for its higher pay-off value but to improve the pay-off of the network. The channel rank of these two methods is different due to the total number of channel changes in iterations. The GT method changes channel more often for devices based on the channel rank.

4.2. Fuzzy Logic as the Method for Channel Allocation

The Fuzzy Logic as a method for channel allocation seems to be more suitable because this is a more precise method to rank each channel based on the membership functions. On the one hand, the FL works as a ranking method, and, on the other hand, the GT works as a method that selects channels based on the strategy directly. Consideration should also be given to the case when the same channels are allocated for communication between different devices. The topology of the network is shown in Figure 14 with selected channels for each device, but at a one-time slot similar to that in GT the device can communicate only with one device. Other channels are ready for possible communication with neighbours. Membership functions use a triangular form or other forms of the functions to define individual values in extreme cases of the interval, and the trapezoid form function is used in other parameter values. These functions can be seen in the previous subchapter on the FL principle. The FL method uses rules to determine whether a statement is true or false. In this case, we consider rules based on the values of the RSS_value, traffic on a channel, and the SIR ratio of signals. Mobile devices can measure and determine the RSS_value based on the received signal strength. So we assume that the device can determine this value, and therefore we only use the distance of two devices to define the value of this parameter for the simulation process. The output value of the FL based on the rules can be very suitable, more suitable, suitable, less suitable, or nonsuitable. Some of the rules for this method are shown in Table 5. The main aim is to choose a channel with a suitable value of SIR. Other values of parameters influence how suitable a channel to allocate is. The FL uses only one iteration to choose an optimal channel to increase the quality of the network. Figure 15 shows channel allocations based on the FL method on the selected path.

The FL method based on rules for the input parameters (RSS, traffic, and SIR) evaluates the channel selection. Each device chooses the channel with the highest value to improve the quality of the network. The FL output value is set for each channel from an interval of 0 to 100. This value represents how suitable a channel for communications is. The value represents the evaluation of the channel rank for connection between two devices based on information obtained from the surroundings as well as the transmission of information data. This value is evaluated based on the information obtained from the spectrum sensing and information that the devices share in the radio range. It means that the value is based on cooperation between devices to select a better channel and increase the quality of the network. The rules are defined for each input parameter value to evaluate channel rank in this method. The simulation parameters are the same as those in the GT, a method with 40 devices, and the order of channel selection is based on the ID for each device. This process can be assigned to channel selection based on the MAC address, where the order of the value is determined by this address. The method has only one iteration, where each device based on the ID order selects a better channel for communication, if there is a one based on the threshold_value of difference. The simulation uses threshold_value set to 20. The higher or lower threshold_value influences the countability of channel change. This method also uses the output value of the FL as a channel rank. The device selects a new channel if the value of the difference between the previous channel and the current best channel on the current rank is higher. If this difference is lower, the device uses the same channel. If the movement was used in the simulation, this channel selection would be repeated at each time slot, when each device moves to a new location. Every time slot consists of channel allocation based on this method. This type of allocation is not so slow in evaluation so it can be used in every time slot with movement. However, the GT with 20 iterations will be slower than the FL to evaluate the final channel allocation for each channel at every time slot. More iterations mean FL with attributes from GT. The method works independently on each device; only channel selection is according to the order based on the ID number in our simulation. In the real operation scenario, each device obtains the necessary information and it performs the channel redistribution process using this method. To redistribute and improve the quality of the network, it is sufficient to choose this method, as the individual devices choose the optimal channel for communication from the available channels, and, at the same time, this channel is suitable for them. Each device makes a move (channel allocation) and responds to the previously selected channels by devices with a lower ID number to all neighbours in the radio range. The channels ranks are shown in Figure 16 with links between two devices on the selected path from the Source device to the Destination device. The channel rank is “low” if there is a large number of interference devices in the radio range. The channel change leads to a more suitable one and obtains a higher output of channel rank in the next iteration. The method uses an interval to define the quality of the channel and not just a Boolean-type of evaluation. Some types of the GT use Boolean logic to define parameters of the link quality. The FL, on the other side, uses the membership functions to define these parameters with mathematical functions with different shapes. Change type of membership function from one type to another one means to change the result of the output value for each defined parameter. The simulation of GT needs 20 iterations to obtain an optimal channel allocation for the network. Same threshold_value and the same input parameters but a different type of membership function together mean a different number of iterations to obtain an optimal channel allocation.

4.3. Smart Method as the Method for Channel Allocation

The smart channel allocation method of simulation uses 20 iterations to obtain optimal channels for the network in a one-time step when devices do not change their location. The topology of the network is shown in Figure 17. The channel allocation is a process that evaluates the channel allocation between the movements of each device. Time is required to get the input parameters into the method, but subsequent decision-making is performed within a one-time step. The repetition of the simulation shows that the number of iterations does not have to be large, as repetition does not result in such drastic increases in channel rank if an appropriate decision value is selected. The biggest change of value is at the second iteration, when the allocation of communication channel 1 is changed according to the parameters to a more appropriate one using FL as the method of selection. The subsequent rank of possible channels being used is decreased due to the fact that some of the channels are already used with devices and they will not achieve such a low interference. The output from the Smart Method is the channel allocation for each device in the network, which is shown in Figure 17. Each link of two devices has a channel for communication, but, in the one-time slot, the device can connect only to one device. So other channels are only to be ready if there is a demand to create a new connection to another device in the radio range. The red line represents the path from the Source device to the Destination device. The Smart Method uses channel rank by the FL, while also taking into account the sharing of information between devices and hence the strategy of device cooperation.

Figure 18 shows channel selection on each iteration of links between two devices on the selected path from Source device to Destination device, based on the Smart Method. It shows how devices stop changing their channels at the tenth iteration; after this iteration, there is no channel change based on the threshold_value. Figure 12 shows a channel selection based on the GT. As one can see, the Smart Method needs fewer iterations steps to optimize the quality of the network. The optimal channel allocations for most of the devices is achieved by eight interactions of the Smart Method; only one link needs more iterations in this selected path to select the optimal channel for communication. After the tenth iterations, there are no more changes, so we can say that ten iterations are enough to select optimal channels for communications in the network because one link between devices 5 and 17 needs more iterations. The device is able to change the channel only if the pay-off is more than the selected threshold, which is set to 20. The threshold value of the channel rank is defined as a difference between a previously selected channel and the currently more suitable channel. The channel rank is an interval of values from 0 to 100, so difference set to 20 can be considered as a percent of change due to fact that the channel rank is without dimensional number. When we set threshold_value lower than 20, it means more channels selections and also more iterations for optimal channel selection in a network. The higher value of threshold such as 30 or more means a lower number of total iterations for optimal channel selection. The total number of iterations will be five or lower to allocate the final channel of the link. A high difference in channel rank is only at the start of the simulation, where each device has a lot of free channels to select. After the first iteration, there is a lower difference between the channel ranks.

Figure 19 shows how channel ranks influence channel selection not only by the device that makes a channel selection but also with other devices in the radio range. Figure 13 shows channel rank based on the GT method. The comparison of these methods in these figures shows that the same input parameter for method influences not only the total time needed to evaluate simulation but also the total number of iterations to obtain the best channel for communication. Allocation based on the Smart Method selects a better channel if the threshold value is higher than the difference between the previous channel rank and the current channel rank. Also, other devices in the radio range negatively influence this rank with no channel change. Figure 19 shows that the channel rank of links for D2D connection can have the same value of channel rank even if the channel is unchanged. Also, this value can be changed based on other device selections in the radio range. It is a case with not many devices in the radio range, which can affect individual communication on these channels. Therefore, the rank of the channel is without change. Alternatively, an adjacent device changed the channel to a more appropriate channel, and this change helped maintain the rank for the device that did not make the channel change. If the neighbour devices choose the most appropriate channel, the rank of the device will decrease or stay the same; but it is still suitable to maintain a good connection. The effort is to improve the network as a whole, and it is, therefore, possible to accept a deterioration in the evaluation of the channel used, if this value is acceptable and it does not cause a significant decrease in the quality of the connection. A comparison between the GT and the Smart Method only shows the change in rating and usage of channels on the selected path. Every device in network topology also changes the channels used in each iteration and affects the resulting value of channel ranks on the selected path. Smart Method uses more input attributes to evaluate faster optimal channel selection. The GT is suitable as a method for channel selection, but the Smart Method with parameter definition by membership functions and attributes from the GT decreases the number of iterations needed to evaluate optimal channel selection for selected network topology.

5. Conclusion and Future Work

Our proposed algorithms show the effective channel allocation by a method based on Fuzzy Logic, Game Theory, and the Smart Method. For the proper function of channel allocation management, it was necessary to select the appropriate parameters that characterize the quality of the connection to a sufficient level. The Smart Method based on the FL and the GT attributes is more accurate, but the cost of this accuracy is a longer period of evaluation. These methods show that content delivery services in 5G, modern wireless, or mobile networks need radio resource management to increase channel allocation for the faster and better quality of services. As for directions for future work, we intend to aim our research at investigation and evaluation of evolution games as methods for the channel allocations. Also, the next sphere of the research could be neural networks as part of artificial intelligence.

Data Availability

All relevant data are included within the article.

Conflicts of Interest

The authors declare that they have no conflicts of interest.


This work has been performed partially in the framework of the Ministry of Education of Slovak Republic under research projects APVV-17-0208, VEGA 1/0492/18, and KEGA 046TUKE-4/2018.