1 Introduction

Different parts of the spectrum have been traditionally defined to be used by different wireless technology (GSM, WLAN, TV, Military, emergency services or LTE). Unfortunately, due to an increased usage of mobile communication devices, some spectrum bands are crowded while others are hardly used because of fixed spectrum allocation. This leads to spectrum inefficiency challenge depicted in Fig. 1. A primary traffic from the diagram shows the actual data transmission by primary users (PU). Larger parts of the spectrum remain used and these are known as the spectrum holes. Spectrum holes are formed as a result of the under-utilization of finite spectrum.

Fig. 1
figure 1

Fixed spectrum allocation in TV white spaces

In order to solve this challenge, cognitive radio (CR) technology is used to efficiently exploit the spectrum white spaces or holes. CR is a radio that is capable of learning the environment in which it operates and change its transmission parameters based on the status (channel occupancy information) of the spectrum band. Regulatory authorities assign certain portion of the spectrum to licensed users or primary users (PU) for data transmission. A diagram in Fig. 2 shows a dynamic network environment where Secondary users (SU) opportunistically transmit their data in the channels assigned to PUs. Data transmission has to be done after sensing to avoid interference with PUs.

Fig. 2
figure 2

Dynamic spectrum allocation in TV white spaces [1]

There are two approaches to spectrum sensing in CR networks. That is, sensing at physical layer and MAC layer. Sensing a spectrum at the physical layer makes adaptation of modulation schemes and parameters for detecting and measuring the signals transmitted by PUs from different channel while MAC layer makes a decision as when SUs have to sense which channels [2]. MAC layer is responsible for searching of channels, transmissions, and scheduling time slots for sensing. MAC has received far less attention as compared to the physical layer sensing. Spectrum sensing function belongs to physical layer but the coordination and scheduling of SUs is the responsibility of MAC layer.

Proper coordination and scheduling of SUs lead to better utilization of spectrum resources. A key technology in efficient use of the spectrum is spectrum sensing. Sensing must be performed accurately to avoid interference and degradation of performance. Secondly, a seamless communication must be maintained during spectrum mobility. If a PU is detected in the current band a SU is transmitting in, SU will have to move to a new band to continue with its data transmission. This movement is made possible by spectrum mobility function. A perfect timing has to be performed during spectrum handoff. Spectrum handoff happens when SU ceases its transmission from one spectrum and migrates to the other.

The major causes of delays in data transmission in cognitive radio networks are cooperative sensing and sharing of the sensed results. In this study, these challenges are addressed in order to maximize the throughput of SU. Hence, we proposed a channel selection algorithm to intelligently select PU channels that are free and ready to be used opportunistically by SUs for data transmission. The channels with the highest probability of being free from PUs are selected for sensing. Delays incurred during cooperative sensing are dealt with through sensing multiple channels at the same time (parallel sensing) and the use of probabilistic models to model delays in sensing and sharing of spectral observations.

In order for SUs to reliably detect the presence of PUs in the channel and reduce sensing delays, we incorporate cooperative spectrum sensing and set a rule which ensures that only cooperating SUs with higher signal-to-noise ratio (SNR) share their sensed results. For this, we proposed an algorithm called extended generalized predictive channel selection algorithm (EXGPCSA). This algorithm is an improved version of an existing algorithm called generalized predictive channel selection algorithm [3].

2 Related Work

To improve the performance of spectrum sensing algorithms and reliability of sensing results, most studies proposed cooperative spectrum sensing where SUs collaborate in finding channels [4,5,6,7,8,9]. The main objective of these studies is to address constraints which degrade performance of sensing algorithms such as multi-hidden terminal problem, multi-path fading, and receiver uncertainty and shadowing. Cooperative spectrum sensing algorithms are used to efficiently exploit the spatial diversity of SUs.

Authors in [10] proposed sequential algorithm for maximization of achievable throughput of SUs in multi-channel CR network. The time it takes SUs to sense the spectrum has been considered using effective rate criterion where trade-offs between sensing time and sensing accuracy are captured. Constrained dynamic program is formulated in this study for optimal sensing duration scheme. This policy determines when to stop sensing and ensures optimal channel access to choose a set of available channels for data transmission. To improve reliability and accuracy, cooperative sensing is employed in [11] where cooperative overheads are reduced by improving the accuracy of local spectrum sensing. The study proposed two-stage local spectrum sensing approach. In the first stage, each SU measures its local environment for the availability of channels and in the second stage; the results are combined using fuzzy logic in order to detect the presence of PU in the spectrum.

