Spectrum Decision-Making in Collaborative Cognitive Radio Networks

: Spectral decision making is a function of the cognitive cycle. It aims to select spectral opportunities within a set of ﬁnite possibilities. Decision-making methodologies, based on collaborative information exchanges, are used to improve the selection process. For collaborative decision making to be e ﬃ cient, decisions need to be analyzed based on the amount of information. Using little data can produce ine ﬃ cient decisions, and taking a lot of data can result in high computational costs and delays. This document presents three contributions: the incorporation of a collaborative strategy for decision making, the implementation of real data, and the analysis of the amount of information through the number of failed hando ﬀ s. The collaborative model acts as a two-way information node, the information it coordinates corresponds to the Global System for Mobile Communications (GSM) band, and the amount of information to be shared is selected according to ﬁve levels of collaboration: 10%, 20%, 50%, 80%, and 100%, in which each percentage represents the total number of users that will be part of the process. The decision-making process is carried out by using two multi-criteria techniques: Feedback Fuzzy Analytical Hierarchical Process (FFAHP) and Simple Additive Weighting (SAW). The results are presented in two comparative analyses. The ﬁrst performs the analysis using the number of failed hando ﬀ s. The second quantiﬁes the level of collaboration for the number of failed hando ﬀ s. Based on the obtained percentage ratios, the information shared, and the average of increase rates, the level of collaboration that leads to e ﬃ cient results is determined to be between 20% and 50% for the given number of failed hando ﬀ s.


General Context
A cognitive radio (CR) is a smart technology that can efficiently solve limited access issues in wireless networks. Its concept was first proposed by Joseph Mitola III in 1998 and several entities such as the IEEE, the International Telecommunications Unit (ITU) and the National Telecommunications and Information Administration (NTIA) have since established a general definition for the same [1][2][3].
The main function of CR consists in granting access to the spectrum using a dynamic strategy: the opportunistic exploration in the space-time dimensions of the network. Unlike traditional networks, CR has two types of users: the primary user (PU) who uses the frequency bands in a licensed manner and the secondary user (SU) who uses the spectrum opportunistically [4][5][6].
Cognitive radio networks (CRN) operate with a management model that performs smart adaptations based on progressive learning and information exchange [7] to implement a dynamic and opportunistic

Literature Review
The decision-making process based on collaborative models allows different strategies to be used. In [20], secondary users are classified into two levels: users in real time (RT) and users in non-real time (NRT). This allows the conflict and cooperation between both levels that make use of game theory to be studied. An auction game-based model that analyzes the decision-making process is proposed. A high number of secondary users is catered for, along with the reduction of user blockage probability, user handoff and channel saturation, as well as an increase in the probability of user acceptance.
To resolve the hidden terminal problem that an SU might encounter, [21] proposes a reputationbased incentives strategy where the collaborative simulation problem is modeled as an indirect reciprocity game. The results obtained with this strategy show that the proposed scheme achieves proper performance. Another type of strategy uses techniques based on logical statements. In [22], a collaborative decision-making process is proposed that uses fuzzy logic. The decision-making criterion works with relative link quality (RLQ) and SINR. The model uses fuzzy logic rules based on the fuzzy interference system (FIS).
Algorithms based on multi-criteria decision-making (MCDM) are widely used for the decisionmaking processes based on collaborative models. They operate using weight allocation, which is adjusted according to certain requirements. [23] compares the performance of four algorithms for spectral occupancy of the PU during the communication with an SU. The performance of the algorithms is assessed using five metrics: handoffs, failed handoffs, bandwidth, delay, and throughput.
The process of decision making requires working with spectral occupation data. This can be generated randomly or obtained through measurements. Then, the collected data is used to train and validate the models. Too little of this data can lead to inefficient decisions, while too much can result in significant computational costs and delays.

Contributions and Scope
The contribution of this work is structured with three inputs. The first is the incorporation of cooperation strategies between SUs for the characterization of the decision-making process. The second is the analysis based on real spectral occupation data. The third is the analysis of the collaboration levels using failed handoff metrics. The novelty of this work is the proposal and structure of the developed collaborative model that, unlike classic systems, acts as a bidirectional source of information. Additionally, it adapts to any decision-making strategy. For this work, multi-criteria techniques were used, but the capacity also exists to adapt to probabilistic structures and artificial intelligence, among others. Finally, due to the low complexity and response times, the proposed strategy has the characteristic of being easy to implement in real systems.
In order to achieve an efficient decision-making process, this investigation analyzes the decisions made in collaborative scenarios where SUs share different amounts of spectral occupation data.
According to the results obtained in [23], metrics such as number of failed handoffs are used in order to measure the performance of the proposed collaborative decision-making process.
Information is characterized by five levels of collaboration (10%, 20%, 50%, 80%, and 100%), where each level represents the percentage of information that is shared for training and subsequent validation of the model. The levels are chosen according to the limits of the data, where 10% and 100% correspond to the criteria of too little or too much data, respectively, 50% corresponds to the intermediate value of the limits, and 20% and 80% are the intervals for analyzing the collaboration within an information range.
For the analysis, a collaborative algorithm is designed to segment the matrix according to the five levels of collaboration. The decision-making process is based on two multi-criteria (MCDM) techniques: Feedback Fuzzy Analytical Hierarchical Process (FFAHP) and Simple Additive Weighting (SAW) [10,11,15,24,25]. As part of the decision-making process, the connection between the collaborative module and the multi-criteria techniques is carried out with a search algorithm. The spectral occupancy data used corresponds to actual power measurements in the GSM frequency band.

