1 Introduction

Spectrum demand has increased over the years due to exponential growth in the wireless technologies and applications. Also, the existing spectrum has limited space to accommodate future services as it has already been allocated to different services, thus resulting into spectrum scarcity [1]. However, the studies show that the existing spectrum is not being fully utilized as there are potential opportunities in the form of spectrum holes in space and time [2, 3]. Cognitive radio has emerged to gain benefits from the underutilized spectrum resources [4]. In a cognitive radio network (CRN), depending on the activity of primary users, the number of channels available to secondary users (SUs) always varies in time and space, whereas, in traditional networks it remains fixed [5].

Cognitive radio exploits the spectrum opportunities in the existing underutilized licensed and unlicensed bands, which improves the overall spectral efficiency [6]. For example, the IEEE 802.22 standard for CRN opportunistically uses the existing TV band for transmission; both networks coexist without any noticeable disturbance [7]. Therefore, CRN is treated as a secondary network in waiting with low priority; where, secondary user (SU) opportunistically accesses the spectrum holes or vacant channels of the primary user (PU) from the underutilized primary network band. CRN is required to sense the primary user band for spectrum holes by protecting the PUs; however, the aim is to discover maximum number of spectrum holes accurately and quickly.

Sensing is an important function of cognitive radio, mostly implemented at physical layer; however, some of its features such as determining the sensing time, sensing order, and method of sharing sensing results among contending SUs are carried out at MAC layer [8]. Designing a MAC protocol which could accurately sense and utilize the spectrum opportunities for optimal network performance is a challenging task [9]. The ultimate goal of the MAC layer sensing is to maximize the pool of available resources to CRN’s SUs, with minimal delay yet with accuracy. This requires efficient sensing policies with optimal sensing period and order. Sensing order represents the sequence in which the channels of primary network are searched by SUs to discover the opportunities. Proper and well-defined sensing order can improve the performance of SUs in terms of throughput, delay, and energy efficiency [10].

In CRN, available spectrum holes in PU band are the most precious resource. When SUs sense the PU band, then missing the discovery of the vacant PU channels, such as due to inefficient sensing mechanism, would tantamount to missed opportunity. Therefore, by using optimal sensing scheme in multiple channel and single radio environment, the secondary users can maximize the pool of available resources under the constraints of detection accuracy and latency. Which, in turn, improves the overall performance of CRN MAC protocol in terms of throughput, delay, and energy efficiency. Therefore, finding better sensing scheme and channel selection order in CRN MAC protocol has been a problem of interest in the literature [1114].

In [15], spectrum sensing schemes are proposed with adaptive sensing window and BER-assisted detection that improve probability of detection and spectrum utilization. However, comparison of these schemes are only given with the fixed sensing window and adaptive sensing window. In [16], authors propose a cooperative spectrum sensing MAC protocol that optimizes the sensing and access parameters and compares this with non-optimized design for better throughput. In both schemes, comparison is not given with the other relevant schemes.

In [17], parallel cooperative spectrum-sensing is proposed for infrastructure-based CRNs, wherein a number of SUs simultaneously sense multiple channels from the spectrum. Each SU is assigned to sense a particular channel, and when SU finds that channel occupied by PU, it sends sensing message request to base station (BS). Through coordination, base station selects different SUs, such that each SU senses the channels in parallel and reports back the status of that channel to BS. Similarly in [18], cooperative parallel spectrum sensing is proposed for a centralized CRN; all the SUs send their sensing results to a central node and the central node allocates channel to each SU based on gathered information and previous history.

In [19], efficient spectrum hole discovery with MAC layer sensing is proposed wherein the delay in finding the idle channels is minimized by optimizing the sensing period. Also, more idle channels in the PU band are discovered by channel sequencing algorithm taking into consideration the ON/OFF channel usage patterns. Comparative analysis with and without optimized sensing period is performed for different performance scenarios. Performance analysis with and without optimal channel sequencing is also performed for different scenarios. However, the comparative analysis with any other scheme is not given.

In [20], a channel sensing order for a multichannel CRN has been proposed in which the channels are sensed in descending order according to their achievable data rates, but with unknown free probabilities of the primary user channels. This results in efficient use of available channels during SU spectrum access. In [21], authors have devised an optimal sensing order for the CRN with cooperative centralized sensing, where sensing and access decisions are sequentially made by the central coordinator. The optimal sensing order with and without SU rate adaptation is calculated. Cognitive throughput is compared for the two cases when coordinator uses random sensing and intuitive sensing order; however, this requires knowledge of primary channel free user probabilities.