To achieve greater throughput, a group of SUs must cooperate in sensing multiple channels within one sensing time slot or period [12]. This is achieved through parallel sensing technique. Reliable techniques of combining of sensing results and selection of cooperating SUs are studied in [12]. The trade-off between accuracy and efficiency in cooperative spectrum sensing has been addressed through independently selecting heterogeneous SUs for parallel sensing such that different groups of SUs can sense multiple channels simultaneously. The main design objective of the study in [13] was to limit the interference of PUs while ensuring maximum throughput of SUs. Three components have been integrated in the joint design: spectrum sensor, access strategy, and sensing strategy. Spectrum sensor ensures that more spectrum opportunities are identified. Authors used receiver operating characteristics of spectrum sensor to capture the trade-off between miss detection and false alarms.

A study in [14] proposes a fusion scheme and an optimization of cooperative sensing by choosing a value of K that maximizes SU’s throughput. Authors used K-out-of-N fusion technique as basis for the formulation of optimization problem and a parameter k was chosen as optimization variable. To obtain optimal sensing duration and value of k, an iterative algorithm was proposed. Proposed in [15] is the majority or half voting rule in which a channel is unavailable if N out of K SUs votes that indeed a channel is occupied by PU where N > (K/2). In special case where N = K and N = 1, AND rule and OR rule is applied. The assumption made from this study was that all SUs participating in decision making must have reached a set threshold. This requirement in reality is not ease to achieve. Channel selection, multicast routing, call admission control and scheduling were considered in [16] to appropriately use network resources. The proposed cross-layer scheme did not only reduce multicast period but also efficiently addressed the blocking problem. Authors considered multi-radio technology but did not clearly show how self-interference could be avoided.

The objective of the study in [17] was to increase throughput and reduced channel switching rate. The study considered opportunistic IEEE 802.11 MAC to intelligently tackle problems in channel switching and the receiver synchronization with the sender to allow seamless communication. To reduce channel switching, channel selection scheme based on successful data frame transmission was proposed. In another study in [18], authors used Markov decision process to model the channel selection problem. Real-time reinforcement learning algorithm enhanced learning through cooperative sensing. The algorithm achieved higher packet success rate compared to conventional channel selection algorithm without a learning mechanism. The attainability of the required channel and suitability of bandwidth were considered in [19] as factors that play crucial role in channel scheduling. The study proposed an algorithm to allocate optimal idle channel, optimal multiple idle channels and optimal multiple channels [20]. The study reported low transmission loss and high throughput compared to other contemporary methods.

Joint channel assignment and adaptive multi-input–multi-output (MIMO) enhances the performance of the system by selecting MIMO operating mode for every idling channels according to the surrounding radio frequency environment [21]. It also achieves greater performance by selecting channel with the highest throughput. The study has shown significant performance improvement in achievable throughput under various traffic and network conditions. A technique called Navien Bayes classifier was proposed in [22] to discover spectrum opportunities. The use of historic data enabled SU to choose the channel with the lowest probability of a channel being busy for data transmission. The study further considered time series prediction to predict the likelihood of channels being busy in near future.

Authors in [23] suggested that the use of stochastic approach under the hybrid with Invasive weed optimization algorithm increases spectrum hand off efficiency in CR networks. The channel selection accuracy of this approach was found to be 97.8% effective than other conventional methods. The support vector machine and pre-emptive resume priority queueing model M/M/1 enhanced the performance of CR systems by selecting best possible network channel [24]. The study reported 68.7% of SU throughput and a decrease in the number of spectrum handoffs. The training accuracy of the support vector machine method increased to 97.6% outperforming other conventional methods. Token passing scheme designed to switch channels between SU and PU was considered in study [25] to achieve maximum spectrum efficiency and minimize energy consumption. It was concluded that token passing took lesser time in switching the channels and that it positively influenced the throughput and saved energy consumption. In their study in [26], authors designed an algorithm with capabilities of adapting its rate and opportunistically make use of spectrum White Spaces when the channels conditions are not known and when the channel state information is not available. Numeric results demonstrated that the algorithm significantly achieved better performance compared to some of the state-of-the-art schemes.

3 System Model and Algorithms