Organization of the Document
This investigative work is organized and presented in three sections. Section 2 describes the methodology used to define the input variables, description, and functions of the collaborative model, decision-making models, and performance metrics. Section 3 presents the results obtained and the respective comparative analysis of the aforementioned metrics, as well as the multi-criteria techniques and the collaborative structure. The final section presents the overall conclusions of the work.

Materials and Methods
To carry out a decision-making analysis in a collaborative environment, the methodology is structured into four stages. The first stage defines the information that will feed the general model, which includes the input variables based on real measurements for the GSM frequency band (uplink). The second stage defines the collaborative model implemented. The block diagrams presented in this section identify the input-output relationship. A general example is given on how the proposed implementation works. The third stage describes the mathematical basis for multi-criteria models. In the fourth stage, the performance metrics for model quantification are analyzed. The validation of the model is performed by a simulator developed with the Matlab App Designer Tool R2020a (Natick, MA, USA).

Input Variables
To carry out the analysis, real power measurements in the GSM frequency band are used as input variables (824-874 MHz). Figure 1 presents the configuration of the equipment used in the measuring process. The detection technique used was energy detection due to its feasibility of implementation. The measurement ranges of the bands were based on the sweep time, the resolution of bandwidth, and the Span.  The sweep time was adjusted to 290 ms for a one-month measurement period. Approximately 3448 sweeps were obtained in one second. Therefore, the total number of measured power data was 4,468,608,000. A power matrix of 8,937,216 × 500 was built from the measured information, which contains the power value of each of the 500 channels for 8,937,216 time instants (each time instant is equivalent to 290 ms). The corresponding amount of information is shown in Table 1. The rows represent time in seconds and the columns represent the frequency channels. The Span value corresponds to the analyzed frequency range. For this case of 50 MHz (824-874 MHz), the points per Span determine the number of frequency channels (uniform division of a spectrum portion) for which the spectrum analyzer measures the power level during each scan. In accordance with the above, in each sweep, the spectrum analyzer delivers the information of the power value measured in dBm, corresponding to 500 frequency channels with a bandwidth of 100 kHz (50 MHz/500) each.
The sweep time was adjusted to 290 ms for a one-month measurement period. Approximately 3448 sweeps were obtained in one second. Therefore, the total number of measured power data was 4,468,608,000. A power matrix of 8,937,216 × 500 was built from the measured information, which contains the power value of each of the 500 channels for 8,937,216 time instants (each time instant is equivalent to 290 ms). The corresponding amount of information is shown in Table 1. The rows represent time in seconds and the columns represent the frequency channels. The measurements require pre-processing to characterize the traffic level as high (few spectral opportunities) or low (many spectral opportunities). The characterization is carried out according to the availability probability (AP) criterion (as shown in Figure 2), the measured power matrix is taken, and the availability matrix is obtained through the Threshold level (−95 dBm); this level is selected regarding the balance search between the detection probability and the false alarm probability [26,27]. The 40% AP is selected for high traffic and the 80% AP is selected for low traffic. The sweep time was adjusted to 290 ms for a one-month measurement period. Approximately 3448 sweeps were obtained in one second. Therefore, the total number of measured power data was 4,468,608,000. A power matrix of 8,937,216 × 500 was built from the measured information, which contains the power value of each of the 500 channels for 8,937,216 time instants (each time instant is equivalent to 290 ms). The corresponding amount of information is shown in Table 1. The rows represent time in seconds and the columns represent the frequency channels. The measurements require pre-processing to characterize the traffic level as high (few spectral opportunities) or low (many spectral opportunities). The characterization is carried out according to the availability probability (AP) criterion (as shown in Figure 2), the measured power matrix is taken, and the availability matrix is obtained through the Threshold level (−95 dBm); this level is selected regarding the balance search between the detection probability and the false alarm probability [26,27]. The 40% AP is selected for high traffic and the 80% AP is selected for low traffic. Additionally, the type of model to be implemented makes it necessary to identify a data group that can train the models and another data group for validation. The matrix chosen for training allows setting the initial parameters of the algorithms, which are then used for collaborative analysis. The Additionally, the type of model to be implemented makes it necessary to identify a data group that can train the models and another data group for validation. The matrix chosen for training allows setting the initial parameters of the algorithms, which are then used for collaborative analysis. The assessment matrix is used to obtain the results of the assessment metrics of the implemented algorithms.
Regarding the previous statements, two databases are used-one for training and the other for assessment. Each database is classified into two traffic levels: high and low. In total, there are 500 frequency channels for 1 h of training and 10 min for assessment. The size and classification are described in Table 2.