Authors in [22] propose a collision-free adaptive channel sensing order for a distributed CRN. Here, without any coordination, every SU goes through a phase and finally selects different channel sensing order. The unique sensing order for each SU in the network ensures that different channels are sensed, thus increasing the overall number of channels searched by the CRN and consequently increasing the probability of finding more idle channels. Discovery of higher number of holes improves the performance of CRN, particularly, the throughput and data delivery time. Although, the authors have explained how to achieve collision-free sensing order, but have not provided any information on how different CR nodes may communicate with each other and have also assumed zero probability of misdetection. In [2022], sensing order is based on PU probabilities, SU’s achievable data rates and random permutations of available channels. However, the scheme lacks in energy efficiency and has higher computational complexity.

A contention-based, hardware-constrained cognitive MAC protocol (HC-MAC) is presented in [23] that incorporates sensing/stopping process and considers transmission constraints before sensing, thereby reducing the sensing time when the sensed spectrum fulfills the requirements of SUs in CRN. The drawback is that due to a single radio and absence of synchronization, multiple channel hidden terminals can cause collisions during the transmissions. In [24], fairness-oriented media access control protocol (FMAC) is proposed to bring fairness in access among the contending SUs of different CRNs by introducing three state spectrum sensing model. Here, channel busy state is further classified into channel busy by PU or channel busy by SU of other CRN. The proposed sensing algorithm can distinguish between the two busy states. Contention-based multichannel MAC (CBM-M) protocol for a distributed CRN separates the sensing mechanism from SUs by placing separate sensor nodes [25]. Accuracy in the sensing mechanism during PU reappearance for non-slotted CRN has been emphasized in [26].

In [2729], the sensing and sharing phase are combined and divided into time slots which exactly map the channels in the PU band. Each SU randomly selects a channel, senses its availability, and shares the information in the same time slot. Despite cooperative sensing among SUs through common control channel, there remain channels which are not sensed by any SU and there are some channels sensed by multiple SUs simultaneously, as shown in Fig. 1. In the former case, opportunities are missed and in the later case energy is unnecessarily wasted by multiple scans for the same channel. Besides waste of the resources in sensing and sharing phase; in [27], it is also noticed that the waste of resources occurs in the contention phase due to collisions and unattempted slots. In order to reduce waste of resources due to contention, an enhancement is introduced in [28] that allows an SU to reattempt random access during the same cycle by back-off algorithm. In another scheme, introduced in [29], a collision-free channel access mechanism is devised to reduce this waste of resources. The sharing of sensing results, in the above mentioned CRN MAC schemes [2729], are carried out by sending 1/0 tone signal on the second and third sub-slots of the sensing and sharing phase, as shown in Fig. 1. However, in all these schemes, sensing is considered perfect and the probabilities of false alarm and misdetection have not been taken into account.

Fig. 1
figure 1

Secondary users randomly select the time slots in sensing and sharing phase for sensing idle or busy channels in the primary user band

In this paper, we propose an efficient spectrum sensing scheme for a distributed CRN MAC. It considerably reduces the overall sensing and sharing phase time to extend the data transmission time for SUs in a given transmission cycle. Additionally, it minimizes the channel skipping problem during sensing, which maximizes the pool of available resources. Building upon the works in [2729], we can enhance the efficiency in sensing. We separate the sensing and sharing phases in such a way that sharing phase starts after the sensing phase is complete. We present the idea of forming SU groups according to their IDs, and the SU groups are assigned equal portion of spectrum for parallel sensing. In our proposed sensing scheme, SU groups simultaneously sense the assigned portion of the PU band in parallel and share the sensing results among the SUs in a separate sharing phase. Thus, the total time of the sensing phase is reduced as every SU group has to sense an assigned portion of the spectrum in parallel and share the sensing result sequentially on the common control channel. This results in maximum number of vacant PU channels being discovered in shorter period of time, consequently, increasing the overall throughput by leaving extended time for data transmission and improving energy efficiency.

The remaining paper is organized as under. Section 2.1 describes the system model. Section 2.2 presents the detailed description of proposed sensing scheme. Performance is analyzed in Section 3. Numerical and simulation results are discussed in Section 4. Finally, the work is concluded in Section 5.

2 Parallel sensing scheme with sequential order in CRN MAC