A scientific way of solving complex challenges is through models and algorithms which ensure better understanding of a problem at hand and the derivation of better solutions. Hence, presented in this section are models, algorithms, and parameters necessary to design and evaluate the efficiency of EXGPCSA.

3.1 Receiver/Transmitter Operation

We consider a group of SUs communicating in a simple multi-hop CRN. Each SU is equipped with a single radio for both sensing and transmission. Unfortunately, sensing and data transmission cannot be performed simultaneously. All SUs stop transmitting when sensing the spectrum. This is one of the requirements in the 802.22 IEEE standards which necessary to give SU time to detect the presence of PU signal.

To manage properly the coordination of SUs, we use the listen before talk strategy in which a transmitter listens to the medium or wireless channel before transmitting data packet. To avoid interference amongst transmitters (SUs), clear-to-send (CTS) and request-to-send (RTS) control packets are flooded to the network. RTS is meant to check if there is any other transmitter using wireless channel. If a channel is currently being occupied, transmitter backs off for a random amount of time before trying again. CTS data packet is used to alert the transmitter that there is a free data channel between the current transmitter and the receiver.

The transmitter–receiver pair start data exchange after CTS has been received by the transmitter. Once a data packet has successfully been received at the destination, the receiving SU will acknowledge the receipt of data packet by sending an ACK packet. Transmitting SU will have to transmit the same data packet if no ACK packet has been received. Common control channel (CCC) is used for exchange of control packets.

Figure 3 depicts sensing and data transmission by SUs. SUs periodically senses the spectrum and estimate channel parameters. Data is transmitted only when free channel is available else SU will sleep for a specific amount of time before trying again.

Fig. 3
figure 3

Sensing strategy flow diagram

3.2 Channel Model

We consider N channels being opportunistically accessed by SUs where each channel is licensed to PU. The ON times (SU’s channel usage time)/OFF times (PU’s inter-arrival time) on a channel c are modelled using probability density functions (PDF) represented by fXc and fYc respectively. The assumption is that the distributions of ON/OFF time are independent and not the same. This is validated in [27].

As shown in Fig. 3, SUs are required to search for a channel starting at ts for t duration. The lengths of ON and OFF periods are represented by Xc and Yc respectively. If we assume that these periods are exponentially distributed, then

$${\text{f}}_{{\text{x}}}^{{\text{c}}} (x) =\upmu _{{x^{c} }} e^{{ -\upmu }} x^{c\;x} ,\quad \forall\upmu _{{x^{c} }} = \frac{1}{{EX^{c} \left( x \right) }}$$
(1)

and

$${\text{f}}_{{\text{Y}}}^{{\text{c}}} (y) = \mu_{{y^{c} }} e^{{ -\upmu }} y^{c\;y} ,\quad \forall\upmu _{{y^{c} }} = \frac{1}{{EY^{{\text{c}}} \left( y \right) }}$$
(2)

where \(\upmu\) is a rate parameter and \(\upmu \ge 0\), \(EX^{c} \left( x \right)\) and \(E{\text{Y}}^{{\text{c}}} \left( y \right)\) are mean values of the distribution, fxc(x) is the PDF of the ON periods on channel c and fYc(y) is the PDF of the OFF periods on channel c.

To find Mean values of ON periods, we use Eq. 3,

$$\begin{aligned} EX^{c} \left( x \right) & = \mathop \int \limits_{0}^{\infty } {\text{fxc}}\left( x \right)dx \\ & = \mathop \int \limits_{0}^{\infty }\upmu _{{x^{c} }} e^{ - \mu } x^{c\;x} dx \\ \end{aligned}$$
(3)

To evaluate the integral using integration by parts, we then havesimilarly for OFF periods

$$EX^{c} \left( x \right) = \frac{1}{{\upmu }}$$
$$\begin{aligned} EY^{c} \left( y \right) & = \mathop \int \limits_{0}^{\infty } {\text{fYc}}\left( y \right)dy \\ & = \mathop \int \limits_{0}^{\infty }\upmu _{{y^{c} }} e^{ - \mu } y^{c\;y} dy \\ \end{aligned}$$
(4)

Applying integration by parts we get,

$$EY^{c} \left( y \right) = \frac{1}{{\upmu }}$$

3.3 Proposed Channel Selection Algorithm