Collaborative Model
The structure of the collaborative model consists of sectioning the training matrix according to the established number of users. The PU modeling is performed through the traffic traces obtained in the measurement process described in Section 2.1. The SU modeling is performed according to the set of submatrices obtained in the segmentation process. The following sections present the detailed description of the strategy used for the segmentation process.

Functions of the Collaborative Model
In this section, we present the general description of the collaborative algorithm, the programming structure, the implemented functions, and the total set of input and output variables. For the description of the collaborative algorithm, it is necessary to analyze the three functions that allow segmenting the matrix. Figure 3 presents the specific block diagram of the collaborative model. The blocks where the input and output signals converge correspond to the functions of the algorithm. The first function is called "User Division" and is in charge of dividing the matrix according to the adjustments of the number of users (Number of Users and User Full). The second block is comprised of two functions: User Zone Continuous and User Zone Random. These functions are in charge of selecting the block of users. The selection method is parameterized by the segmentation variable. If the continuous selection method is chosen, the "User Zone Continuous" function is in charge of the selection. If the random method is chosen, then the "User Zone Random" function performs the selection. The following sections describe the characteristics and adjustments of each input and output variable of the implemented collaborative model.
Appl. Sci. 2020, 10, x FOR PEER REVIEW 5 of 23 frequency channels for 1 h of training and 10 min for assessment. The size and classification are described in Table 2.

Collaborative Model
The structure of the collaborative model consists of sectioning the training matrix according to the established number of users. The PU modeling is performed through the traffic traces obtained in the measurement process described in Section 2.1. The SU modeling is performed according to the set of submatrices obtained in the segmentation process. The following sections present the detailed description of the strategy used for the segmentation process.

Functions of the Collaborative Model
In this section, we present the general description of the collaborative algorithm, the programming structure, the implemented functions, and the total set of input and output variables. For the description of the collaborative algorithm, it is necessary to analyze the three functions that allow segmenting the matrix. Figure 3 presents the specific block diagram of the collaborative model. The blocks where the input and output signals converge correspond to the functions of the algorithm. The first function is called "User Division" and is in charge of dividing the matrix according to the adjustments of the number of users (Number of Users and User Full). The second block is comprised of two functions: User Zone Continuous and User Zone Random. These functions are in charge of selecting the block of users. The selection method is parameterized by the segmentation variable. If the continuous selection method is chosen, the "User Zone Continuous" function is in charge of the selection. If the random method is chosen, then the "User Zone Random" function performs the selection. The following sections describe the characteristics and adjustments of each input and output variable of the implemented collaborative model.    Figure 3 shows the three sets of input variables: User Relation, Number of Users, and Input Data. The description for each variable is presented in Tables 3-5, respectively.

Random Zone
The percentage of users selected for simulation is chosen at random.

Continuous Zone
The percentage of users selected for simulation is taken in an orderly manner, row-wise or column-wise.

Division
Column If the number of users is greater than 10, the rows of the power matrix are divided into 10 equal parts, and the columns are split into n parts until the number of users is completed. If the number of users is less than 10, the rows of the power matrix are divided into 2 equal parts, and the columns are split into n parts until the number of users is completed.

Row
If the number of users is greater than 10, the columns of the power matrix are divided into 10 equal parts, and the rows are divided into n parts until the number of users is completed. If the number of users is less than 10, the columns of the power matrix are divided into 2 equal parts, and the columns are split into n parts until the number of users is completed.
User Percentage 10-100 Percentage of users participating in the training.

Variable Element Description
Number of Users 1-1000 Users Number of users used to divide the power matrix for the training Table 5. Power matrix.

Variable Element Description
Power Training High Traffic power matrix for the training Low 2.2.3. Output Variables Figure 3 shows the three sets of output variables: Power Segmentation Training, User Full, and User Simulation. The description of the variables is provided in Table 6.