In this section, we present our proposed parallel sensing scheme for an ad hoc CRN MAC protocol and discuss its salient features. Performance analysis of the proposed scheme has also been discussed. First, we describe the system model and working of the CRN MAC protocol.

2.1 System model

We consider a primary network with time slotted access, where a PU occupies these slots synchronously during fixed time τ or remains idle. The primary traffic pattern is assumed to be Poisson distributed as in [30]. We consider a distributed secondary network, which by a sensing mechanism, discovers ‘M’ available channels out of ‘N’ primary channels, such that MN. One common control channel is assumed to be available for Nsu secondary users at all times, this channel has enough capacity to handle all the messages required for coordination and sharing the sensing results among the SUs. Therefore, after synchronization, such as in [23], each SU has full knowledge of vacant channels available in the PU band.

We have considered the case where SUs cannot transmit or receive at the same time as they are equipped with a single antenna; as such, they are only capable of sensing multiple channels one by one. The goal of a cognitive user is to accurately sense as many idle channels as possible from the underutilized primary band with due consideration of the energy consumption during sensing and sharing. Starting with the simplest case of sensing groups, we have divided the SUs into two groups, based on their user IDs. The primary band is also equally divided into the same number of portions, portion 1 contains odd numbered channels (1,3,5,7,9,..,Nch−1) and portion 2 contains even numbered channels (2,4,6,8,10,..,Nch) as shown in the Fig. 2. Each group of SUs has the responsibility to sense one portion of the PU band, thus reducing the sensing load of each SU. Cognitive users can access data channel for transmission after successfully passing through series of phases, such as idle phase (Tidle), parallel sensing phase (Tps), sharing phase (Tshar), and contention phase (Tcont) as shown in Fig. 3. In Tps, each SU belonging to a particular group senses the allotted portion of the primary band in sequential order. Since all the SU groups sense the designated portion of PU band in parallel, the overall sensing time is reduced without channel skipping. The contention and data transmission phases of our scheme are similar to those in SMC-MAC protocol [27].

Fig. 2
figure 2

The network model only showing two parallel groups based on odd and even user IDs

Fig. 3
figure 3

Simple frame structure of proposed parallel sensing scheme protocol, showing only two user groups

SUs detect the primary signal during Tps through simple energy detection scheme, such that

