# Multi-Attributes, Utility-Based, Channel Quality Ranking Mechanism for Cognitive Radio Networks
## 1 Introduction  
Wireless devices and traffic have been exponentially growing, causing a huge demand for radio frequency channels [1; 2; 3]. Current fixed frequency allocation has resulted in an inefficient utilization of radio spectrum resources due to two main reasons: the licensed frequency channels are not or are scarcely used while unlicensed bands, such as Wi-Fi bands, are heavily used. Cognitive radio (CR) technology has been proposed to enhance the access to the radio spectrum and overcome its scarcity by enabling dynamic access. Secondary users (SUs) can perform spectrum sensing and access the free channels while the primary user (PU) is idle. Cognitive radio systems perform a cycle involving three main processes: spectrum sensing, spectrum analysis, and spectrum decision. During the spectrum sensing, the secondary users identify the state of each frequency channel--free or occupied--using spectrum sensing techniques, such as energy detection [4; 5; 6; 7; 8; 9], cyclostationary features detection [10; 11; 12; 13; 14; 15], and matched filter detection [16; 17]. Energy detection [4; 5; 6; 7; 8; 9] computes the energy of the received sample as the squared magnitude of the Fast Fourier Transform (FFT) averaged over the number of samples. Then, this energy is compared to a threshold to decide on the presence or the absence of the primary user. Specifically, if this energy is higher than the threshold, the primary user is declared to be present; otherwise, the primary user is absent. Energy detection is a simple and fast technique that does not require any prior knowledge about the primary user signal, and it is very sensitive to noise, which makes the detection performance of this technique at low signal-to-noise ratio (_SNR_) values unreliable. Cyclostationary detection [10; 11; 12; 13; 14; 15] uses several characteristics of a signal, such as its periodicity, to detect the presence or absence of a primary user signal. Autocorrelation, for instance, is a technique that uses the property of autocorrelation to determine the presence or absence of the primary user signal. This property is based on how the signal is highly correlated while the noise is uncorrelated. An autocorrelation-based sensing technique computes the autocorrelation of the received samples. Then, if the difference between lag 1 and lag 0 is less than the threshold, the primary user is considered present; otherwise, the primary user is declared absent. This technique detects the primary user signal with a high probability. Matched filter detection [16; 17] is an approach that matches the received samples with some saved pilots of the same primary user signal. This technique requires fewer samples to achieve an acceptable probability of detection. However, matched filter detection requires a prior knowledge of the primary user signal characteristics, which is not often available, making this technique unpractical. During the spectrum analysis, the CR systems estimate several parameters to characterize the quality of each communication channel, such as the estimation of the information capacity of the channel, the bit error rate, the level of noise, and the interference within each communication channel. Then, in the spectrum decision, a decision-making model takes the results of both the spectrum sensing and the spectrum analysis to determine the best channel for transmission. Thus, the channel ranking mechanism is important in the cognitive radio cycle. This mechanism has several objectives: it enables secondary users to maximize the spectral efficiency considering the scarcity of the radio resource, while meeting their requirements regarding quality of service and security. Over the last decade, a few channel-ranking mechanisms have been proposed [18; 19; 20; 21; 22; 23; 24; 25; 26]. Most of these mechanisms consider only the remaining idle time of the channel. For instance, the authors of [18] used the availability of the frequency channels and their occupancy to decide whether to access a specific channel or not [18].