Operation of the Collaborative Model
The previous section describes the functions of the collaborative model. In this section, we present the specific description of the collaborative algorithm. The input and output diagram of the collaborative model is presented in Figure 4. It has three input parameters and three output variables. The logic of the algorithm is based on taking the training matrix (input data) and segmenting it according to the User Relations and Number of Users inputs. The outputs of the model are the segmented power matrix for training, the total number of users in which the matrix was sectioned (User Full), and the users that will participate in the training (User Simulation).
according to the User Relations and Number of Users inputs. The outputs of the model are the segmented power matrix for training, the total number of users in which the matrix was sectioned (User Full), and the users that will participate in the training (User Simulation). A particular description of the operation of the model is presented in Figure 5. As input matrix (Input Data), information is collected from the frequency bands; the black blocks represent available frequencies, and the white blocks represent unavailable frequencies. It begins by dividing the matrix into submatrices (Number of Users) to characterize users. Each submatrix corresponds to the information of a user. Therefore, the number of submatrices corresponds to the number of users adjusted to the model input. For the model proposed in Figure 5, the number of users adjusted corresponds to four (Number of Users = 4). After the submatrix separation process, the amount of information to be shared in the training phase is determined (Segmentation Training) according to the collaboration level and the number of users or submatrices. According to Figure 5, a collaboration level of 25% (User Relation = 25%) corresponds to a training process based on the information of a single user. A collaboration level of 75% (User Relation = 75%) corresponds to a training process based on the information of three users. If the level reaches 100% (User relation = 100%), then the training process uses all the information available. For better understanding of the strategy, two examples are shown. Unlike with the case described in Figure 5, these two scenarios are more specific, since they involve all the adjustments to parameterize in the collaborative model. Figure 6 represents a binary availability matrix (Input Data) with 36 pieces of data, analogous to the power matrix. Each column represents a channel and each row represents time, where a value of '1' represents an available channel and '0' represents an unavailable channel.