There are two classifications of channel selection algorithms of MAC protocols in multichannel cognitive radio network; (1i) ON/OFF distributions based channel selection algorithm where channel statistics are known in advance or can be estimated at the run time. These types of algorithms rely heavily on the first and second order statistics of ON/OFF time distributions and it’s often very difficult to predict the distributions of ON/OFF times at the run time and (2ii) learning-based channel selection algorithm in which channel usage pattern is not known to SUs but they can be learnt from usage patterns or parameters.

The learning based algorithms perform better in terms of estimating channel usage pattern and finding idle channels with minimal delay [27]. For this reason, our study focuses on modifying a channel selection algorithm which is based on ON/OFF time distributions studied in [28].

In this study, we address two key issues; (i) we determine how SUs can efficiently and effectively select channels for sensing. From Fig. 4 there are N SUs sensing N channels. SUs should sequentially sense all channels until an idle channel is found. In this case a question may be; how long, on average does it take SUs to find an idling channel. If SUs can intelligently locate channels with the highest probability of being idle, then sensing delays can be greatly minimized. We achieve this by implementing channel selection algorithm to intelligently select free PU channels.

Fig. 4
figure 4

graphical representation of SU channel selection

In (ii) we optimize Tpc, which is the sensing period on channel c such that less transmission opportunities are missed. The shorter the Tpc, the more the overheads are incurred, and this ultimately leads to compromised throughput while on the other hand blindly increasing Tpc leads to more opportunities being missed. We don’t focus on TIc (sensing interval on channel c) since it is mainly determined by the physical layer as per 802.22 standards. We therefore make few assumptions for most of physical layer parameters.

Shown in Fig. 4 is how SUs sense and select channels. TIc is the sensing time or interval and TPc is the sensing period. It is very critical to consider how long and how often to sense the spectrum. Hence this was considered during the design of our algorithm. An algorithm for sensing multiple channels at the same time was designed. This algorithm is explained and presented in detail in the sequel.

We have taken a probabilistic approach to predict the state of a channel at a particular point in time. To efficiently predict using probabilities, we allow SUs to maintain a believe vector, Vp(c)(t) which has N dimensions in two sets or groups and if we let Op(c) and qp(c) be the probabilities that channels are free from PU, then a believe vector containing this probabilities in descending order is defined as follows:

$${\varvec{V}}_{{p\left( {\varvec{c}} \right)}} \left( {\varvec{t}} \right) = \left\{ {\left\{ {{\varvec{O}}_{{p\left( {\mathbf{1}} \right)}} ,{\varvec{O}}_{{p\left( {\mathbf{2}} \right)}} ,{\varvec{O}}_{{p\left( {\mathbf{3}} \right)}} , \ldots ,{\varvec{O}}_{{p\left( {\varvec{N}} \right)}} } \right\},\left\{ {{\varvec{q}}_{{p\left( {\mathbf{1}} \right)}} ,{\varvec{q}}_{{p\left( {\mathbf{2}} \right)}} ,{\varvec{q}}_{{p\left( {\mathbf{3}} \right)}} , \ldots ,{\varvec{q}}_{{p({\varvec{N}})}} } \right\}} \right\}$$
(5)

The elements of Vp(c)(t) are arranged such that

$${\varvec{O}}_{{p\left( {\mathbf{1}} \right) \, }} > {\varvec{O}}_{{p\left( {\mathbf{2}} \right)}} > {\varvec{O}}_{{p\left( {\mathbf{3}} \right)}} , > \ldots ,{\varvec{O}}_{{p({\varvec{N}})}} \;{\text{and}}\;{\varvec{q}}_{{p\left( {\mathbf{1}} \right)}} > {\varvec{q}}_{{p\left( {\mathbf{2}} \right)}} > {\varvec{q}}_{{p\left( {\mathbf{3}} \right)}} , > \ldots ,{\varvec{q}}_{{p({\varvec{N}})}} .$$

Using this Vp(c)(t) (believe vector), SUs selects a channel with the highest probability of being free from each group. This is equivalent to say:

$${\mathbf{c}}^{*} ({\varvec{t}}) = \left\{ {\arg \left\{ {\mathop {\max }\limits_{1 \le c \le N} {\varvec{V}}_{{p\left( {\varvec{c}} \right)}} \left( {\varvec{t}} \right)} \right\},\;\arg \left\{ {\mathop {\max }\limits_{{1 \le {\varvec{c}} \le N}} {\varvec{V}}_{{q\left( {\varvec{c}} \right)}} \left( {\varvec{t}} \right)} \right\}} \right\}$$
(6)