$$ x(t)=\left\{\begin{array}{lr} y(t)+ n(t) & {\text{Channel}}~ {\text{busy}}\\ n(t) & {\text{Channel}} ~{\text{free}}, \end{array}\right. $$
(1)

where, y(t) is the PU’s signal and n(t) is the white noise.

Details of the proposed sensing scheme are discussed in the following section.

2.2 Proposed sensing scheme

The sensing and sharing phase of the proposed CRN MAC protocol are shown in Fig. 3, where one cycle (Tcycle) of a common control channel is divided into different phases, i.e, Tidle, Tps, Tshar, Tcont, and Ttran.

In parallel sensing phase Tps, SUs sense the idle channels from the primary band in such a manner that improves spectrum utilization, throughput, and energy efficiency by squeezing the overall sensing time. The sensing order is designed such that two groups of SUs, according to their IDs, sequentially search the primary band in the reduced time. The basic idea is to form SU groups by using their IDs. For example, two groups of SUs are formed as shown in Fig. 2; an SU with even numbered ID falls in first group and one with odd numbered ID in the second group. Likewise, more SU groups (N g ) can be formed and an SU’s group ID (Gid) is obtained as follows:

$$ G_{{\text{id}}}= \left(U_{{\text{id}}}~{\text{mod}}~N_{g}\right) + 1, $$
(2)

where, mod represents the modulo operation which gives the remainder and Uid is the user ID of the SU.

The total number of channels assigned to each group is

$$ Ng_{{\text{ch}}} = \frac{N_{{\text{ch}}}}{N_{g}}. $$
(3)

The following two types of IDs can be used for grouping the SUs:

  1. 1.

    Temporary IDs assigned to SUs after joining the network.

  2. 2.

    Using MAC address as SU ID.

A unique temporary ID can be assigned to an SU when joining the network through coordination messages over the common control channel. However, this method is not viable as it saturates the common control channel due to the excessive messaging, when the number of SUs entering or leaving the network grow. Therefore, it is more appropriate to use MAC addresses as user IDs for secondary nodes in CRN, without extra burden on common control channel. Algorithm 1 in next the section also describes the process of parallel sensing scheme.

The following benefits are achieved in our proposed parallel sensing scheme as compared to the available schemes in the literature.

  1. 1.

    Reduced sensing phase.

  2. 2.

    Discovering more idle channels in PU band.

  3. 3.

    Energy efficient sensing.

2.2.1 Reduced sensing phase

For Nch PU channels there are Nch/N g slots in the sensing phase (Tps) of the transmission cycle. In each slot of the sensing phase, N g channels are sensed simultaneously, in parallel. For example, when we divide the SUs into two groups then two PU channels are sensed simultaneously in parallel. Each group member senses all the channels assigned to the group sequentially one by one. The first group of SUs with odd IDs sequentially senses the alternate PU channels starting from channel 1 and the second group of SUs with even IDs senses the alternate PU channels starting from channel 2, as depicted in Fig. 3. Thus, with respect to Tss as in [27] and also shown in Fig. 1, in one Tcycle these two SU groups now sense the PU band in half time. In this manner, the sensing phase time Tps can be further reduced by creating more groups

$$ T_{{\text{ps}}}=\frac{T_{{\text{ss}}}}{N_{g}}, $$
(4)

where Tss is the sensing and sharing time for SMC-MAC protocol [27].

The reduced sensing time is adjusted in the data transmission time, thus increasing the throughput by a factor of N g .

2.2.2 Discovering more idle channels in PU band

The price of leaving out a vacant channel is too high in CRN, as the overall network performance is highly dependent on discovering the opportunities and then tapping them efficiently. So, ideally it is desirable to scan all the channels to find their availability or otherwise. However, this leads to more power consumption in the sensing phase, which is not desirable in a wireless network with nodes having limited battery at their disposal. Also, it extends the sensing phase time, leaving less time for actual data transmission in the transmission cycle Tcycle.

The proposed parallel sensing scheme has the capability to exploit the maximum available opportunities in the PU band, as each SU group simultaneously senses the specific portion of the PU band in sequence without skipping any PU channels. In the considered example of two groups of SUs, all members of an odd ID SU group will sense channels 1,3,5,7,...,Nch−1 and the members of the other group will sense channels 2,4,6,8,...,Nch, as shown in Fig. 3. In this case, the probability of an idle PU channel left out is low; only when all members fall in the same group. This probability diminishes as the number of SUs grow in the CRN. Increased number of users in a group increases the accuracy of the system, i.e., reduced false alarm and misdetection. However, even if there is a single member in a group, all channels assigned to the group will be sensed, thus, the proposed sensing scheme maximizes the pool of available resources in the CRN.

2.2.3 Energy efficient sensing

When an SU senses more channels in PU band it consumes more energy. The energy conservation during the sensing phase requires that fewer channels in the PU band be sensed. But at the same time, it is desirable that collectively all SUs sense all the primary channels to maximize the pool of idle channels available to SUs. In the proposed parallel sensing scheme, the energy conservation can be achieved by forming more SU groups. When we cerate more SU groups, then it implies that every SU has to sense less number of primary channels, thus saving energy during the parallel sensing phase. For example, if there are 5 SU groups in the CRN then primary band channels are also divided into 5 portions and each group has the onus of only 1/5th of the band, thus saving the SU energy by a factor of 5.

The parallel sensing scheme is more efficient as it saves time, energy and discovers more number of idle channels for CRN from the PU band; however, it requires a delicate trade-off among contradicting requirements.

2.3 Sharing scheme

In the proposed protocol, the sharing phase follows the sensing phase. Channels can be sensed in parallel, but the status, idle, or otherwise as sensed by SUs, cannot be shared in parallel. So, sharing phase has the same number of time slots as the number of PU channels Nch, i.e., one-to-one mapping. All time slots in the sharing phase are further divided into two sub-slots, and each sub-slot has a duration of only one bit. The first sub-slot is used to represent whether the channel has been sensed or not and the second sub-slot is used to communicate the busy or idle PU channel status, as in [27]. Whether the PU channel is idle or busy, its information is shared by every SU in the corresponding mapped time slot of Tshar. When an SU senses idle PU channel during parallel sensing phase, then it shares the results in the corresponding slot of the sharing phase by sending tone 1 in the first sub-slot and 0 in the second. Similarly, when an SU senses busy PU channel during the parallel sensing phase, then it shares the results in the corresponding sharing slot by sending tone 1 in both sub-slots, as shown in Table 1. The final decision about the availability of a PU channel is made on the basis of collective information received.

Table 1 Status of the sharing sub-slots in sharing phase

In our proposed protocol, contention phase (Tcont) and data transmission phase (Ttran) are similar to [27]; where, after parallel sensing (Tps) and sharing phase (Tshar), M slots are available in the contention phase for the SUs.

3 Performance analysis

To evaluate the performance of the proposed parallel sensing scheme, we analyze the number of idle channels sensed, energy consumption during sensing, and the throughput gain.

The Tcycle for the SUs to sense the PU is derived from the primary user channel model in the network as described in [30]. The distribution of PU arrival is assumed to be exponential with rate λ. When the inter-arrival time (Tint) of PU is less than or equal to Tcycle, the probability P i that SU will interfere with the PU is evaluated by using the cumulative distribution function.

$$ P_{i} =P\left(T_{{\text{int}}} \leq T_{{\text{cycle}}}\right)= 1-e^{-\lambda T_{{\text{cycle}}}} $$
(5)

Evaluating Tcycle from (5)

$$ T_{{\text{cycle}}} =-\frac{ln\left(1-P_{i}\right)}{\lambda} $$
(6)

3.1 Idle channel analysis in parallel sensing scheme

Let K be the number of idle channels out of Nch channels in the PU band and the probability of busy channels is γ, then the probability of k idle channels is [27]

$$ p_{K}(k) ={N_{{\text{ch}}} \choose k} {(1-\gamma)^{k} (\gamma)^{N_{{\text{ch}}}-k}},~0 \leq k \leq N_{{\text{ch}}} $$
(7)

Thus, the average number of idle channels is

$$ E[\!K] =\sum\limits_{k=0}^{N_{{\text{ch}}}} {k. p_{K}(k)} $$
(8)

In our proposed parallel sensing scheme, there are N g parallel groups and Nsu secondary users select these groups for sensing on the basis of their user IDs. The average number of channels sensed (S) by Nsu secondary users in the parallel sensing scheme is

$$ E[\!S]=~ N_{{\text{ch}}}\left[1-\left(1-\frac{1}{N_{g}}\right)^{N_{{\text{su}}}}\right] $$
(9)

From (9), the average number of idle channels discovered by a single SU will be

$$ E\left[S_{{\text{idle}}}\right]=~ \frac{N_{{\text{ch}}}}{N_{{\text{su}}}}\left[1-\left(1-\frac{1}{N_{g}}\right)^{N_{{\text{su}}}}\right](1-\gamma) $$
(10)

From (8) and (10), the probability η of discovered idle channels out of total available idle channels in PU is derived as follows:

$$\begin{array}{*{20}l} \eta=\frac{E\left[S_{{\text{idle}}}\right]}{E[\!K]} \end{array} $$
(11)

where E[ Sidle] is the discovered idle channels in PU band by a single SU and E[ K] is the total number of idle channels in PU band.

3.2 Energy consumption analysis in parallel sensing scheme

The energy consumption by the SU during Tcycle can be expressed as

$$ E_{{\text{SU}}} =~ E_{{\text{ps}}} + E_{{\text{shar}}} + E_{{\text{cont}}} + E_{{\text{tran}}} $$
(12)

where, Eps, Eshar, Econt, and Etran are the energy consumed in parallel sensing, sharing, contention, and data transmission. Energy consumed during the sensing phase depends upon the sensing algorithm [31]. Since, we are only interested in energy consumption during the parallel sensing phase, which is given as

$$ E_{{\text{ps}}}=~P_{{\text{ps}}}. T_{{\text{ps}}}, $$
(13)

where Pps is the total power consumed during parallel sensing phase. From (13), the energy consumed by a single SU during parallel sensing phase Tps is found as

$$ E_{{\text{ps}}} = p_{\tau}.\tau_{{\text{ps}}}.\frac{N_{{\text{ch}}}}{N_{g}}, $$
(14)

where τps is the time spent by a single SU to sense a single channel and p τ is the power consumed during sensing of single channel. The sensing duration (τ ps ) for a single channel is 1 ms [32].

3.3 Throughput analysis in parallel sensing scheme

One cycle is divided into Tidle, Tps, Tshar, Tcont, and Ttran. The data transmission time is evaluated as

$$ T_{{\text{tran}}} = T_{{\text{cycle}}} - \left(T_{{\text{idle}}} + T_{{\text{ps}}} + T_{{\text{shar}}} + T_{{\text{cont}}}\right) $$
(15)

and can be increased by minimizing the overhead delay

$$ T_{{\text{ps}}} = \tau_{{\text{ps}}} \frac{N_{{\text{ch}}}} {N_{g}}, $$
(16)

where τps is the sensing duration of each channel and N g is the number of parallel sensing groups.

Results of PU channel status after sensing in Tps are shared in Tshar, which can be evaluated as

$$ T_{{\text{shar}}} = N_{{\text{ch}}}. \tau_{{\text{shar}}}, $$
(17)

where τshar is the time taken by SU to share the sensing results of each primary channel. The outcome of the sharing phase is M idle channels out of Nch PU channels. Now, M channels are available for the contention phase. Time taken by the Tcont is evaluated as

$$ T_{{\text{cont}}} = M \left[T_{{\mathrm{(CR-RTS)}}}+T_{{\mathrm{(CR-SIFS)}}}+T_{({\mathrm{CR-CTS)}}}\right], $$
(18)

where T(CR−RTS) and T(CR−CTS) is the time taken by SU to send and receive the CR-RTS and CR-CTS messages.

In general, transmission time can be increased by reducing the sensing, sharing, and contention phase time; however, reliable discovery requires increased sensing duration. This will increase the number of discovered idle channels, which in turn increases the number of contention slots (M) in the contention interval, thus decreasing the transmission time per cycle. So, there are trade-offs involved and require optimization of involved parameters to maximize the throughput. In our proposed sensing scheme, while keeping the same τps without compromising on reliability, the overall sensing time is reduced by forming more parallel SU groups (N g ). This in turn not only neutralizes the effect of increased contention phase time but also more than compensates by leaving more time for transmission, thereby, providing improved throughput.

In parallel sensing scheme, the throughput is obtained by

$$ Th_{{\mathrm{(ps)}}} = \frac {E[\!S_{{\text{idle}}}].T_{{\text{tran}}}.R.N_{{\text{su}}} }{ T_{{\text{cycle}}}}, $$
(19)

where E[ Sidle] is the average number of idle channels discovered by a single SU and R is the data rate of each channel. The above equation can be expressed as

$$ Th_{({\text{ps}})} = \frac {N_{{\text{ch}}}\left[1-\left(1-\frac{1}{N_{g}}\right)^{N_{{\text{su}}}}\right](1-\gamma).T_{{\text{tran}}}.R }{ T_{{\text{cycle}}}} $$
(20)

4 Analytical and simulation results

In this section, we present the numerical and simulation results of the proposed parallel sensing scheme and compare it with the SMC-MAC protocol [27].

The major simulation parameters for the evaluation of our proposed scheme are summarized in Table 2. Whereas, the basic parameters are the same as in IEEE 802.11 MAC [33]. The deployment of SUs is random, and it is assumed that they are within the transmission range of each other.

Table 2 Simulation parameters

4.1 Sensed and discovered idle channels

First, we will analyze the average number of channels sensed in parallel sensing scheme by the SUs, when there are 100 channels (Nch) in the PU band and number of parallel groups (N g ) are 1 to 10 as shown in Fig. 4. Here, we can see that the parallel sensing scheme senses all the channels in the PU band when there is only one group. When the number of groups is increased, then the number of sensed channels by the SUs decreases. However, despite increased parallel groups (N g ), by increasing the number of SUs will discover more channels in the PU band. For example, we see that when there are 10 parallel groups (N g ) and 30 SUs, the average discovered or sensed channels will be nearly 95 out of 100.

Fig. 4
figure 4

Average number of channel sensed in parallel sensing scheme by the SUs

Figure 5 shows the average number of idle channels discovered by the SUs when load on the primary band is 50%. Here, we see that 48 out of 50 channels are discovered idle when load on primary is 50%. So, it is evident that in parallel sensing scheme, the average number of idle channels discovered by the SUs is high, whereas missed or skipped idle channels are rare.

Fig. 5
figure 5

Average number of idle channels discovered by SUs when primary load γ = 50%

Figures 6 and 7 show the average number of idle channels discovered by the SUs when the traffic load on primary (γ) varies from 0 to 1 for different configurations of parallel groups (N g ) and number of secondary users (Nsu). For average number of idle channels discovered by the SUs, Fig. 6 shows two planes representing number of secondary users, i.e., Nsu = 30 and Nsu = 10 that converge at point N g = 1 and diverge towards N g = 10. It is observed that when Nsu = 30, then at point N g = 10 and γ=0, 96% idle channels are discovered. But, for Nsu = 10 at the same point, i.e., N g = 10 and γ=0, 75 idle channels are discovered. Figure 7 shows three planes representing parallel number of groups N g = 2, N g = 10, and N g =15, where 100, 96, and 88 idle channels are discovered out of 100 PU band channels at point when Nsu = 30 and γ = 0.

Fig. 6
figure 6

Average number of idle channels discovered by SUs with variations in the number of parallel groups and traffic load on the primary band

Fig. 7
figure 7

Average number of idle channels discovered by SUs with variations in the number of secondary users and traffic load on the primary band

Now, we present the simulation results of the proposed parallel sensing scheme and find out the average number of discovered idle channels by the SUs and then compare it with the sensing scheme discussed in the SMC-MAC [27] protocol.

Figures 8 and 9 show simulation results of proposed parallel sensing scheme and comparison with the sensing scheme in the SMC-MAC protocol [27] by employing different configurations of parallel number of groups (N g ) and maximum random number of channels (chmax) selected. Where, N g represents the number of parallel groups of SUs that simultaneously sense the PU band sequentially according to their IDs in the proposed parallel sensing scheme, whereas chmax represents the random number of channels selected by each SU from the primary band in SMC-MAC [27] sensing scheme. Here, we can see that the average number of idle channels discovered varies linearly with PU traffic load.

Fig. 8
figure 8

Comparison of average number of idle channels discovered by SUs when a chmax = 5 and N g = 2, b chmax = 2 and N g =2, c chmax = 2 and N g =5, d chmax = 5 and N g = 5

Fig. 9
figure 9

Comparison of average number of idle channels discovered by SUs when chmax = 10 and N g = 10

Proposed and reference schemes are compared for different values of chmax and N g . Now, for the ease of analysis, we take only one scenario where number of secondary users are Nsu = 2. So, in Fig. 8a, with chmax=5 and N g =2, our proposed parallel sensing scheme discovers 66% more idle channels from the PU band than the reference sensing scheme at 0 load on primary. In Fig. 8b, with chmax=2 and N g =2 proposed parallel sensing scheme discovers 72% more idle channels. Similarly, in Fig. 8c, with chmax=2 and N g =5 proposed parallel sensing scheme discovers 32% more idle channels from the PU band. Moreover, in Fig. 8d, with chmax=2 and N g =5 proposed sensing scheme discovers 26% more idle channels from the PU band. It is observed that for each configuration given in Fig. 8, our scheme outperforms the reference scheme by discovering more idle channels from the PU band. However, in terms of average number of idle channels discovered, we can equate these two different sensing schemes by taking chmax=10 and N g =10 as shown in Fig. 9.

Figure 10 shows the simulation and analytical results of our proposed parallel sensing scheme. The average number of idle channels discovered by the SUs, when the traffic load on primary band varies form 0 to 1 is verified by the simulation results for different number of parallel groups (N g = 2,5,10) and for fixed number of secondary users, i.e., Nsu = 20.

Fig. 10
figure 10

Analytical and simulation comparison of average number of idle channels discovered by SUs when Nsu = 10

4.2 Energy consumption

Figure 11 shows the energy consumption analysis of SUs during the proposed parallel sensing phase (Tps). We observe that when the number of parallel groups (N g ) are increased, then the saving in energy consumption is significant. For example, when N g = 2 and Nsu = 30 then the total energy consumption during the parallel sensing phase (Tps) is 2.2 J. Similarly, when N g = 5 and Nsu = 30 then the total energy consumption during the parallel sensing phase (Tps) is 0.7 J. Finally, when N g = 10 and Nsu = 30, then the total energy consumption during the parallel sensing phase (Tps) is 0.4 J. It is observed that when the parallel groups are increased (from N g = 2 to N g = 5) then 68% energy saving in sensing is achieved. Similarly, 81% of energy is saved in sensing when parallel groups are increased from N g = 2 to N g = 10.

Fig. 11
figure 11

Energy consumption analysis during parallel sensing phase for N g = 2, N g = 5, and N g = 10 and its comparison, when chmax = 5, chmax = 10, and chmax = 15

The energy consumption comparison of parallel sensing scheme and sensing scheme of SMC-MAC [27] is also shown in Fig. 11. It is observed that when chmax = 10 (random channel selection scheme in SMC-MAC [27]) and N g = 10, then both the sensing schemes will consume same amount of energy during sensing phase. However, when we further increase the parallel number of groups beyond N g = 10 then our parallel sensing scheme outperforms the reference sensing scheme.

4.3 Throughput gain

Figure 12 depicts the maximum throughput of the system versus traffic load on the primary channels, when N g is 2 and 5 and the number of secondary users are 5 and 30. It is observed here that when there are 2 parallel groups with 5 to 50 SUs, the maximum throughput is 4.7 to 4.8 Gbps. Because, in parallel sensing scheme, when there are less number of groups, the effect of increasing the number of SUs on number of idle channel discovery is marginal. But we can see that when there are 10 number of parallel groups with 5 to 50 SUs, the maximum throughput is 2.1 to 5.2 Gbps, which is 60% higher in comparison to the reference scheme. Because, in parallel sensing scheme, when there are large number of groups, the effect of increasing the number of SUs on idle channels discovery is significant. Large number of parallel groups also reduces the overall sensing phase time, leaving more time for the transmission.

Fig. 12
figure 12

Maximum throughput of the system in parallel sensing scheme versus primary traffic load when N g = 2 and 10 with Nsu = 5 and 50

Figure 13 shows that from Nsu = 1 to Nsu = 11, the throughput of the system with two parallel groups is higher. Whereas, from Nsu = 13 to Nsu = 35 the throughput of the system with five parallel groups is higher. Moreover, from Nsu = 37 to Nsu = 50 the throughput of the system with 10 parallel groups is higher. It is evident that the large number of parallel groups are only efficient when there are the large number of SUs in the system and vice versa.

Fig. 13
figure 13

Maximum throughput of the system in parallel sensing scheme versus number of secondary users when N g = 2, 5, and 10

Figure 14 shows the comparison of maximum throughput of the system between proposed sensing scheme with N g =10 and reference sensing scheme in SMC-MAC [27] with chmax = 10, when the primary traffic load varies from 0 to 1. Here, we can see that at each point of the primary traffic, the throughput of the system for parallel sensing scheme always surpasses the reference sensing scheme. For example, at a point where the primary load is 0, the maximum throughput of the system is 1 Gbps for the parallel sensing scheme, whereas at the same point, maximum throughput of the system for SMC-MAC [27] is 0.8 Gbps. Figure 15 also shows the comparison of maximum throughput of the system between proposed sensing scheme with N g = 10 and sensing scheme in SMC-MAC [27] with chmax = 10, where the number of secondary users vary from 1 to 50. It is observed here that at each value of Nsu, the maximum throughput of the system for parallel sensing scheme always exceeds the reference sensing scheme. For example, at a point where Nsu = 30, the maximum throughput of the system is 3.7 Gbps for the reference sensing scheme and 4.6 Gbps for the proposed parallel sensing scheme.

Fig. 14
figure 14

Comparison of the maximum throughput of the system between parallel sensing scheme and SMC-MAC [27], with parameters N g = 10, chmax = 10, Nsu = 2, and Nch = 100

Fig. 15
figure 15

Comparison of the maximum throughput of the system between parallel sensing scheme and SMC-MAC [27], with parameters N g = 10, chmax = 10, γ = 10, and Nch = 100

It is apparent from the above results that the proposed parallel sensing scheme outperforms the reference sensing scheme because it discovers more idle channels, which leads to higher throughput. Also in the parallel sensing scheme, the sensing phase time is reduced by increasing the number of parallel groups which leaves more time for the transmission that also contribute towards higher throughput.

5 Conclusions

In this work, we have proposed a parallel sensing scheme for the cognitive radio ad hoc networks that efficiently discovers more idle channels from the primary user band, consequently leading to improved spectrum utilization, lower power consumption, and higher throughput. We have investigated the performance of proposed parallel sensing scheme through both mathematical analysis and simulations. Comparison with the SMC-MAC protocol [27] shows that the proposed parallel sensing scheme outperforms the SMC-MAC sensing scheme by finding more idle channels from the primary user band and also improves energy efficiency during the sensing phase by increasing the number of parallel groups. Most importantly, the proposed scheme provides higher system throughput as the duration of sensing phase is reduced through parallel sensing, resulting in increased transmission time for the SUs in a given cycle. The proposed parallel sensing scheme is particularly suitable for delay-sensitive applications in ad hoc cognitive radio networks as it discovers higher number of idle channels in less time, consumes lower energy, and affords enhanced throughput.