Level of collaborative = User Relation
Level of collaborative: 75% Level of collaborative: 100% Level of collaborative: 50% A particular description of the operation of the model is presented in Figure 5. As input matrix (Input Data), information is collected from the frequency bands; the black blocks represent available frequencies, and the white blocks represent unavailable frequencies. It begins by dividing the matrix into submatrices (Number of Users) to characterize users. Each submatrix corresponds to the information of a user. Therefore, the number of submatrices corresponds to the number of users adjusted to the model input. For the model proposed in Figure 5, the number of users adjusted corresponds to four (Number of Users = 4). After the submatrix separation process, the amount of information to be shared in the training phase is determined (Segmentation Training) according to the collaboration level and the number of users or submatrices. According to Figure 5, a collaboration level of 25% (User Relation = 25%) corresponds to a training process based on the information of a single user. A collaboration level of 75% (User Relation = 75%) corresponds to a training process based on the information of three users. If the level reaches 100% (User relation = 100%), then the training process uses all the information available.
Appl. Sci. 2020, 10, x FOR PEER REVIEW 7 of 23 according to the User Relations and Number of Users inputs. The outputs of the model are the segmented power matrix for training, the total number of users in which the matrix was sectioned (User Full), and the users that will participate in the training (User Simulation). A particular description of the operation of the model is presented in Figure 5. As input matrix (Input Data), information is collected from the frequency bands; the black blocks represent available frequencies, and the white blocks represent unavailable frequencies. It begins by dividing the matrix into submatrices (Number of Users) to characterize users. Each submatrix corresponds to the information of a user. Therefore, the number of submatrices corresponds to the number of users adjusted to the model input. For the model proposed in Figure 5, the number of users adjusted corresponds to four (Number of Users = 4). After the submatrix separation process, the amount of information to be shared in the training phase is determined (Segmentation Training) according to the collaboration level and the number of users or submatrices. According to Figure 5, a collaboration level of 25% (User Relation = 25%) corresponds to a training process based on the information of a single user. A collaboration level of 75% (User Relation = 75%) corresponds to a training process based on the information of three users. If the level reaches 100% (User relation = 100%), then the training process uses all the information available. For better understanding of the strategy, two examples are shown. Unlike with the case described in Figure 5, these two scenarios are more specific, since they involve all the adjustments to parameterize in the collaborative model. Figure 6 represents a binary availability matrix (Input Data) with 36 pieces of data, analogous to the power matrix. Each column represents a channel and each row represents time, where a value of '1' represents an available channel and '0' represents an unavailable channel.  For better understanding of the strategy, two examples are shown. Unlike with the case described in Figure 5, these two scenarios are more specific, since they involve all the adjustments to parameterize in the collaborative model. Figure 6 represents a binary availability matrix (Input Data) with 36 pieces of data, analogous to the power matrix. Each column represents a channel and each row represents time, where a value of '1' represents an available channel and '0' represents an unavailable channel. The availability matrix must be adjusted according to the user characteristics. The adjustments carried out for each scenario are shown in Tables 7 and 8. For both cases, the availability matrix is sectioned into six users, which is equivalent to six submatrices. As with the number of users, the user percentage variable is selected in order to generate two scenarios with different levels of collaboration: 50% for Case Study 1 and 67% for Case Study 2. This parameter indicates the percentage of users that will be part of the training, which is equivalent to a level of 50% collaboration (Case Study 1) and 67% (Case Study 2). Therefore, if six is the total number of users (100%), 50% corresponds to training based on the information of three users and 67% corresponds to training based on the information of four users. This percentage is an adjustable parameter that varies between 10% and 100% depending on the case study. The collaborative model is programmed to automatically adapt to any input parameter. For instance, if the collaboration level is adjusted during a training process based on the information of a non-integer number of users, then the model takes the closest integer. The variations in the model for the division and segmentation variables are described in the individual analysis of each case study. For more information on all the input variables, see Table 3.   Table 7, Case Study 1 sections the availability matrix into six users with row division. Since the number of users is less than ten and the segmentation is per row, the model takes the availability matrix and divides it into two columns (for users greater than ten, see Table 3). The algorithm determines into how many rows the availability matrix must be divided. In order to obtain a segmentation of six submatrices equivalent to six users, The availability matrix must be adjusted according to the user characteristics. The adjustments carried out for each scenario are shown in Tables 7 and 8. For both cases, the availability matrix is sectioned into six users, which is equivalent to six submatrices. As with the number of users, the user percentage variable is selected in order to generate two scenarios with different levels of collaboration: 50% for Case Study 1 and 67% for Case Study 2. This parameter indicates the percentage of users that will be part of the training, which is equivalent to a level of 50% collaboration (Case Study 1) and 67% (Case Study 2). Therefore, if six is the total number of users (100%), 50% corresponds to training based on the information of three users and 67% corresponds to training based on the information of four users. This percentage is an adjustable parameter that varies between 10% and 100% depending on the case study. The collaborative model is programmed to automatically adapt to any input parameter. For instance, if the collaboration level is adjusted during a training process based on the information of a non-integer number of users, then the model takes the closest integer. The variations in the model for the division and segmentation variables are described in the individual analysis of each case study. For more information on all the input variables, see Table 3. Case Study 1: According to the information presented in Table 7, Case Study 1 sections the availability matrix into six users with row division. Since the number of users is less than ten and the segmentation is per row, the model takes the availability matrix and divides it into two columns (for users greater than ten, see Table 3). The algorithm determines into how many rows the availability matrix must be divided.
In order to obtain a segmentation of six submatrices equivalent to six users, it carries out a division in three rows. Figure 7 shows the availability matrix according to the number of users and divisions.
Appl. Sci. 2020, 10, x FOR PEER REVIEW 9 of 23 it carries out a division in three rows. Figure 7 shows the availability matrix according to the number of users and divisions. Only 50% of them will be part of training (variable that characterizes the collaboration levels), which corresponds to three users (User Simulation = 3) chosen randomly. Figure 8 illustrates the training matrix according to the adjustments described in Table 7. Case Study 2: According to the information presented in Table 8, Case Study 2 sections the availability matrix into 6 users divided into columns. Since the number of users is less than ten and the segmentation is per column, the model takes the availability matrix and divides it into two rows (for users greater than ten, see Table 3). The algorithm determines into how many columns it must divide the availability matrix. In order to obtain a segmentation of six submatrices equivalent to six users, it divides this into three columns. Figure 9 shows the availability matrix according to the number of users and division. Only 50% of them will be part of training (variable that characterizes the collaboration levels), which corresponds to three users (User Simulation = 3) chosen randomly. Figure 8 illustrates the training matrix according to the adjustments described in Table 7.
Appl. Sci. 2020, 10, x FOR PEER REVIEW 9 of 23 it carries out a division in three rows. Figure 7 shows the availability matrix according to the number of users and divisions. Only 50% of them will be part of training (variable that characterizes the collaboration levels), which corresponds to three users (User Simulation = 3) chosen randomly. Figure 8 illustrates the training matrix according to the adjustments described in Table 7. Case Study 2: According to the information presented in Table 8, Case Study 2 sections the availability matrix into 6 users divided into columns. Since the number of users is less than ten and the segmentation is per column, the model takes the availability matrix and divides it into two rows (for users greater than ten, see Table 3). The algorithm determines into how many columns it must divide the availability matrix. In order to obtain a segmentation of six submatrices equivalent to six users, it divides this into three columns. Figure 9 shows the availability matrix according to the number of users and division.  Case Study 2: According to the information presented in Table 8, Case Study 2 sections the availability matrix into 6 users divided into columns. Since the number of users is less than ten and the segmentation is per column, the model takes the availability matrix and divides it into two rows (for users greater than ten, see Table 3). The algorithm determines into how many columns it must divide the availability matrix. In order to obtain a segmentation of six submatrices equivalent to six users, it divides this into three columns. Figure 9 shows the availability matrix according to the number of users and division. Out of the 6 users ( Figure 9), only 67% of them will be included in the training phase (variable that characterizes the collaboration levels), which corresponds to 4 users (User Simulation = 4) selected continuously. Figure 10 presents the final training matrix according to the adjustments described in Table 8.

Decision-Making Models
The decision-making process is done separately from the collaborative model. Although its design is external to the collaborative block, it requires the Power Segmentation Training output matrix to work. Next, the results of the collaborative model and the decision making will be connected through a search algorithm described in Section 2.4.
In order to carry out a comparative evaluation, two MCDMs are implemented: Feedback Fuzzy Analytical Hierarchical Process (FFAHP) [24,28] and Simple Additive Weighting (SAW) [28]. This selection was made taking into account that MCDM methods are an adequate mathematical tool for decision making [29][30][31][32][33][34][35]. Furthermore, the analysis is carried out according to the class service: real time (RT) and best effort (BE). Out of the 6 users ( Figure 9), only 67% of them will be included in the training phase (variable that characterizes the collaboration levels), which corresponds to 4 users (User Simulation = 4) selected continuously. Figure 10 presents the final training matrix according to the adjustments described in Table 8. Out of the 6 users (Figure 9), only 67% of them will be included in the training phase (variable that characterizes the collaboration levels), which corresponds to 4 users (User Simulation = 4) selected continuously. Figure 10 presents the final training matrix according to the adjustments described in Table 8.