If a channel with the highest probability i.e., c* has been sensed and is occupied, SUs sense the next channel with the highest probability and this is done repeatedly until a free channel is found. An idle channel is then used by SUs for t duration. In order to avoid interference SUs have to sense a channel for t duration as shown in Fig. 3.

figure c

4 Simulation Scenarios

This section contains simulation environment, parameters and models used to generate the results of this study.

Identification of key technologies to be incorporated in the development of any algorithm is very critical. Different Integrated development tools (IDTs) are suitable for different tasks. The rate at which spectral opportunities are discovered partially determines the efficiency of the spectrum sensing algorithm. Many network simulators have been developed to help the researchers to evaluate their algorithms and/or protocols. A best network simulator in the context of spectrum sensing can be determined by its flexibility in employment of custom MAC and physical layer algorithms, support of default communication protocols and the ability to employ custom sensing algorithms. We present and discuss metrics considered in the design of the proposed algorithm.

Figure 5 shows simulation grid where SUs sense and share observations about the spectrum in 1000 m2 area. A simulation was carried for 200 s with 30 SUs in a network. All SUs in a network are equipped with one radio for sensing and data transmission. SUs communicate with each other through fusion node.

Fig. 5
figure 5

Collaborative sensing and sharing in cognitive radio network environment

4.1 Probability of Detection

An optimization of threshold level has shown to increase the probability of detection while minimizing sensing errors (probability of miss detection and probability of false alarm) [28]. Next we determine the threshold level which serves as a constraint for the detection probability and probability of false alarm. We choose a test statistic TL for energy detection such that false alarm occurs whenever TL is greater than Th where Th is the threshold level.

Both test statistic and threshold values are given by:

$$T_{L} (y) = \frac{1}{L}\mathop \sum \limits_{n = 1}^{L} \left| {y\left( n \right)} \right|^{2}$$
(7)

where L is the number of samples and \({\varvec{y}}\left( {\varvec{n}} \right)\) is the received signal sample of a SU.

$$T_{h} (x)\frac{1}{{\sqrt {\alpha L} }}\mathop \int \limits_{x}^{\infty } exp\left( {x/2} \right)dx + 1,\quad \forall \;\alpha \epsilon \left\{ {1,2,3} \right\}$$
(8)

4.2 Delay in Finding Idle Channels

This is given by \(D_{c} = D_{s } + W_{t}\) where \(D_{c}\) is the delay in finding available channel, \(D_{s}\) is the searching duration and \(W_{t}\) is the waiting time.

The average delay is then given by

$$Av_{D} \left( t \right) = \frac{1}{n}\mathop \int \limits_{0}^{\infty } D_{c} \left( t \right)dt$$
(9)

where n is the number of SU in a network.

4.3 Channel Switch Rate

The rate at which channels are switched. CR(t) is calculated as a fraction of number of channel switches of SU sender to the time period t.

4.4 Throughput

The throughput of SUs T(t) is calculated by taking a ratio of the product of successfully transmitted data frames and the size of frames in bits to the total time t elapsed during simulation. The throughput of SUs is given in [3] by:

$$T(t) = \frac{{F_{N} \left( t \right) * Frame\;size\left[ {bits} \right] }}{t}$$
(10)

where \({\varvec{F}}_{{\varvec{N}}} \left( {\mathbf{t}} \right)\) is the number of successfully transmitted frames until time t. The average throughput of SUs is then given by:

$$\mathop {\lim }\limits_{n \to \infty } T\left( t \right) = \mathop {\lim }\limits_{n \to \infty } \frac{{F_{N} \left( t \right)*Frame\;size \left[ {bits } \right]}}{t}$$
(11)

Table 1 presents the simulation parameters used to simulate EXGPCSA. These parameters were set for all network scenarios and simulated under a very dynamic environment to mimic the actual cognitive radio network environment.

Table 1 Simulation parameters

5 Results and Discussions

A Matlab simulation tool was used to simulate a cognitive radio network in 1000 m × 1000 m grid and a simulation time was set to 200 s. The performance metrics used during the simulation to evaluate the efficiency of EXGPCSA are the probability of detection, delays in finding the available channels for transmission, the rate at which channels are switched as well as throughput.