Decision-Making Models
The decision-making process is done separately from the collaborative model. Although its design is external to the collaborative block, it requires the Power Segmentation Training output matrix to work. Next, the results of the collaborative model and the decision making will be connected through a search algorithm described in Section 2.4.
In order to carry out a comparative evaluation, two MCDMs are implemented: Feedback Fuzzy Analytical Hierarchical Process (FFAHP) [24,28] and Simple Additive Weighting (SAW) [28]. This selection was made taking into account that MCDM methods are an adequate mathematical tool for decision making [29][30][31][32][33][34][35]. Furthermore, the analysis is carried out according to the class service: real time (RT) and best effort (BE).

Decision-Making Models
The decision-making process is done separately from the collaborative model. Although its design is external to the collaborative block, it requires the Power Segmentation Training output matrix to work. Next, the results of the collaborative model and the decision making will be connected through a search algorithm described in Section 2.4.
In order to carry out a comparative evaluation, two MCDMs are implemented: Feedback Fuzzy Analytical Hierarchical Process (FFAHP) [24,28] and Simple Additive Weighting (SAW) [28]. This selection was made taking into account that MCDM methods are an adequate mathematical tool for decision making [29][30][31][32][33][34][35]. Furthermore, the analysis is carried out according to the class service: real time (RT) and best effort (BE).
The decision-making analysis uses a module called MCDM, which is in charge of assigning a score to various channels. The purpose of this is to establish channels with a higher probability of spectral opportunity. Figure 11 shows the input variables required to parameterize the module as well as the output vectors of the block. The first output vector contains the score assigned to each channel, while the second output vector contains the ranking of the channels in ascending order according to the score obtained (Ranking). Table 9 provides the description of each input vector.
Appl. Sci. 2020, 10, x FOR PEER REVIEW 11 of 23 The decision-making analysis uses a module called MCDM, which is in charge of assigning a score to various channels. The purpose of this is to establish channels with a higher probability of spectral opportunity. Figure 11 shows the input variables required to parameterize the module as well as the output vectors of the block. The first output vector contains the score assigned to each channel, while the second output vector contains the ranking of the channels in ascending order according to the score obtained (Ranking). Table 9 provides the description of each input vector.  The FFAHP algorithm (Feedback FAHP) proposes the feedback of the information from previous assessments based on the FAHP method [24]. The FAHP algorithm uses fuzzy logic as a tool that is particularly adequate to make decisions in scenarios where the inputs are often uncertain or inaccurate. In essence, the FAHP algorithm uses the same methodology of the AHP algorithm [28]. However, fuzzy logic supports in handling the subjectivity and uncertainty generated during the assessment process [24]. After normalization, the FAHP algorithm states that the weight vector is given by Equation (1), where dn represents the weights assigned to each criterion.
In methods based on the AHP algorithm, judgment matrices must be built that perform comparative assessments that define the level of relative importance between each possible combination of the criteria, sub-criteria, and alternatives-independently [12,36]. The quality of service is one of the most relevant criteria in decision-making algorithms. It allows differentiating between applications that are delay sensitive and those that are not. In other words, it allows classifying applications with a focus on real time (RT) and best effort (BE). In this investigation, the objective is considered to be the same for RT and BE (selecting the best spectral opportunity). However, the importance (weighing) of each sub-criterion is different, and it corresponds to the focus of the RT and BE applications. For instance, the RT and BE applications are criteria based on different approaches. In RT, the sub-criteria with the highest priorities are those that reduce the delay. For BE,  The FFAHP algorithm (Feedback FAHP) proposes the feedback of the information from previous assessments based on the FAHP method [24]. The FAHP algorithm uses fuzzy logic as a tool that is particularly adequate to make decisions in scenarios where the inputs are often uncertain or inaccurate. In essence, the FAHP algorithm uses the same methodology of the AHP algorithm [28]. However, fuzzy logic supports in handling the subjectivity and uncertainty generated during the assessment process [24]. After normalization, the FAHP algorithm states that the weight vector is given by Equation (1), where dn represents the weights assigned to each criterion.
In methods based on the AHP algorithm, judgment matrices must be built that perform comparative assessments that define the level of relative importance between each possible combination of the criteria, sub-criteria, and alternatives-independently [12,36]. The quality of service is one of the most relevant criteria in decision-making algorithms. It allows differentiating between applications that are delay sensitive and those that are not. In other words, it allows classifying applications with a focus on real time (RT) and best effort (BE). In this investigation, the objective is considered to be the same for RT and BE (selecting the best spectral opportunity). However, the importance (weighing) of each sub-criterion is different, and it corresponds to the focus of the RT and BE applications. For instance, the RT and BE applications are criteria based on different approaches. In RT, the sub-criteria with the highest priorities are those that reduce the delay. For BE, the sub-criteria with the highest priority are those that increase the data rate, such as bandwidth and SINR.
If the algorithm is using the RT application, the score for each channel is computed using Equation (2), while Equation (3) is used for BE applications. The coefficients of each of the equations are taken from [24]. Table 9 presents the description of each variable indicated in the equations.
Algorithm 1 presents the programming structure for the FFAHP multi-criteria technique. The algorithm is divided into four blocks: two corresponding to the input and output information, the third block corresponding to the FFAHP multi-criteria technique, and the fourth block corresponding to the ranking. The input block takes the information from the multi-criteria vectors (Table 9) and multiplies it by the coefficients of Equations (2) and (3); this operation allows obtaining a matrix of 4 rows × 500 columns. This matrix is taken by the FFAHP block in order to establish the channels (rows) with higher and lower scores. The FFAHP block is conditioned to two scenarios: score assignment for a scenario without feedback and score assignment for a scenario with feedback. For both cases, the ranking block takes the information and organizes the channels in a descending order where the channels with greater spectral opportunity are located in the first positions and those with less spectral opportunity are located in the last positions. Finally, the output block delivers a vector row of 500 columns with the descending position of the channels' score. Figure 12 shows a flowchart of each of the blocks for a general description.

Simple Additive Weighting (SAW)
This algorithm develops a decision-making matrix comprised of criteria and alternatives. The spectral opportunity with the highest score is chosen, where r i,j belongs to the matrix and the sum of weights is equal to (Equation (4)) [37,38].
For each intersection of the matrix, the algorithm assigns a weight (Equations (5) and (6)). This allows establishing a score for each assessed spectral opportunity and delivers the ranking of the alternatives. The spectral opportunity with the highest score is chosen. The coefficients of each of the equations are taken from [24]. Table 9 presents the description of each variable indicated in the equations.
Algorithm 2 presents the programming structure for the SAW multi-criteria technique. The algorithm is divided into five blocks: two correspond to the input and output information, the third block corresponds to the SAW multi-criteria technique, the fourth block corresponds to the score, and the fifth block corresponds to the final ranking. The input block concatenates the information of the multi-criteria vectors (Table 9), which is taken by the SAW block to make the quotient between the average per row of the concatenated matrix and its maximum value. This information allows the scoring block to make the multiplication of the vector obtained with the coefficients of Equations (5) and (6). The ranking block takes the information and organizes the channels in a descending way where the channels with greater spectral opportunity are located in the first positions and those with less spectral opportunity are located in the last positions. Finally, the output block delivers a vector row of 500 columns with the descending position of the score of the channels. Figure 13 shows a flowchart of each of the blocks for a general description.