A level of complexity at which data is aggregated can influence the detection probability. Whenever complex measures are considered, the detection tends to be more accurate but low. As it can be evident from Fig. 6, OR rule requires a simple aggregation technique which allows faster data aggregation and higher detection with lower accuracy. A major drawback of this rule is that, an increase in probability of detection leads to an increase in the probability of detection. In contrary, AND rule decreases the probability of detection with the decrease in probability of false alarm. Although results obtained using this rule are accurate and reliable, the chances of detecting PU signal are very low.

Fig. 6
figure 6

Comparison of collaboration rules for better detection probability

In N-out-M aggregation rule, N can be chosen in such a way that the probability of detection remains in an acceptable level. In such cases, the detection would be very accurate. The manner in which data is aggregated using AND, and OR rule, introduces delays due to robustness in data aggregation. Although detection of the signal using these two rules is accurate and reliable, they cannot give good results in application where faster data aggregation and data transmission is required.

The ordering and selection of channels influences the transmission rate of data. EXGPCSA allows multiple channels to be sensed simultaneously while ordering them in the descending order of their idling probabilities. This greatly reduces delays in available channels for data transmission as it can be shown in Fig. 7. As it can be noticed, delays in finding the available channels increases with the increase in inter-sensing interval. If a channel is being sensed for longer periods, delays increase which compromises the throughput.

Fig. 7
figure 7

Delay in finding idle channels over 6 channels in cognitive radio networks

Figure 8 shows the rate at which nodes switch between channels when inter-sensing intervals are increased. SUs switch from one channel to the other searching for free channels for transmission. It is desirable to have few channel searches before finding the next available channel to reduce searching delays. Channel switching rate remains higher when inter-sensing interval is small. This is due to the fact that sensing is performed within a very short period of time and this causes high overheads and more channel switches. As a result, it is difficult to certainly detect a signal, hence more channels switches. Knowing the channels that are likely to be idling reduces channel switches and searching delays. Hence EXGPCSA uses channel selection algorithm which intelligently selects channels to be sensed. This greatly reduces the number of channel switches since only channels with the highest probabilities of being free are selected for sensing. It can be observed from Fig. 8 that channel switching decreases with the increase in inter-sensing interval. Whenever sensing for extended period of time, the sensing results are obtained with certainty and more likely to be accurate. What is crucial then would be to select those channels that are idling. If only idling channels are selected, then there would be no need to switch between multiple channels, hence less channel switching occurrences.

Fig. 8
figure 8

The rate at which channels are switched in a cognitive radio network

Sensing duration directly has an impact on the network throughput. A channel that has been sensed for a longer duration delays data transmission since data can only be transmitted after sensing is completed. This is depicted in Fig. 9. This figure shows the throughput ranges of SUs in a CR network for different inter-sensing intervals.

Fig. 9
figure 9

Box and whisker plot representing individual throughput of SUs in a cognitive radio network

The throughput generated by SUs when EXGPCSA was simulated for 2 ms is in the range of 25.5–30.5 kbps while the throughput of the Generalises Pre CSA was in the range of 24–29.5 kbps. Considering average throughput from these ranges, we observed that EXGPCSA has higher throughput when inter-sensing interval is 2 ms. The same trend was observed for 6, 10, 14 and 18 ms.

It can also be observed that EXGPCSA outperformed generalized predictive CSA for 2 ms scenario. The results show that 25% of SUs in EXGPCSA recorded achievable throughput which is above 29 kbps. It was in this sensing interval scenario that all the schemes had the highest achievable throughput. The throughputs generally dropped as the inter-sensing intervals were increased. There may be many causes of this but one of them is delay in sensing. Increasing sensing interval causes delays in data transmission and in many cases may lead to spectrum under-utilization due missed opportunities. These factors have degraded achievable throughput as depicted in Fig. 9.

6 Conclusions

A robust approach was taken in designing and implementing EXGPCSA in which the collaborative sensing, parallel sensing, and data aggregation rules were considered. This approach is very complex in nature and required necessary techniques to achieve better performance. Hence, a channel selection technique and sensing strategies were employed to intelligently enable SUs to adapt to their environment. EXGPCSA consistently achieved better results compared to the generalized predictive CSA. We can therefore, conclude that EXGPCSA significantly outperformed the generalized predictive CSA.