Performance Metrics
The connection between the collaborative module and multi-criteria techniques is carried out through a search algorithm, as shown in Figure 14. The output variables of the collaborative and MCDM modules correspond to the inputs of the search algorithm. Additionally, this module requires    [Position] = find(Ranking == ScoreF(i)); 18 RankingF ( ScoreF = sort(Ranking , 'descend') ; 10 for i = 1 : Columns 11 [Position] = find(Ranking == ScoreF(i)); 12 RankingF(1, i) = Position; 13 end

Performance Metrics
The connection between the collaborative module and multi-criteria techniques is carried out through a search algorithm, as shown in Figure 14

Search Algorithm
The search algorithm is in charge of doing column jumps (frequencies) in the availability matrix according to the position vector delivered by the MCDM module. The algorithm jumps from one column to another until it finds a value of '1'. Said vector is equivalent to an available frequency, and each column jump is stored. Upon performing a column jump, if the algorithm finds a value of '1', it automatically jumps to the following row of the availability matrix in the same column. It is worth mentioning that each row represents a time instance. The stop condition of the search algorithm is defined by the time variable (transmission time selected by the user). Row jumps are done until the established transmission time is completed. The column jumps, row jumps, and time are stored in a vector in order to later quantify the failed handoff rates.

Failed Handoff
A spectral handoff (SH) can be defined as the process where a SU changes their operation frequency when the conditions of a channel are degraded or when a PU asks for service, given that the secondary user is using a licensed band [23]. The SH concept of CR differs from traditional wireless network mechanisms in the sense that there are two types of users with different priorities [15]. A failed handoff corresponds to the number of unsuccessful handoffs, meaning that the SU cannot execute handoff since they find that the respective spectral opportunity is occupied.

Results
The results are presented in two comparative analyses. The first one performs an analysis based on the number of failed handoffs for each of the five collaboration levels (10%, 20%, 50%, 80%, and 100%) according to the decision-making model. The second quantifies the collaboration level for the number of failed handoffs according to the collaboration of 100%. Finally, the comparative analysis determines how much information is required to be shared. Additionally, the five levels of collaboration and the multi-criteria decision-making model include the level of traffic (high (HT) and low (LT)) and the type of service (RT and BE) in the comparative analysis. The implementation was done on a computer with a 2.8 GHz Intel (R) Core (TM) i7-7700HQ processor with 24 GB of RAM, Microsoft Windows 10 64-bit operating system using MATLAB version R2020a.

Search Algorithm
The search algorithm is in charge of doing column jumps (frequencies) in the availability matrix according to the position vector delivered by the MCDM module. The algorithm jumps from one column to another until it finds a value of '1'. Said vector is equivalent to an available frequency, and each column jump is stored. Upon performing a column jump, if the algorithm finds a value of '1', it automatically jumps to the following row of the availability matrix in the same column. It is worth mentioning that each row represents a time instance. The stop condition of the search algorithm is defined by the time variable (transmission time selected by the user). Row jumps are done until the established transmission time is completed. The column jumps, row jumps, and time are stored in a vector in order to later quantify the failed handoff rates.

Failed Handoff
A spectral handoff (SH) can be defined as the process where a SU changes their operation frequency when the conditions of a channel are degraded or when a PU asks for service, given that the secondary user is using a licensed band [23]. The SH concept of CR differs from traditional wireless network mechanisms in the sense that there are two types of users with different priorities [15]. A failed handoff corresponds to the number of unsuccessful handoffs, meaning that the SU cannot execute handoff since they find that the respective spectral opportunity is occupied.

Results
The results are presented in two comparative analyses. The first one performs an analysis based on the number of failed handoffs for each of the five collaboration levels (10%, 20%, 50%, 80%, and 100%) according to the decision-making model. The second quantifies the collaboration level for the number of failed handoffs according to the collaboration of 100%. Finally, the comparative analysis determines how much information is required to be shared. Additionally, the five levels of collaboration and the multi-criteria decision-making model include the level of traffic (high (HT) and low (LT)) and the type of service (RT and BE) in the comparative analysis. The implementation was done on a computer with a 2.8 GHz Intel (R) Core (TM) i7-7700HQ processor with 24 GB of RAM, Microsoft Windows 10 64-bit operating system using MATLAB version R2020a.       The results reveal that both multi-criteria techniques show an equivalent tendency for all five levels of collaboration. The trend of the number of failed handoffs is equivalent for all five levels of collaboration. Total (100%) collaboration leads to the lowest levels, while 10% collaboration leads to the highest levels. The other collaboration levels can be found between these two limits.

Percentage Analysis of the Collaboration
To establish a collaboration criterion in terms of the number of failed handoffs, a percentage-based analysis is carried out for each metric. The objective is to use 100% of the shared information as the base criterion, as shown in Section 3.1. This level has the lowest indicators. Figure 19 shows the relation for the number of failed handoffs with FFAHP with real-time (RT) service. The increments rates for each collaboration level are presented in percentage form. For high traffic (HT), the minimum number of failed handoffs (min FFAHP) was 87. The average rate of these increments was 16.1% (14 failed handoffs), which corresponds to a collaboration level between 20% and 50%. For low traffic (LT), the minimum number of failed handoffs (min FFAHP) was 83. The average increase rate corresponds to 22.9% (19 failed handoffs), which corresponds to a collaboration level between 20% and 50%.    Figure 20 shows the relation for the number of failed handoffs with FFAHP with best-effort (BE) service. The increments rates for each collaboration level are presented in percentage form. For high traffic (HT), the minimum number of failed handoffs (min FFAHP) was 2286. The average rate of these increments is 11.5% (263 failed handoffs), which corresponds to a collaboration level between 10% and 20%. For low traffic (LT), the minimum number of failed handoffs (min FFAHP) was 906. The average increase rate corresponds to 15.1% (137 failed handoffs), which corresponds to a collaboration level between 10% and 20%.      Figure 21 shows the relation for the number of failed handoffs with SAW with real-time (RT) service. The increments rates for each collaboration level are presented in percentage form. For high traffic (HT), the minimum number of failed handoffs (min SAW) was 107. The average rate of these increments is 5.1% (6 failed handoffs), which corresponds to a collaboration level between 20% and 50%. For low traffic (LT), the minimum number of failed handoffs (min SAW) was 75. The average increase rate corresponds to 6.7% (5 failed handoffs), which corresponds to a collaboration level between 20% and 50%.  Figure 22 shows the relation for the number of failed handoffs with SAW with best-effort (BE) service. The increments rates for each collaboration level are presented in percentage form. For high traffic (HT), the minimum number of failed handoffs (min SAW) was 105. The average rate of these increments is 11.7% (12 failed handoffs), which corresponds to a collaboration level between 10% and 20%. For low traffic (LT), the minimum number of failed handoffs (min SAW) was 66. The average increase rate corresponds to 7.6% (137 failed handoffs), which corresponds to a collaboration level between 50% and 80%.