In this paper, we propose a semi-distributed cooperative spectrum sensing (SDCSS) and channel access framework for multi-channel cognitive radio networks (CRNs). In particular, we consider a SDCSS scheme where secondary users (SUs) perform sensing and exchange sensing outcomes with each other to locate spectrum holes. In addition, we devise the p-persistent CSMA-based cognitive medium access control (MAC) protocol integrating the SDCSS to enable efficient spectrum sharing among SUs. We then perform throughput analysis and develop an algorithm to determine the spectrum sensing and access parameters to maximize the throughput for a given allocation of channel sensing sets. Moreover, we consider the spectrum sensing set optimization problem for SUs to maximize the overall system throughput. We present both exhaustive search and low-complexity greedy algorithms to determine the sensing sets for SUs and analyze their complexity. We also show how our design and analysis can be extended to consider reporting errors. Finally, extensive numerical results are presented to demonstrate the significant performance gain of our optimized design framework with respect to non-optimized designs as well as the impacts of different protocol parameters on the throughput performance.

1 Introduction

It has been well recognized that cognitive radio is one of the most important technologies that would enable us to meet exponentially growing spectrum demand via fundamentally improving the utilization of our precious spectral resources [1]. Development of efficient spectrum sensing and access algorithms for cognitive radios is among the key research issues for successful deployment of this promising technology. There is indeed a growing literature on medium access control (MAC) protocol design and analysis for CRNs [2–13] (see [3] for a survey of recent works in this topic). In [2], it was shown that a significant throughput gain can be achieved by optimizing the sensing time under the single secondary user (SU) setting. Another related effort along this line was conducted in [6] where sensing-period optimization and optimal channel-sequencing algorithms were proposed to efficiently discover spectrum holes and to minimize the exploration delay.

In [7], a control-channel based MAC protocol was proposed for SUs to exploit white spaces in the cognitive ad hoc network. In particular, the authors of this paper developed both random and negotiation-based spectrum sensing schemes and performed throughput analysis for both saturation and non-saturation scenarios. There exists several other synchronous cognitive MAC protocols, which rely on a control channel for spectrum negotiation and access [8–13]. In [4] and [5], we designed, analyzed, and optimized a window-based MAC protocol to achieve efficient tradeoff between sensing time and contention overhead. However, these works considered the conventional single-user-energy-detection-based spectrum sensing scheme, which would only work well if the signal-to-noise ratio (SNR) is sufficiently high. In addition, the MAC protocol in these works was the standard window-based carrier sense multiple access (CSMA) MAC protocol, which is known to be outperformed by the p-persistent CSMA MAC protocol [30].

Optimal sensing and access design for CRNs were designed by using optimal stopping theory in [14]. In [15], a multi-channel MAC protocol was proposed considering the distance among users so that white spaces can be efficiently exploited while satisfactorily protecting primary users (PUs). Different power and spectrum allocation algorithms were devised to maximize the secondary network throughput in [16–18]. Optimization of spectrum sensing and access in which either cellular or TV bands can be employed was performed in [19]. These existing works either assumed perfect spectrum sensing or did not consider the cooperative spectrum sensing in their design and analysis.

Cooperative spectrum sensing has been proposed to improve the sensing performance where several SUs collaborate with each other to identify the spectrum holes [20–27, 37]. In a typical cooperative sensing scheme, each SU performs sensing independently and then sends its sensing result to a central controller (e.g., an access point (AP)). Here, various aggregation rules can be employed to combine these sensing results at the central controller to decide whether or not a particular spectrum band is available for secondary access. In [37], the authors studied the performance of hard decisions and soft decisions at a fusion center. They also investigated the impact of reporting channel errors on the cooperative sensing performance. Recently, the authors of [38] proposed a novel cooperative spectrum sensing scheme using hard decision combining considering feedback errors.

In [23–26], optimization of cooperative sensing under the a-out-of-b rule was studied. In [25], the game-theoretic based method was proposed for cooperative spectrum sensing. In [27], the authors investigated the multi-channel scenario where the AP collects statistics from SUs to decide whether it should stop at the current time slot. In [39, 40], two different optimization problems for cooperative sensing were studied. The first one focuses on throughput maximization where the objective is the probability of false alarm. The second one attempts to perform interference management where the objective is the probability of detection. These existing works focused on designing and optimizing parameters for the cooperative spectrum sensing algorithm; however, they did not consider spectrum access issues. Furthermore, either the single channel setting or homogeneous network scenario (i.e., SUs experience the same channel condition and spectrum statistics for different channels) was assumed in these works.

In [28] and [29], the authors conducted design and analysis for cooperative spectrum sensing and MAC protocol design for cognitive radios where parallel spectrum sensing on different channels was assumed to be performed by multiple spectrum sensors at each SU. In CRNs with parallel-sensing, there is no need to optimize spectrum sensing sets for SUs. These works again considered the homogeneous network and each SU simply senses all channels. To the best of our knowledge, existing cooperative spectrum sensing schemes rely on a central controller to aggregate sensing results for white space detection (i.e., centralized design). In addition, homogeneous environments and parallel sensing have been commonly assumed in the literature, which would not be very realistic.

In this work, we consider a general semi-distributed cooperative spectrum sensing (SDCSS) and access framework under the heterogeneous environment where statistics of wireless channels, and spectrum holes can be arbitrary and there is no central controller to collect sensing results and make spectrum status decisions. In addition, we assume that each SU is equipped with only one spectrum sensor so that SUs have to sense channels sequentially. This assumption would be applied to real-world hardware-constrained cognitive radios. The considered SDCSS scheme requires SUs to perform sensing on their assigned sets of channels and then exchange spectrum sensing results with other SUs, which can be subject to errors. After the sensing and reporting phases, SUs employ the p-persistent CSMA MAC protocol [30] to access one available channel. In this MAC protocol, parameter p denotes the access probability to the chosen channel if the carrier sensing indicates an available channel (i.e., no other SUs transmit on the chosen channel). It is of interest to determine the access parameter p that can mitigate the collisions and hence enhance the system throughput [30]. Also, optimization of the spectrum sensing set for each SU (i.e., the set of channels sensed by the SU) is very critical to achieve good system throughput. Moreover, analysis and optimization of the joint spectrum sensing and access design become much more challenging in the heterogeneous environment, which, however, can significantly improve the system performance. Our current paper aims to resolve these challenges whose contributions can be summarized as follows:

We propose the distributed p-persistent CSMA protocol incorporating SDCSS for multi-channel CRNs. Then we analyze the saturation throughput and optimize the spectrum sensing time and access parameters to achieve maximum throughput for a given allocation of channel sensing sets. These analysis and optimization are performed in the general heterogeneous scenario assuming that spectrum sensing sets for SUs have been predetermined.

We study the channel sensing set optimization (i.e., channel assignment) for throughput maximization and devise both exhaustive search and low-complexity greedy algorithms to solve the underlying NP-hard optimization problem. Specifically, an efficient solution for the considered problem would only allocate a subset of ‘good’ SUs to sense each channel so that accurate sensing can be achieved with minimal sensing time. We also analyze the complexity of the brute-force search and the greedy algorithms.

We extend the design and analysis to consider reporting errors as SUs exchange their spectrum sensing results. In particular, we describe cooperative spectrum sensing model and derive the saturation throughput considering reporting errors. Moreover, we discuss how the proposed algorithms to optimize the sensing/access parameters and sensing sets can be adapted to consider reporting errors. Again, all the analysis is performed for the heterogeneous environment.

We present numerical results to illustrate the impacts of different parameters on the secondary throughput performance and demonstrate the significant throughput gain due to the optimization of different parameters in the proposed framework.

The remaining of this paper is organized as follows. Section 2 describes system and sensing models. MAC protocol design, throughput analysis, and optimization are performed in Section 3 assuming no reporting errors. Section 4 provides further extension for the analysis and optimization considering reporting errors. Section 5 presents numerical results followed by concluding remarks in Section 6. The summary of key variables in the paper is given in Table 1.

2 System model and spectrum sensing design

In this section, we describe the system model and spectrum sensing design for the multi-channel CRNs. Specifically, sensing performances in terms of detection and false alarm probabilities are presented.

2.1 System model

We consider a network setting where N pairs of SUs opportunistically exploit white spaces in M channels for data transmission. For simplicity, we refer to pair i of SUs simply as SU i. We assume that each SU can exploit only one available channel for transmission (i.e., SUs are equipped with narrow-band radios). We will design a synchronized MAC protocol integrating SDCSS for channel access. We assume that each channel is either in the idle or busy state for each predetermined periodic interval, which is referred to as a cycle in this paper.

We further assume that each pair of SUs can overhear transmissions from other pairs of SUs (i.e., collocated networks). There are M PUs each of which may or may not use one corresponding channel for its data transmission in each cycle. In addition, it is assumed that transmission from any pair of SUs on a particular channel will affect the primary receiver which receives data on that channel. The network setting under investigation is shown in Figure 1 where C_{
i
} denotes channel i that belongs to PU i.

2.2 Semi-distributed cooperative spectrum sensing

We assume that each SU i is assigned a set of channels {\mathcal{S}}_{i} where it senses all channels in this assigned set at beginning of each cycle in a sequential manner (i.e., sense one-by-one). The optimization of such channel assignment will be considered in the next section. Upon completing the channel sensing, each SU i exchanges the sensing results (i.e., idle/busy status of all channels in {\mathcal{S}}_{i}) with other SUs for further processing. Here, the channel status of each channel can be represented by one bit (e.g., 1 for idle and 0 for busy status). Upon collecting sensing results, each SU will decide idle/busy status for all channels. Then, SUs are assumed to employ a distributed MAC protocol to perform access resolution so that only the winning SUs on each channel are allowed to transmit data. The detailed MAC protocol design will be presented later.

Let {\mathcal{\mathscr{H}}}_{0} and {\mathcal{\mathscr{H}}}_{1} denote the events that a particular PU is idle and active on its corresponding channel in any cycle, respectively. In addition, let {\mathcal{P}}_{j}\left({\mathcal{\mathscr{H}}}_{0}\right) and {\mathcal{P}}_{j}\left({\mathcal{\mathscr{H}}}_{1}\right)=1-{\mathcal{P}}_{j}\left({\mathcal{\mathscr{H}}}_{0}\right) be the probabilities that channel j is available and not available for secondary access, respectively. We assume that SUs employ an energy detection sensing scheme and let f_{
s
} be the sampling frequency used in the sensing period for all SUs. There are two important performance measures, which are used to quantify the sensing performance, namely detection and false alarm probabilities. In particular, a detection event occurs when a SU successfully senses a busy channel and false alarm represents the situation when a spectrum sensor returns a busy status for an idle channel (i.e., the transmission opportunity is overlooked).

Assume that transmission signals from PUs are complex-valued PSK signals while the noise at the SUs is independent and identically distributed circularly symmetric complex Gaussian \mathcal{C}\mathcal{N}\left(0,{N}_{0}\right)[2]. Then, the detection and false alarm probabilities experienced by SU i for the channel j can be calculated as [2]

where i∈[1,N] is the SU index, j∈[1,M] is the channel index, ε^{ij} is the detection threshold for the energy detector, γ^{ij} is the SNR of the PU’s signal at the SU, f_{
s
} is the sampling frequency, N_{0} is the noise power, τ^{ij} is the sensing time of SU i on channel j, and \mathcal{Q}\left(.\right) is defined as \mathcal{Q}\left(x\right)=\left(1/\sqrt{2\pi}\right){\int}_{x}^{\infty}exp\left(-{t}^{2}/2\right)\mathit{\text{dt}}.

We assume that a general cooperative sensing scheme, namely, a-out-of-b rule, is employed by each SU to determine the idle/busy status of each channel based on reported sensing results from other SUs. Under this scheme, an SU will declare that a channel is busy if a or more messages out of b sensing messages report that the underlying channel is busy. The a-out-of-b rule covers different rules including OR, AND, and majority rules as special cases. In particular, a=1 corresponds to the OR rule; if a=b then it is the AND rule; and the majority rule has a=⌈b/2⌉.

To illustrate the operations of the a-out-of-b rule, let us consider a simple example shown in Figure 2. Here, we assume that three SUs collaborate to sense channel 1 with a=2 and b=3. After sensing channel 1, all SUs exchange their sensing outcomes. SU3 receives the reporting results comprising two ‘1’ and one ‘0’ where 1 means that the channel is busy and 0 means channel is idle. Because the total number of ‘1s’ is 2 which is larger than or equal to a=2, SU3 outputs the 1 in the final sensing result, namely, the channel is busy.

Let us consider a particular channel j. Let {\mathcal{S}}_{j}^{\mathrm{U}} denote the set of SUs that sense channel j, {b}_{j}=\left|{\mathcal{S}}_{j}^{\mathrm{U}}\right| be the number of SUs sensing channel j, and a_{
j
} be the number of messages indicating that the underlying channel is busy. Then, the final decision on the spectrum status of channel j under the a-out-of-b rule has detection and false alarm probabilities that can be written as [25]

where u represents d or f as we calculate the probability of detection {\mathcal{P}}_{d}^{j} or false alarm {\mathcal{P}}_{f}^{j}, respectively; \stackrel{\u0304}{\mathcal{P}} is defined as \stackrel{\u0304}{\mathcal{P}}=1-\mathcal{P}; {\Phi}_{l}^{k} in (3) denotes a particular set with l SUs whose sensing outcomes suggest that channel j is busy given that this channel is indeed busy and idle as u represents d and f, respectively. Here, we generate all possible combinations of {\Phi}_{l}^{k} where there are indeed {C}_{{b}_{j}}^{l} combinations. Also, {\overrightarrow{\epsilon}}^{j}=\left\{{\epsilon}^{\mathit{\text{ij}}}\right\}, {\overrightarrow{\tau}}^{j}=\left\{{\tau}^{\mathit{\text{ij}}}\right\}, i\in {\mathcal{S}}_{j}^{\mathrm{U}} represent the set of detection thresholds and sensing times, respectively. For brevity, {\mathcal{P}}_{d}^{j}\left({\overrightarrow{\epsilon}}^{j},{\overrightarrow{\tau}}^{j},{a}_{j}\right) and {\mathcal{P}}_{f}^{j}\left({\overrightarrow{\epsilon}}^{j},{\overrightarrow{\tau}}^{j},{a}_{j}\right) are sometimes written as {\mathcal{P}}_{d}^{j} and {\mathcal{P}}_{f}^{j} in the following.

Each SU exchanges the sensing results on its assigned channels with other SUs over a control channel, which is assumed to be always available (e.g., it is owned by the secondary network). To avoid collisions among these message exchanges, we assume that there are N reporting time slots for N SUs each of which has length equal to t_{
r
}. Hence, the total time for exchanging sensing results among SUs is Nt_{
r
}. Note that the set of channels assigned to SU i for sensing, namely {\mathcal{S}}_{i}, is a subset of all channels and these sets can be different for different SUs. An example of channel assignment (i.e., channel sensing sets) is presented in Table 2. In this table, SU4 is not assigned any channel. Hence, this SU must rely on the sensing results of other SUs to determine the spectrum status.

Remark1

In practice, the idle/busy status of primary system on a particular channel can be arbitrary and would not be synchronized with the operations of the SUs (i.e., the idle/busy status of any channel can change in the middle of a cycle). Hence, to strictly protect the PUs, SUs should continuously scan the spectrum of interest and evacuate from an exploited channel as soon as the PU changes from an idle to a busy state. However, this continuous spectrum monitoring would be very costly to implement since each SU should be equipped with two half-duplex transceivers to perform spectrum sensing and access at the same time. A more efficient protection method for PUs is to perform periodic spectrum sensing where SUs perform spectrum sensing at the beginning of each fixed-length interval and exploits available frequency bands for data transmission during the remaining time of the interval. In this paper, we assume that the idle/busy status of each channel remains the same in each cycle, which enables us to analyze the system throughput. In general, imposing this assumption would not sacrifice the accuracy of our throughput analysis if PUs maintain their idle/busy status for a sufficiently long time. This is actually the case for many practical scenarios such as in the TV bands, as reported by several recent studies [34]. In addition, our MAC protocol that is developed under this assumption would result in very few collisions with PUs because the cycle time is quite small compared to the typical intervals over which the active/idle statuses of PUs change.

3 Performance analysis and optimization for cognitive MAC protocol

We present the cognitive MAC protocol design, performance analysis, and optimization for the multi-channel CRNs in this section.

3.1 Cognitive MAC protocol design

We assume that time is divided into fixed-size cycles and it is assumed that SUs can perfectly synchronize with each other (i.e., there is no synchronization error) [12]. We propose a synchronized multi-channel MAC protocol for dynamic spectrum sharing as follows. The MAC protocol has four phases in each cycle as illustrated in Figure 3. The beacon signal is sent on the control channel to achieve synchronization in the first phase [12] which is presented in the simple manner as follows. At the beginning of this phase, each SU senses the beacon signal from the volunteered synchronized SU which is the first SU sending the beacon. If an SU does not receive any beacon, it selects itself as the volunteered SU and sends out the beacon for synchronization. In the second phase, namely, the sensing phase of length τ, all SUs simultaneously perform spectrum sensing on their assigned channels. Here, we have τ= maxiτ^{i}, where {\tau}^{i}=\sum _{j\in {\mathcal{S}}_{i}}{\tau}^{\mathit{\text{ij}}} is the total sensing time of SU i, τ^{ij} is the sensing time of SU i on channel j, and {\mathcal{S}}_{i} is the set of channels assigned for SU i. We assume that one separate channel is assigned as a control channel which is used to exchange sensing results for reporting as well as broadcast a beacon signal for synchronization. This control channel is assumed to be always available (e.g., it is owned by the secondary network). In the third phase, all SUs exchange their sensing results with each other via the control channel. Based on these received sensing results, each SU employs SDCSS techniques to decide the channel status of all channels and hence has a set of available channels. Then each SU transmitter will choose one available channel randomly (which is used for contention and data transmission) and inform it to the corresponding SU receiver via the control channel.

In the fourth phase, SUs will participate in contention and data transmission on their chosen channels. We assume that the length of each cycle is sufficiently large so that SUs can transmit several packets during this data contention and transmission phase. In particular, we employ the p-persistent CSMA principle [30] to devise our cognitive MAC protocol. In this protocol, each SU attempts to transmit on the chosen channel with a probability of p if it senses an available channel (i.e., no other SUs transmit data on its chosen channel). In case the SU decides not to transmit (with probability of 1−p), it will sense the channel and attempt to transmit again in the next slot with probability p. If there is a collision, the SU will wait until the channel is available and attempt to transmit with probability p as before.

The standard 4-way handshake with request-to-send/clear-to-send (RTS/CTS) [31] will be employed to reserve a channel for data transmission. So the SU choosing to transmit on each available channel exchanges RTS/CTS messages before transmitting its actual data packet. An acknowledgment (ACK) from the receiver is transmitted to the transmitter for successful reception of any packet. The detailed timing diagram of this MAC protocol is presented in Figure 3.

Remark2.

For simplicity, we consider the fixed control channel in our design. However, extensions to consider dynamic control channel selections to avoid the congestion can be adopted in our proposed framework. More information on these designs can be found in [32].

3.2 Saturation throughput analysis

In this section, we analyze the saturation throughput of the proposed cognitive p-persistent CSMA protocol assuming that there are no reporting errors in exchanging the spectrum sensing results among SUs. Because there are no reporting errors, all SUs acquire the same sensing results for each channel, which implies that they make the same final sensing decisions since the same a-out-of-b aggregation rule is employed for each channel. In the analysis, the transmission time is counted in terms of contention time slot, which is assumed to be v seconds. Each data packet is assumed to be of fixed size of PS time slots. A detailed timing diagram of the p-persistent CSMA MAC protocol is illustrated in Figure 3.

Any particular channel alternates between idle and busy periods from the viewpoint of the secondary system where each busy period corresponds to either a collision or a successful transmission. We use the term ‘epoch’ to refer to the interval between two consecutive successful transmissions. This means that an epoch starts with an idle period followed by some alternating collision periods and idle periods before ending with a successful transmission period. Note that an idle period corresponds to the interval between two consecutive packet transmissions (collisions or successful transmissions).

Recall that each SU chooses one available channel randomly for contention and transmission according to the final cooperative sensing outcome. We assume that upon choosing a channel, an SU keeps contending and accessing this channel until the end of the current cycle. In the case of missed detection (i.e., the PU is using the underlying channel but the sensing outcome suggests that the channel is available), there will be collisions between SUs and the PU. Therefore, RTS and CTS exchanges will not be successful in this case even though SUs cannot differentiate whether they collide with other SUs or the PU. Note that channel accesses of SUs due to missed detections do not contribute to the secondary system throughput.

To calculate the throughput for the secondary network, we have to consider all scenarios of idle/busy statuses of all channels and possible misdetection and false alarm events for each particular scenario. Specifically, the normalized throughput per one channel achieved by our proposed MAC protocol, \mathcal{N}\mathcal{T}\left(\left\{{\tau}^{\mathit{\text{ij}}}\right\},\left\{{a}_{j}\right\},p,\left\{{\mathcal{S}}_{i}\right\}\right) can be written as

The quantity (4) represents the probability that there are k_{0} available channels, which may or may not be correctly determined by the SDCSS. Here, {\Psi}_{{k}_{0}}^{{l}_{0}} denotes a particular set of k_{0} available channels out of M channels whose index is l_{0}. In addition, the quantity (5) describes the probability that the SDCSS indicates k_{1} available channels, whereas the remaining available channels are overlooked due to sensing errors where {\Theta}_{{k}_{1}}^{{l}_{1}} denotes the l_{1}th set with k_{1} available channels. For the quantity in (6), k_{2} represents the number of channels that are not available, but the sensing outcomes indicate that they are available (i.e., due to misdetection) where {\Omega}_{{k}_{2}}^{{l}_{2}} denotes the l_{2}th set with k_{2} misdetected channels. The quantity in (6) describes the probability that the sensing outcomes due to SUs incorrectly indicates k_{2} available channels. Finally, {\mathcal{T}}_{p}^{\mathit{\text{ne}}}\left(\tau ,\left\{{a}_{j}\right\},p\right) in (7) denotes the conditional throughput for a particular realization of sensing outcomes corresponding to two sets {\Theta}_{{k}_{1}}^{{l}_{1}} and {\Omega}_{{k}_{2}}^{{l}_{2}}.

Therefore, we have to derive the conditional throughput {\mathcal{T}}_{p}^{\mathit{\text{ne}}}\left(\tau ,\left\{{a}_{j}\right\},p\right) to complete the throughput analysis, which is pursued in the following. Since each SU randomly chooses one available channel according to the SDCSS for contention and access, the number of SUs actually choosing a particular available channel is a random number. In addition, the SDCSS suggests that the channels in {\Theta}_{{k}_{1}}^{{l}_{1}}\cup {\Omega}_{{k}_{2}}^{{l}_{2}} are available for secondary access, but only channels in {\Theta}_{{k}_{1}}^{{l}_{1}} are indeed available and can contribute to the secondary throughput (channels in {\Omega}_{{k}_{2}}^{{l}_{2}} are misdetected by SUs). Let \left\{{n}_{j}\right\}=\left\{{n}_{1},{n}_{2},\dots ,{n}_{{k}_{e}}\right\} be the vector describing how SUs choose channels for access where {k}_{e}=\left|{\Theta}_{{k}_{1}}^{{l}_{1}}\cup {\Omega}_{{k}_{2}}^{{l}_{2}}\right| and n_{
j
} denotes the number of SUs choosing channel j for access. Therefore, the conditional throughput {\mathcal{T}}_{p}^{\mathit{\text{ne}}}\left(\tau ,\left\{{a}_{j}\right\},p\right) can be calculated as follows:

where \mathcal{P}\left(\left\{{n}_{j}\right\}\right) in (8) represents the probability that the channel access vector {n_{
j
}} is realized (each channel j where j\in {\Theta}_{{k}_{1}}^{{l}_{1}}\cup {\Omega}_{{k}_{2}}^{{l}_{2}} is selected by n_{
j
} SUs). The sum in (9) describes the normalized throughput per channel due to a particular realization of the access vector {n_{
j
}}. Therefore, it is equal to the total throughput achieved by all available channels (in the set {\Theta}_{{k}_{1}}^{{l}_{1}}) divided by the total number of channels M. Here, {\mathcal{T}}_{{j}_{2}}^{\mathit{\text{ne}}}\left(\tau ,\left\{{a}_{{j}_{2}}\right\},p\left|n={n}_{{j}_{2}}\right.\right) denotes the conditional throughput achieved by a particular channel j_{2} when there are {n}_{{j}_{2}} contending on this channel and \mathcal{I}\left({n}_{{j}_{2}}>0\right) represents the indicator function, which is equal to 0 if {n}_{{j}_{2}}=0 (i.e., no SU chooses channel j_{2}) and equal to 1, otherwise. Note that the access of channels in the set {\Omega}_{{k}_{2}}^{{l}_{2}} due to missed detection does not contribute to the system throughput, which explains why we do not include these channels in the sum in (9).

Therefore, we need to drive \mathcal{P}\left(\left\{{n}_{j}\right\}\right) and {\mathcal{T}}_{{j}_{2}}^{\mathit{\text{ne}}}\left(\tau ,\left\{{a}_{{j}_{2}}\right\},p\left|n={n}_{{j}_{2}}\right.\right) to determine the normalized throughput. Note that the sensing outcome due to the SDCSS is the same for all SUs and each SU chooses one channel in the set of {k}_{e}=\left|{\Theta}_{{k}_{1}}^{{l}_{1}}\cup {\Omega}_{{k}_{2}}^{{l}_{2}}\right| channels randomly. Therefore, the probability \mathcal{P}\left(\left\{{n}_{j}\right\}\right) can be calculated as follows:

where \left(\begin{array}{l}N\\ \left\{{n}_{j}\right\}\end{array}\right) isthe multinomial coefficient which is defined as \left(\begin{array}{l}N\\ \left\{{n}_{j}\right\}\end{array}\right)=\left(\begin{array}{l}N\\ {n}_{1},{n}_{2},\dots ,{n}_{k}\end{array}\right)=\frac{N!}{{n}_{1}!{n}_{2}!\dots {n}_{k}!}.

The calculation of the conditional throughput {\mathcal{T}}_{{j}_{2}}^{\mathit{\text{ne}}}\left(\tau ,\left\{{a}_{{j}_{2}}\right\},p\left|n={n}_{{j}_{2}}\right.\right) must account for the overhead due to spectrum sensing and exchanges of sensing results among SUs. Let us define T_{R}=Nt_{r} where t_{r} is the report time from each SU to all the other SUs; τ= maxiτ^{i} is the total the sensing time; {\stackrel{\u0304}{T}}_{\mathit{\text{cont}}}^{{j}_{2}} is the average total time due to contention, collisions, and RTS/CTS exchanges before a successful packet transmission; T_{S} is the total time for transmissions of data packet, ACK control packet, and overhead between these data and ACK packets. Then, the conditional throughput {\mathcal{T}}_{{j}_{2}}^{\mathit{\text{ne}}}\left(\tau ,\left\{{a}_{{j}_{2}}\right\},p\left|n={n}_{{j}_{2}}\right.\right) can be written as

where ⌊.⌋ denotes the floor function and recall that T is the duration of a cycle. Note that \u230a\frac{T-\tau -{T}_{\mathrm{R}}}{{\stackrel{\u0304}{T}}_{\mathit{\text{cont}}}^{{j}_{2}}+{T}_{\mathrm{S}}}\u230b denotes the average number of successfully transmitted packets in one particular cycle excluding the sensing and reporting phases. Here, we omit the length of the synchronization phase, which is assumed to be negligible.

To calculate {\stackrel{\u0304}{T}}_{\mathit{\text{cont}}}^{{j}_{2}}, we define some further parameters as follows. Let denote T_{C} as the duration of the collision; {\stackrel{\u0304}{T}}_{\mathrm{S}} is the required time for successful RTS/CTS transmission. These quantities can be calculated under the 4-way handshake mechanism as [30]

where PS is the packet size, ACK is the length of an ACK packet, SIFS is the length of a short interframe space, DIFS is the length of a distributed interframe space, PD is the propagation delay where PD is usually very small compared to the slot size v.

Let {T}_{\mathrm{I}}^{i,{j}_{2}} be the i th idle duration between two consecutive RTS/CTS transmissions (they can be collisions or successes) on a particular channel j_{2}. Then, {T}_{\mathrm{I}}^{i,{j}_{2}} can be calculated based on its probability mass function (PMF), which is derived in the following. Recall that all quantities are defined in terms of number of time slots. Now, suppose there are {n}_{{j}_{2}} SUs choosing channel j_{2}, let {\mathcal{P}}_{\mathrm{S}}^{{j}_{2}}, {\mathcal{P}}_{\mathrm{C}}^{{j}_{2}} and {\mathcal{P}}_{\mathrm{I}}^{{j}_{2}} be the probabilities of a generic slot corresponding to a successful transmission, a collision, and an idle slot, respectively. These quantities are calculated as follows:

where p is the transmission probability of an SU in a generic slot. Note that {\stackrel{\u0304}{T}}_{\mathit{\text{cont}}}^{{j}_{2}} is a random variable (RV) consisting of several intervals corresponding to idle periods, collisions, and one successful RTS/CTS transmission. Hence, this quantity for channel j_{2} can be written as

where {N}_{\mathrm{c}}^{{j}_{2}} is the number of collisions before the first successful RTS/CTS exchange. Hence, it is a geometric RV with parameter 1-{\mathcal{P}}_{\mathrm{C}}^{{j}_{2}}/{\stackrel{\u0304}{\mathcal{P}}}_{\mathrm{I}}^{{j}_{2}} (where {\stackrel{\u0304}{\mathcal{P}}}_{\mathrm{I}}^{{j}_{2}}=1-{\mathcal{P}}_{\mathrm{I}}^{{j}_{2}}). Its PMF can be expressed as

Also, {T}_{\mathrm{I}}^{i,{j}_{2}} represents the number of consecutive idle slots, which is also a geometric RV with parameter 1-{\mathcal{P}}_{\mathrm{I}}^{{j}_{2}} with the following PMF

These expressions are obtained by using the PMFs of the corresponding RVs given in (18) and (19), respectively [30].

3.3 Semi-distributed cooperative spectrum sensing and p-persistent CSMA access optimization

We determine optimal sensing and access parameters to maximize the normalized throughput for our proposed SDCSS and p-persistent CSMA protocol. Here, we assume that the sensing sets {\mathcal{S}}_{j}^{\mathrm{U}} for different channels j have been given. Optimization of these sensing sets is considered in the next section. Note that the optimization performed in this paper is different from those in [4, 5] because the MAC protocols and sensing algorithms in the current and previous works are different. The normalized throughput optimization problem can be presented as

where {\mathcal{P}}_{d}^{j} is the detection probability for channel j; {\hat{\mathcal{P}}}_{d}^{j} denotes the target detection probability; {\overrightarrow{\epsilon}}^{j} and {\overrightarrow{\tau}}^{j} represent the vectors of detection thresholds and sensing times on channel j, respectively; a_{
j
} describes the parameter of the a_{
j
}-out-of- b_{
j
} aggregation rule for SDCSS on channel j with {b}_{j}=\left|{\mathcal{S}}_{j}^{\mathrm{U}}\right| where recall that {\mathcal{S}}_{j}^{\mathrm{U}} is the set of SUs sensing channel j. The optimization variables for this problem are sensing times τ^{ij} and parameters a_{
j
} of the sensing aggregation rule and transmission probability p of the MAC protocol.

It was shown in [2] that the constraints on detection probability should be met with equality at optimality under the energy detection scheme and single-user scenario. This is quite intuitive since lower detection probability implies smaller sensing time, which leads to higher throughput. This is still the case for our considered multi-user scenario as can be verified by the conditional throughput formula (12). Therefore, we can set {\mathcal{P}}_{d}^{j}\left({\overrightarrow{\epsilon}}^{j},{\overrightarrow{\tau}}^{j},{a}_{j}\right)={\hat{\mathcal{P}}}_{d}^{j} to solve the optimization problem (23) to (25).

However, {\mathcal{P}}_{d}^{j}\left({\overrightarrow{\epsilon}}^{j},{\overrightarrow{\tau}}^{j},{a}_{j}\right) is a function of {\mathcal{P}}_{d}^{\mathit{\text{ij}}} for all SUs i\in {\mathcal{S}}_{j}^{\mathrm{U}} since we employ the SDCSS scheme in this paper. Therefore, to simplify the optimization we set {\mathcal{P}}_{d}^{\mathit{\text{ij}}}={\mathcal{P}}_{d}^{j\ast} for all SUs i\in {\mathcal{S}}_{j}^{\mathrm{U}} (i.e., all SUs are required to achieve the same detection probability for each assigned channel). Then, we can calculate {\mathcal{P}}_{d}^{j\ast} by using (3) for a given value of {\hat{\mathcal{P}}}_{d}^{j}. In addition, we can determine {\mathcal{P}}_{f}^{\mathit{\text{ij}}} with the obtained value of {\mathcal{P}}_{d}^{j\ast} by using (2), which is the function of sensing time τ^{ij}.

Even after these steps, the optimization problem (23) to (25) is still very difficult to solve. In fact, it is the mixed integer nonlinear problem since the optimization variables a_{
j
} take integer values while other variables take real values. Moreover, even the corresponding optimization problem achieved by relaxing a_{
j
} to real variables is a difficult and non-convex problem to solve since the throughput in the objective function (23) given in (7) is a complicated and nonlinear function of optimization variables.

Given this observation, we have devised Algorithm 1 to determine the solution for this optimization problem based on the coordinate-descent searching techniques. The idea is that at one time, we fix all variables while searching for the optimal value of the single variable. This operation is performed sequentially for all variables until convergence is achieved. Since the normalized throughput given in (7) is quite insensitive with respect to p, we attempt to determine the optimized values for \left(\left\{{\stackrel{\u0304}{\tau}}^{\mathit{\text{ij}}}\right\},\left\{{\u0101}_{j}\right\}\right) first for different values of p (steps 3 to 11 in Algorithm 1) before searching the optimized value of p in the outer loop (step 12 in Algorithm 1). This algorithm converges to the fixed point solution since we improve the objective value over iterations (steps 4 to 9). This optimization problem is non-convex in general. However, we can obtain its optimal solution easily by using the bisection search technique since the throughput function is quite smooth [35]. For some specific cases such as in homogeneous systems [4, 23, 26], the underlying optimization problem is convex, which can be solved efficiently by using standard convex optimization algorithms.

3.4 Optimization of channel sensing sets

For the CRNs considered in the current work, the network throughput strongly depends on the availability of different channels, the spectrum sensing time, and the sensing quality. Specifically, long sensing time τ reduces the communications time on the available channels in each cycle of length T, which, therefore, decreases the network throughput. In addition, poor spectrum sensing performance can also degrade the network throughput since SUs can either overlook available channels (due to false alarm) or access busy channels (due to missed detection). Thus, the total throughput of SUs can be enhanced by optimizing the access parameter p and sensing design, namely optimizing the assignments of channels to SUs (i.e., optimizing the sensing sets for SUs) and the corresponding sensing times.

Recall that we have assumed the channel sensing sets for SUs are fixed to optimize the sensing and access parameters in the previous section. In this section, we attempt to determine an efficient channel assignment solution (i.e., channel sensing sets) by solving the following problem

Note that the optimal values of a_{
j
} can only be determined if we have fixed the channel sensing set {\mathcal{S}}_{j}^{\mathrm{U}} for each channel j. This is because we aim to optimize the a_{
j
}-out-of- b_{
j
} aggregation rule of the SDCSS scheme for each channel j where {b}_{j}=\left|{\mathcal{S}}_{j}^{\mathrm{U}}\right|. Since a_{
j
} takes integer values and optimization of channel sensing sets, {\mathcal{S}}_{j}^{\mathrm{U}} also involves integer variables where we have to determine the set of SUs {\mathcal{S}}_{j}^{\mathrm{U}} assigned to sense each channel j. Therefore, the optimization problem (26) is the nonlinear integer program, which is NP-hard [36]. In the following, we present both brute-force search algorithm and low-complexity greedy algorithm to solve this problem.

3.4.1 Brute-force search algorithm

Due to the nonlinear and combinatorial structure of the formulated channel assignment problem, it would be impossible to explicitly determine the optimal closed form solution for problem (26). However, we can employ the brute-force search (i.e., the exhaustive search) to determine the best channel assignment. Specifically, we can enumerate all possible channel assignment solutions. Then, for each channel assignment solution (i.e., sets {\mathcal{S}}_{j}^{\mathrm{U}} for all channels j), we employ Algorithm 1 to determine the best spectrum sensing and accessing parameters {τ^{ij}},{a_{
j
}},p and calculate the corresponding total throughput by using the throughput analytical model in 3.1. The channel assignment achieving the maximum throughput together with its best spectrum sensing and accessing parameters provides the best solution for the optimization problem (26).

3.4.2 Low-complexity greedy algorithm

We propose another low-complexity and greedy algorithm to find the solution for this problem, which is described in Algorithm 2. In this algorithm, we perform the initial channel assignment in step 1, which works as follows. We first temporarily assign all channels for each SU. Then, we run Algorithm 1 to find the optimal sensing times for this temporary assignment, i.e., to determine \left\{{\stackrel{\u0304}{\tau}}^{\mathit{\text{ij}}}\right\}, which is used to assign one SU to each channel so that the total sensing time is minimized. In particular, the initial channel assignments are set according to the solution of the optimization problem (27) and (28) presented in the following:

where x_{
i
j
} are binary variables representing the channel assignments where x_{
i
j
}=1 if channel j is allocated for SU i (i.e., j\in {\mathcal{S}}_{i}) and x_{
i
j
}=0, otherwise. We employ the well-known Hungarian algorithm [33] to solve this problem. Then, we perform further channel assignments in steps 2 to 18 of Algorithm 2. Specifically, to determine one channel assignment in each iteration, we temporarily assign one channel to the sensing set {\mathcal{S}}_{i} of each SU i and calculate the increase of throughput for such channel assignment ΔT_{
i
j
} with the optimized channel and access parameters obtained by using Algorithm 1 (step 6). We then search for the best channel assignment \left(\u012b,\stackrel{\u0304}{j}\right)=\underset{i,j\in \mathcal{S}\setminus {\mathcal{S}}_{i}}{argmax}\Delta {T}_{\mathit{\text{ij}}} and actually perform the corresponding channel assignment if \Delta {T}_{\u012b\stackrel{\u0304}{j}}>\delta (steps 7 to 10).

In Algorithm 2, δ>0 is a small number which is used in the stopping condition for this algorithm (step 11). In particular, if the increase of the normalized throughput due to the new channel assignment is negligible in any iteration (i.e., the increase of throughput is less than δ), then the algorithm terminates. Therefore, we can choose δ to efficiently balance the achievable throughput performance with the algorithm running time. In the numerical studies, we will choose δ equal to 1{0}^{-3}\times {\mathcal{NT}}_{c}.

The convergence of Algorithm 2 can be explained as follows. Over the course of this algorithm, we attempt to increase the throughput by performing additional channel assignments. It can be observed that we can increase the throughput by allowing (i) SUs to achieve better sensing performance or (ii) SUs to reduce their sensing times. However, these two goals could not be achieved concurrently due to the following reason. If SUs wish to improve the sensing performance via cooperative spectrum sensing, we should assign more channels to each of them. However, SUs would spend longer time sensing the assigned channels with the larger sensing sets, which would ultimately decrease the throughput. Therefore, there would exist a point when we cannot improve the throughput by performing further channel assignments, which implies that Algorithm 2 must converge.

There is a key difference in the current work and [5] regarding the sensing sets of SUs. Specifically, the sets of assigned channels are used for spectrum sensing and access in [5]. However, the sets of assigned channels are used for spectrum sensing only in the current work. In addition, the sets of available channels for possible access at SUs are determined based on the reporting results, which may suffer from communications errors. We will investigate the impact of reporting errors on the throughput performance in Section 4.

3.5 Complexity analysis

In this section, we analyze the complexity of the proposed brute-force search and low-complexity greedy algorithms.

3.5.1 Brute-force search algorithm

To determine the complexity of the brute-force search algorithm, we need to calculate the number of possible channel assignments. Since each channel can be either allocated or not allocated to any SU, the number of channel assignments is 2^{MN}. Therefore, the complexity of the brute-force search algorithm is \mathcal{O}\left({2}^{M\phantom{\rule{0.3em}{0ex}}N}\right). Note that to obtain the best channel assignment solution, we must run Algorithm 1 to find the best sensing and access parameters for each potential channel assignment, calculate the throughput achieved by such optimized configuration, and compare all the throughput values to determine the best solution.

3.5.2 Low-complexity greedy algorithm

In step 1, we run Hungarian algorithm to perform the first channel assignment for each SU i. The complexity of this operation can be upper bounded by \mathcal{O}\left({M}^{2}N\right) (see [33] for more details). In each iteration in the assignment loop (i.e., steps 2 to 18), each SU i needs to calculate the increases of throughput for different potential channel assignments. Then, we select the assignment resulting in maximum increase of throughput. Hence, the complexity involved in these tasks is upper bounded by MN since there are at most M channels to assign for each of N SUs. Also, the number of assignments to perform is upper bounded by MN (i.e., iterations of the main loop). Therefore, the complexity of the assignment loop is upper bounded by M^{2}N^{2}. Therefore, the total worst-case complexity of Algorithm 2 is \mathcal{O}\left({M}^{2}N+{M}^{2}{N}^{2}\right)=\mathcal{O}\left({M}^{2}{N}^{2}\right), which is much lower than that of the brute-force search algorithm. As a result, Table 3 in Section 5 demonstrates that our proposed greedy algorithms achieve the throughput performance very close to that achieved by the brute-force search algorithms albeit they require much lower computational complexity.

3.6 Practical implementation issues

In our design, the spectrum sensing and access operation is distributed, however, channel assignment is performed in centralized manner. In fact, one SU is pre-assigned as a cluster head, which conducts channel assignment for SUs (i.e., determine channel sensing sets for SUs). For fairness, we can assign the SU as the cluster head in the round-robin manner. To perform channel assignment, the cluster head is responsible for estimating {\mathcal{P}}_{j}\left({\mathcal{\mathscr{H}}}_{0}\right). Upon determining the channel sensing sets for all SUs, the cluster head will forward the results to the SUs. Then based on these pre-determined sensing sets, SUs will perform spectrum sensing and run the underlying MAC protocol to access the channel distributively in each cycle. It is worth to emphasize that the sensing sets for SUs are only determined once the probabilities {\mathcal{P}}_{j}\left({\mathcal{\mathscr{H}}}_{0}\right) change, which would be quite infrequent in practice (e.g., in the time scale of hours or even days). Therefore, the estimation cost for {\mathcal{P}}_{j}\left({\mathcal{\mathscr{H}}}_{0}\right) and all involved communication overhead due to sensing set optimization operations would be acceptable.

4 Consideration of reporting errors

In this section, we consider the impact of reporting errors on the performance of the proposed joint SDCSS and access design. Note that each SU relies on the channel sensing results received from other SUs in {\mathcal{S}}_{j}^{\mathrm{U}} to determine the sensing outcome for each channel j. If there are reporting errors then different SUs may receive different channel sensing results, which lead to different final channel sensing decisions. The throughput analysis, therefore, must account for all possible error patterns that can occur in reporting channel sensing results. We will present the cooperative sensing model and throughput analysis considering reporting errors in the following.

4.1 Cooperative sensing with reporting errors

In the proposed SDCSS scheme, each SU i_{1} collects sensing results for each channel j from all SUs {i}_{2}\in {\mathcal{S}}_{j}^{\mathrm{U}} who are assigned to sense channel j. In this section, we consider the case where there can be errors in reporting the channel sensing results among SUs. We assume that the channel sensing result for each channel transmitted by one SU to other SUs is represented by a single bit whose 1/0 values indicates that the underlying channel is available and busy, respectively. In general, the error probability of the reporting message between SUs i_{1} and i_{2} depends on the employed modulation scheme and the SNR of the communication channel between the two SUs. We denote the bit error probability of transmitting the reporting bit from SU i_{2} to SU i_{1} as {\mathcal{P}}_{e}^{{i}_{1}{i}_{2}}. In addition, we assume that the error processes of different reporting bits for different SUs are independent. Then, the probability of detection and probability of false alarm experienced by SU i_{1} on channel j with the sensing result received from SU i_{2} can be written as

where u≡d and u≡f represents probabilities of detection and false alarm, respectively. Note that we have {\mathcal{P}}_{e}^{{i}_{1}{i}_{2}}=0 if i_{1}=i_{2}=i since there is no sensing result exchange involved in this case. As SU i employs the a_{
j
}-out-of- b_{
j
} aggregation rule for channel j, the probabilities of detection and false alarm for SU i on channel j can be calculated as

Again, u≡d and u≡f represent the corresponding probabilities of detection or false alarm, respectively. Recall that {\mathcal{S}}_{j}^{\mathrm{U}} represents the set of SUs who are assigned to sense channel j; thus, we have {b}_{j}=\left|{\mathcal{S}}_{j}^{\mathrm{U}}\right| and 1\le {a}_{j}\le {b}_{j}=\left|{\mathcal{S}}_{j}^{\mathrm{U}}\right|. For brevity, {\stackrel{~}{\mathcal{P}}}_{u}^{\mathit{\text{ij}}}\left({\overrightarrow{\epsilon}}^{j},{\overrightarrow{\tau}}^{j},{a}_{j}\right) is written as {\stackrel{~}{\mathcal{P}}}_{u}^{\mathit{\text{ij}}} in the following section.

In order to analyze the saturation throughput for the case where there are reporting errors, we have to consider all possible scenarios due to the idle/busy status of all channels, sensing outcomes given by different SUs, and error/success events in the sensing result exchange processes. For one such combined scenario, we have to derive the total conditional throughput due to all available channels. Illustration of different involved sets for one combined scenario of the following analysis is presented in Figure 4. In particular, the normalized throughput considering reporting errors can be expressed as follows:

where {\mathcal{T}}_{p}^{\mathit{\text{re}}}\left(\tau ,\left\{{a}_{j}\right\},p\right) denotes the conditional throughput for one combined scenario discussed above. In (31), we generate all possible sets where k_{0} channels are available for secondary access (i.e., they are not used by PUs) while the remaining channels are busy. There are {C}_{M}^{{k}_{0}} such sets and {\Psi}_{{k}_{0}}^{{l}_{0}} represents one particular set of available channels. The first product term in (31) denotes the probability that all channels in {\Psi}_{{k}_{0}}^{{l}_{0}} are available, while the second product term describes the probability that the remaining channels are busy.

Then, for one particular channel {j}_{3}\in {\Psi}_{{k}_{0}}^{{l}_{0}}, we generate all possible sets with k_{1} SUs in {\mathcal{S}}_{{j}_{3}}^{\mathrm{U}} ({\mathcal{S}}_{{j}_{3}}^{\mathrm{U}} is the set of SUs who are assigned to sense channel j_{3}) whose sensing results indicate that channel j_{3} is available in (32). There are {C}_{\left|{\mathcal{S}}_{{j}_{3}}^{\mathrm{U}}\right|}^{{k}_{1}} sets and {\Theta}_{{k}_{1},{j}_{3}}^{{l}_{1}} denotes one such typical set. Again, the first product term in (32) is the probability that the sensing outcomes of all SUs in {\Theta}_{{k}_{1},{j}_{3}}^{{l}_{1}} indicate that channel j_{3} is available, and the second term is the probability that the sensing outcomes of all SUs in the remaining set {\mathcal{S}}_{{j}_{3}}^{\mathrm{U}}\setminus {\Theta}_{{k}_{1},{j}_{3}}^{{l}_{1}} indicate that channel j_{3} is not available.

In (33), for one specific channel {j}_{4}\in \mathcal{S}\setminus {\Psi}_{{k}_{0}}^{{l}_{0}}, we generate all possible sets with k_{2} SUs in {\mathcal{S}}_{{j}_{4}}^{\mathrm{U}} whose sensing outcomes indicate that channel j_{4} is available due to missed detection. There are {C}_{\left|{\mathcal{S}}_{{j}_{4}}^{\mathrm{U}}\right|}^{{k}_{2}} such sets and {\Omega}_{{k}_{2},{j}_{4}}^{{l}_{2}} is a typical one. Similarly, the first product term in (33) is the probability that the sensing outcomes of all SUs in {\Omega}_{{k}_{2},{j}_{4}}^{{l}_{2}} indicate that channel j_{4} is available; and the second term is the probability that the sensing outcomes of all SUs in the remaining set {\mathcal{S}}_{{j}_{4}}^{\mathrm{U}}\setminus {\Omega}_{{k}_{2},{j}_{4}}^{{l}_{2}} indicate that channel j_{4} is not available.

Recall that for any specific channel j, each SU in {\mathcal{S}}^{\mathrm{U}} (the set of all SUs) receives sensing results from a group of SUs who are assigned to sense the channel j. In (34), we consider all possible error events due to message exchanges from SUs in {\Theta}_{{k}_{1},{j}_{3}}^{{l}_{1}}. The first group denoted as {\Phi}_{{k}_{3},{j}_{3}}^{{l}_{3}} includes SUs in {\Theta}_{{k}_{1},{j}_{3}}^{{l}_{1}} has its sensing results received at SU {i}_{4}\in {\mathcal{S}}^{\mathrm{U}} indicating that channel j_{3} available (no reporting error) while the second group of SUs {\Theta}_{{k}_{1},{j}_{3}}^{{l}_{1}}\setminus {\Phi}_{{k}_{3},{j}_{3}}^{{l}_{3}} has the sensing results received at SU {i}_{4}\in {\mathcal{S}}^{\mathrm{U}} suggesting that channel j_{3} is not available due to reporting errors. For each of these two groups, we generate all possible sets of SUs of different sizes and capture the corresponding probabilities. In particular, we generate all sets with k_{3} SUs {i}_{5}\in {\Phi}_{{k}_{3},{j}_{3}}^{{l}_{3}} where SU i_{4} collects correct sensing information from SUs i_{5} (i.e., there is no error on the channel between i_{4} and i_{5}). Similar expression is presented for the second group in which we generate all sets of k_{4} SUs {i}_{6}\in {\Theta}_{{k}_{1},{j}_{3}}^{{l}_{1}}\setminus {\Phi}_{{k}_{3},{j}_{3}}^{{l}_{3}} where SU i_{4} collects wrong sensing information from each SU i_{6} (i.e., there is an error on the channel between i_{4} and i_{6}). Similarly, we present the possible error events due to exchanges of sensing results from the set of SUs {\mathcal{S}}_{{j}_{3}}^{\mathrm{U}}\setminus {\Theta}_{{k}_{1},{j}_{3}}^{{l}_{1}} in (35).

In (36) and (37), we consider all possible error events due to sensing result exchanges for channel {j}_{4}\in \mathcal{S}\setminus {\Psi}_{{k}_{0}}^{{l}_{0}}. Here, each SU in {\mathcal{S}}^{\mathrm{U}} collects sensing result information from two sets of SUs in {\Omega}_{{k}_{2},{j}_{4}}^{{l}_{2}} and {\mathcal{S}}_{{j}_{4}}^{\mathrm{U}}\setminus {\Omega}_{{k}_{2},{j}_{4}}^{{l}_{2}}, respectively. The first set includes SUs in {\Omega}_{{k}_{2},{j}_{4}}^{{l}_{2}} whose sensing results indicate that channel j_{4} available due to missed detection, while the second set includes SUs in {\mathcal{S}}_{{j}_{4}}^{\mathrm{U}}\setminus {\Omega}_{{k}_{2},{j}_{4}}^{{l}_{2}} whose sensing results indicate that channel j_{4} is not available. Possible outcomes for the message exchanges due to the first set {\Omega}_{{k}_{2},{j}_{4}}^{{l}_{2}} are captured in (36) where we present the outcomes for two groups of this first set. For group one, we generate all sets with k_{5} SUs {i}_{10}\in {\Xi}_{{k}_{5},{j}_{4}}^{{l}_{5}} where SU i_{9} collects correct sensing information from SUs i_{10} (i.e., there is no error on the channel between i_{9} and i_{10}). For group two, we consider the remaining sets of SUs in {\Omega}_{{k}_{2},{j}_{4}}^{{l}_{2}}\setminus {\Xi}_{{k}_{5},{j}_{4}}^{{l}_{5}} where SU i_{9} receives wrong sensing information from each SU i_{11} (i.e., there is an error on the channel between i_{9} and i_{11}). Similar partitioning of the set {\mathcal{S}}_{{j}_{4}}^{\mathrm{U}}\setminus {\Omega}_{{k}_{2},{j}_{4}}^{{l}_{2}} into two groups {\Gamma}_{{k}_{6},{j}_{4}}^{{l}_{6}} and {\mathcal{S}}_{{j}_{4}}^{\mathrm{U}}\setminus {\Omega}_{{k}_{2},{j}_{4}}^{{l}_{2}}\setminus {\Gamma}_{{k}_{6},{j}_{4}}^{{l}_{6}} with the corresponding message reporting error patterns is captured in (37).

For each combined scenario whose probability is presented above, each SU i has collected sensing result information for each channel, which is the sensing results obtained by itself or received from other SUs. Then, each SU i determines the idle/busy status of each channel j by applying the a_{
j
}-out-of- b_{
j
} rule on the collected sensing information. Let {\mathcal{S}}_{i}^{\mathrm{a}} be set of channels, whose status is ‘available’ as being suggested by the a_{
j
}-out-of- b_{
j
} rule at SU i. According to our design MAC protocol, SU i will randomly select one channel in the set {\mathcal{S}}_{i}^{\mathrm{a}} to perform contention and transmit its data. In order to obtain the conditional throughput {\mathcal{T}}_{p}^{\mathit{\text{re}}}\left(\tau ,\left\{{a}_{j}\right\},p\right) for one particular combined scenario, we have to reveal the contention operation on each actually available channel, which is presented in the following.

Let {\mathcal{S}}_{i}^{\mathrm{a}}={\mathcal{S}}_{1,i}^{\mathrm{a}}\cup {\mathcal{S}}_{2,i}^{\mathrm{a}} where channels in {\mathcal{S}}_{1,i}^{\mathrm{a}} are actually available and channels in {\mathcal{S}}_{2,i}^{\mathrm{a}} are not available, but the SDCSS policy suggests the opposite due to sensing and/or reporting errors. Moreover, let {\u015c}_{1}^{\mathrm{a}}=\bigcup _{i\in {\mathcal{S}}^{\mathrm{U}}}{\mathcal{S}}_{1,i}^{\mathrm{a}} be the set of actually available channels, which are detected by all SUs by using the SDCSS policy. Similarly, we define {\u015c}_{2}^{\mathrm{a}}=\bigcup _{i\in {\mathcal{S}}^{\mathrm{U}}}{\mathcal{S}}_{2,i}^{\mathrm{a}} as the set of channels indicated as available by some SUs due to errors. Let {k}_{e}^{i}=\left|{\mathcal{S}}_{i}^{\mathrm{a}}\right| be the number of available channels at SU i; then SU i chooses one channel in {\mathcal{S}}_{i}^{\mathrm{a}} to transmit data with probability 1/{k}_{e}^{i}. In addition, let {\u015c}^{\mathrm{a}}={\u015c}_{1}^{\mathrm{a}}\cup {\u015c}_{2}^{\mathrm{a}} be set of all available channels each of which is determined as being available by at least one SU and let {k}_{\mathit{\text{max}}}=\left|{\u015c}^{\mathrm{a}}\right| be the size of this set.

To calculate the throughput for each channel j, let {\Psi}_{j}^{\mathrm{a}} be the set of SUs whose SDCSS outcomes indicate that channel j is available and let {\Psi}^{\mathrm{a}}=\bigcup _{j\in {\widehat{\mathcal{S}}}^{\mathrm{a}}}{\Psi}_{j}^{\mathrm{a}} be the set of SUs whose SDCSS outcomes indicate that at least one channel in the assigned spectrum sensing set is available. In addition, let us define {N}_{j}=\left|{\Psi}_{j}^{\mathrm{a}}\right| and N_{
m
a
x
}=|Ψ^{a}|, which describe the sizes of these sets, respectively. It is noted that N_{
m
a
x
}≤N due to the following reason. In any specific combination that is generated in Equations (31) to (37), there can be some SUs, denoted as {i}, whose sensing outcomes indicate that all channels in the assigned spectrum sensing sets are not available (i.e., not available for access). Therefore, we have {\Psi}^{\mathrm{a}}={\mathcal{S}}^{\mathrm{U}}\setminus \left\{i\right\}, which implies N_{
m
a
x
}≤N where N=\left|{\mathcal{S}}^{\mathrm{U}}\right|. Moreover, we assume that channels in {\widehat{\mathcal{S}}}^{\mathrm{a}} are indexed by 1,2,…,k_{
m
a
x
}. Similar to the throughput analysis without reporting errors, we consider all possible sets \left\{{n}_{j}\right\}=\left\{{n}_{1},{n}_{2},\dots ,{n}_{{k}_{\mathit{\text{max}}}}\right\} where n_{
j
} is the number of SUs choosing channel j for access. Then, we can calculate the conditional throughput as follows:

Here \mathcal{P}\left(\left\{{N}_{{j}_{1}},{n}_{{j}_{1}}\right\}\right) is the probability that each channel j_{1} ({j}_{1}\in {\u015c}^{\mathrm{a}}) is selected by {n}_{{j}_{1}} SUs for j_{1}=1,2,…,k_{max}. This probability can be calculated as

where \left(\begin{array}{l}\left\{{N}_{{j}_{1}}\right\}\\ \left\{{n}_{{j}_{1}}\right\}\end{array}\right) describes the number of ways to realize the access vector {n_{
j
}} for k_{
m
a
x
} channels, which can be obtained by using the enumeration technique as follows. For a particular way that the specific set of n_{1} SUs {\mathcal{S}}_{1}^{{n}_{1}} choose channel 1 (there are {C}_{{N}_{1}}^{{n}_{1}} such ways), we can express the set of remaining SUs that can choose channel 2 as {\Psi}_{\left(2\right)}^{\mathrm{a}}={\Psi}_{2}^{\mathrm{a}}\setminus ({\mathcal{S}}_{1}^{{n}_{1}}\cap {\Psi}_{2}^{\mathrm{a}}). We then consider all possible ways that n_{2} SUs in the set {\Psi}_{\left(2\right)}^{\mathrm{a}} choose channel 2 and we denote this set of SUs as {\mathcal{S}}_{2}^{{n}_{2}} (there are {C}_{{\stackrel{~}{N}}_{2}}^{{n}_{2}} such ways where {\stackrel{~}{N}}_{2}=\left|{\Psi}_{\left(2\right)}^{\mathrm{a}}\right|). Similarly, we can express the set of SUs that can choose channel 3 as {\Psi}_{\left(3\right)}^{\mathrm{a}}={\Psi}_{3}^{\mathrm{a}}\setminus \left(\right({\cup}_{i=1}^{2}{\mathcal{S}}_{i}^{{n}_{i}})\cap {\Psi}_{3}^{\mathrm{a}}) and consider all possible ways that n_{3} SUs in the set {\Psi}_{\left(3\right)}^{\mathrm{a}} can choose channel 3, and so on. This process is continued until {n}_{{k}_{\mathit{\text{max}}}} SUs choose channel k_{
m
a
x
}. Therefore, the number of ways to realize the access vector {n_{
j
}} can be determined by counting all possible cases in the enumeration process.

The product term in (41) is due to the fact that each SU i chooses one available with probability 1/{k}_{e}^{i}. The conditional throughput {\mathcal{T}}_{{j}_{2}}^{\mathit{\text{re}}}\left(\tau ,\left\{{a}_{{j}_{2}}\right\},p\left|n={n}_{{j}_{2}}\right.\right) is calculated by using the same expression (12) given in Section 3. In addition, only actually available channel {j}_{2}\in {\u015c}_{1}^{\mathrm{a}} can contribute the total throughput, which explains the throughput sum in (40).

4.3 Design optimization with reporting errors

The optimization of channel sensing/access parameters as well as channel sensing sets can be conducted in the same manner with that in Section 3. However, we have to utilize the new throughput analytical model presented in Section 4.2 in this case. Specifically, Algorithms 1 and 2 can still be used to determine the optimized sensing/access parameters and channel sensing sets, respectively. Nonetheless, we need to use the new channel sensing model capturing reporting errors in Section 4.1 in these algorithms. In particular, from the equality constraint on the detection probability, i.e., {\mathcal{P}}_{d}^{j}\left({\overrightarrow{\epsilon}}^{j},{\overrightarrow{\tau}}^{j},{a}_{j}\right)={\hat{\mathcal{P}}}_{d}^{j}, we have to use (29) and (30) to determine {P}_{d}^{\mathit{\text{ij}}} (and the corresponding {P}_{f}^{\mathit{\text{ij}}}) assuming that {P}_{d}^{\mathit{\text{ij}}} are all the same for all pairs {i,j} as what we have done in Section 3.

5 Numerical results

To obtain numerical results in this section, the key parameters for the proposed MAC protocol are chosen as follows: cycle time is T=100 ms; the slot size is v=20 μ s, which is the same as in IEEE 802.11p standard; packet size is PS =450 slots (i.e., 450 v); propagation delay PD =1 μs; SIFS =2 slots; DIFS =10 slots; ACK =20 slots; CTS =20 slots; RTS =20 slots; sampling frequency for spectrum sensing is f_{s}=6 MHz; and t_{r}=80 μ s. The results presented in all figures except the last figure correspond to the case where there is no reporting error.

To investigate the efficacy of our proposed low-complexity channel assignment algorithm (Algorithm 2), we compare the throughput performance achieved by the optimal brute-force search and greedy channel assignment algorithm in Table 3. In particular, we show normalized throughput \mathcal{N}\mathcal{T} versus probabilities {\mathcal{P}}_{j}\left({\mathcal{\mathscr{H}}}_{0}\right) for these two algorithms and the relative gap between them. Here, the probabilities {\mathcal{P}}_{j}\left({\mathcal{\mathscr{H}}}_{0}\right) for different channels j are chosen to be the same and we choose M=4 channels and N=4 SUs. To describe the SNR of different SUs and channels, we use {i,j} to denote a combination of channel j and SU i who senses this channel. The SNR setting for different combinations of SUs and channels {i,j} is performed for two groups of SUs as {\gamma}_{1}^{\mathit{\text{ij}}}=-15 dB: channel 1, {1,1},{2,1},{3,1}; channel 2, {2,2},{4,2}; channel 3, {1,3},{4,3}; and channel 4, {1,4},{3,4}. The remaining combinations correspond to the SNR value {\gamma}_{2}^{\mathit{\text{ij}}}=-20 dB for group 2. The results in this table confirm that the throughput gaps between our greedy algorithm and the brute-force optimal search algorithm are quite small, which are less than 1% for all except the case 2 presented in this table. These results confirm that our proposed greedy algorithm works well for small systems (i.e., small M and N). In the following, we investigate the performance of our proposed algorithms for larger systems.

To investigate the performance of our proposed algorithm for a typical system, we consider the network setting with N=10 and M=4. We divide SUs into two groups where the received SNRs at SUs due to the transmission from PU i is equal to {\gamma}_{1,0}^{\mathit{\text{ij}}}=-15 dB and {\gamma}_{2,0}^{\mathit{\text{ij}}}=-10 dB (or their shifted values described later) for the two groups, respectively. Again, to describe the SNR of different SUs and channels, we use {i,j} to denote a combination of channel j and SU i who senses this channel. The combinations of the first group corresponding to {\gamma}_{1,0}^{\mathit{\text{ij}}}=-10 dB are chosen as follows: channel 1, {1,1},{2,1},{3,1}; channel 2, {2,2},{4,2},{5,2}; channel 3, {4,3},{6,3},{7,3}; and channel 4, {1,4},{3,4},{6,4},{8,4},{9,4},{10,4}. The remaining combinations belong to the second group with the SNR equal to {\gamma}_{2,0}^{\mathit{\text{ij}}}=-15 dB. To obtain results for different values of SNRs, we consider different shifted sets of SNRs where {\gamma}_{1}^{\mathit{\text{ij}}} and {\gamma}_{2}^{\mathit{\text{ij}}} are shifted by Δγ around their initial values {\gamma}_{1,0}^{\mathit{\text{ij}}}=-15 dB and {\gamma}_{2,0}^{\mathit{\text{ij}}}=-10 dB as {\gamma}_{1}^{\mathit{\text{ij}}}={\gamma}_{1,0}^{\mathit{\text{ij}}}+\mathrm{\Delta \gamma} and {\gamma}_{2}^{\mathit{\text{ij}}}={\gamma}_{2,0}^{\mathit{\text{ij}}}+\mathrm{\Delta \gamma}. For example, as Δγ=−10, the resulting SNR values are {\gamma}_{1}^{\mathit{\text{ij}}}=-25 dB and {\gamma}_{2}^{\mathit{\text{ij}}}=-20 dB. These parameter settings are used to obtain the results presented in Figures 5,6,7,8,9 in the following.

Figure 5 illustrates the convergence of Algorithm 2 where we show the normalized throughput {\mathcal{NT}}_{p} versus the iterations for Δγ=−2,−5,−8, and −11 dB. For simplicity, we choose δ equals 1{0}^{-3}\times {\mathcal{NT}}_{c} in Algorithm 2. This figure confirms that Algorithm 2 converges after about 11, 13, 15, and 16 iterations for Δγ=−2,−5,−8, and −11 dB, respectively. In addition, the normalized throughput increases over the iterations as expected. Figure 6 presents normalized throughput \mathcal{N}\mathcal{T} versus transmission probability p and sensing time τ^{11} for the SNR shift equal to Δγ=−7 where the sensing times for other pairs of SUs and channels are optimized as in Algorithm 1. This figure shows that channel sensing and access parameters can strongly impact the throughput of the secondary network, which indicates the need to optimize them. This figure shows that the optimal values of p and τ^{11} are around \left({\stackrel{\u0304}{\tau}}^{11},\stackrel{\u0304}{p}\right)=\left(0.0054\phantom{\rule{1em}{0ex}}\text{s},0.1026\right) to achieve the maximum normalized throughput of \mathcal{N}\mathcal{T}=0.7104. It can be observed that normalized throughput \mathcal{N}\mathcal{T} is less sensitive to transmission probability p while it varies more significantly as the sensing time τ^{11} deviates from the optimal value. In fact, there can be multiple available channels which each SU can choose from. Therefore, the contention level on each available channel would not be very intense for most values of p. This explains why the throughput is not very sensitive to the access parameter p.

In Figure 7, we compare the normalized throughput of the secondary network as each SU employs four different aggregation rules, namely AND, OR, majority, and the optimal a-out-of-b rules. The four throughput curves in this figure represent the optimized normalized throughput values achieved by using Algorithms 1 and 2. For the OR, AND, and majority rules, we do not need to find optimized a_{
j
} parameters for different channels j in Algorithm 1. Alternatively, a_{
j
}=1, a_{
j
}=b_{
j
} and a_{
j
}=⌈b/2⌉ correspond to the OR, AND, and majority rules, respectively. It can be seen that the optimal a-out-of-b rule achieves the highest throughput among the considered rules. Moreover, the performance gaps between the optimal a-out-of-b rule and other rule tends to be larger for smaller SNR values.

In Figure 8, we compare the throughput performance as the sensing times are optimized by using Algorithm 1 and they are fixed at different fractions of the cycle time in Algorithm 1. For fair comparison, the optimized a-out-of-b rules are used in both schemes with optimized and non-optimized sensing times. For the non-optimized scheme, we employ Algorithm 2 for channel assignment; however, we do not optimize the sensing times in Algorithm 1. Alternatively, τ^{ij} is chosen from the following values: 1%T, 2%T, 5%T, and 10%T where T is the cycle time. Furthermore, for this non-optimized scheme, we still find an optimized value of {\u0101}_{j} for each channel j (corresponding to the sensing phase) and the optimal value of \stackrel{\u0304}{p} (corresponding to the access phase) in Algorithm 1. This figure confirms that the optimized design achieves the largest throughput. Also, small sensing times can achieve good throughput performance at the high SNR regime but result in poor performance if the SNR values are low. In contrast, too large sensing times (e.g., equal 10%T) may become inefficient if the SNR values are sufficiently large. These observations again illustrate the importance of optimizing the channel sensing and access parameters.

We compare the normalized throughput under our optimized design and the round-robin (RR) channel assignment strategies in Figure 9. For RR channel assignment schemes, we first allocate channels for SUs as described in Table 4 (i.e., we consider three different RR channel assignments). In the considered round-robin channel assignment schemes, we assign at most channels 1, 2, and 3 for each SU corresponding to cases 1, 2, and 3 as shown in Table 4. In particular, we sequentially assign channels with increasing indices for the next SUs until exhausting (we then repeat this procedure for the following SU). Then, we only employ Algorithm 1 to optimize the sensing and access parameters for these RR channel assignments. Figure 9 shows that the optimized design achieves much higher throughput than those due to RR channel assignments. These results confirm that channel assignments for cognitive radios play a very important role in maximizing the spectrum utilization for CRNs. In particular, it would be sufficient to achieve good sensing and throughput performance if we assign a small number of nearby SUs to sense any particular channel instead of requiring all SUs to sense the channel. This is because ‘bad SUs’ may not contribute to improve the sensing performance but result in more sensing overhead, which ultimately decreases the throughput of the secondary network.

In Figure 10, we consider the impact of PUs’ activities on throughput performance of the secondary network. In particular, we vary the probabilities of having idle channels for secondary spectrum access ({\mathcal{P}}_{j}\left({\mathcal{\mathscr{H}}}_{0}\right)) in the range of [0.1,1]. For larger values of {\mathcal{P}}_{j}\left({\mathcal{\mathscr{H}}}_{0}\right), there are more opportunities for SUs to find spectrum holes to transmit data, which results in higher throughput and vice versa. Moreover, this figure shows that the normalized throughput increases almost linearly with {\mathcal{P}}_{j}\left({\mathcal{\mathscr{H}}}_{0}\right). Also as the Δγ increases (i.e., higher SNR), the throughput performance can be improved significantly. However, the improvement becomes negligible if the SNR values are sufficiently large (for Δγ in [−6,−4]). This is because for large SNR values, the required sensing time is sufficiently small, therefore, further increase of SNR does not reduce the sensing time much to improve the normalized throughput.

Finally, we study the impact of reporting errors on the throughput performance by using the extended throughput analytical model in Section 4. The network setting under investigation has N=4 SUs and M=3 channels. Again, we use notation {i,j} to represent a combination of channel j and SU i. The combinations with {\gamma}_{10}^{\mathit{\text{ij}}}=-10\mathit{\text{dB}} are chosen as follows: channel 1 {1,1},{2,1},{3,1}; channel 2 {2,2},{4,2}; channel 3 {1,3},{4,3}. The remaining combinations correspond to {\gamma}_{20}^{\mathit{\text{ij}}}=-15 dB. We assume that the reporting errors between every pair of 2 SUs are the same, which is denoted as P_{
e
}. In Figure 11, we show the achieved throughput as P_{
e
}=0%, P_{
e
}=1%, and P_{
e
}=5% under optimized design. We can see that when P_{
e
} increases, the normalized throughput decreases quite significantly if the SNR is sufficiently low. However, in the high-SNR regime, the throughput performance is less sensitive to the reporting errors.

6 Conclusions

We have proposed a general analytical and optimization framework for SDCSS and access design in multi-channel CRNs. In particular, we have proposed the p-persistent CSMA MAC protocol integrating the SDCSS mechanism. Then, we have analyzed the throughput performance of the proposed design and have developed an efficient algorithm to optimize its sensing and access parameters. Moreover, we have presented both optimal brute-force search and low-complexity algorithms to determine efficient channel sensing sets and have analyzed their complexity. We have also extended the framework to consider reporting errors in exchanging sensing results among SUs. Finally, we have evaluated the impacts of different parameters on the throughput performance of the proposed design and illustrated the significant performance gap between the optimized and non-optimized designs. Specifically, it has been confirmed that optimized sensing and access parameters as well as channel assignments can achieve considerably better throughput performance than that due to the non-optimized design. In the future, we will extend SDCSS and MAC protocol design for the multi-hop CRNs.

References

Zhao Q, Sadler BM: A survey of dynamic spectrum access. IEEE Signal Process. Mag May 2007, 24(3):79-89.

Cormiob C, Chowdhury KR: A survey on MAC protocols for cognitive radio networks. Elsevier Ad Hoc Netw Sept. 2009, 7(7):1315-1329. 10.1016/j.adhoc.2009.01.002

Tan LT, Le LB: Distributed mac protocol for cognitive radio networks: design, analysis, and optimization. IEEE Trans. Veh. Tech Oct. 2011, 60(8):3990-4003.

Kim H, Shin KG: Efficient discovery of spectrum opportunities with MAC-layer sensing in cognitive radio networks. IEEE Trans. Mobile Comput May 2008, 7(5):533-545.

Su H, Zhang X: Cross-layer based opportunistic MAC protocols for QoS provisionings over cognitive radio wireless networks. IEEE J. Sel. Areas Commun Jan. 2008, 26(1):118-129.

Su H, Zhang X: Opportunistic MAC protocols for cognitive radio based wireless networks. In Proceedings of CISS’2007. Baltimore, MD, USA; 14–16 March 2007.

Su H, Zhang X: Channel-hopping based single transceiver MAC for cognitive radio networks. In Proceedings of CISS’2008. Princeton, NJ, USA; 19–21 March 2008.

Nan H, Hyon T-I, Yoo S-J: Distributed coordinated spectrum sharing MAC protocol for cognitive radio. In Proceedings of IEEE DySPAN’2007. Dublin; 17–20 April 2007.

Le L, Hossain E: OSA-MAC: A MAC protocol for opportunistic spectrum access in cognitive radio networks. In Proceedings of IEEE WCNC’2008. March 31 2008–April 3; 2008.

Doerr C, Neufeld M, Fifield J, Weingart T, Sicker DC, Grunwald D: MultiMAC: An adaptive MAC framework for dynamic radio networking. In Proceedings of IEEE DySPAN’2005. Baltimore, MD, USA; 8–11 Nov. 2005.

Jia J, Zhang Q, Shen X: HC-MAC: A hardware-constrained cognitive MAC for efficient spectrum management. IEEE J. Sel. Areas Commun Jan. 2008, 26(1):106-117.

Shu T, Krunz M: Exploiting microscopic spectrum opportunities in cognitive radio networks via coordinated channel access. IEEE Trans. Mobile Comput Nov. 2010, 9(11):1522-1534.

Wang W, Shin KG, Wang W: Joint spectrum allocation and power control for multi-hop cognitive radio networks. IEEE Trans. Mobile Comput July 2011, 10(7):1042-1055.

Zhang X, Su H: Opportunistic spectrum sharing schemes for CDMA-based uplink MAC in cognitive radio networks. IEEE J. Sel. Areas Commun April 2011, 29(4):716-730.

Quan Z, Cui S, Sayed AH: Optimal linear cooperation for spectrum sensing in cognitive radio networks. IEEE J. Sel. Topics Signal Process Feb. 2008, 2(1):28-40.

Peh ECY, Liang Y-C, Guan YL: Optimization of cooperative sensing in cognitive radio networks: A sensing-throughput tradeoff view. In Proceedings of IEEE ICC’2009. Dresden; 14–18 June 2009.

Zhang W, Mallik R, Letaief K: Optimization of cooperative spectrum sensing with energy detection in cognitive radio networks. IEEE Trans. Wireless Commun Dec. 2009, 8(12):5761-5766.

Zhang X, Su H: CREAM-MAC: Cognitive radio-enabled multi-channel MAC protocol over dynamic spectrum access networks. IEEE J. Sel. Topics Signal Process Feb. 2011, 5(1):110-123.

Park J, Pawelczak P, Cabric D: Performance of joint spectrum sensing and MAC algorithms for multichannel opportunistic spectrum access ad hoc networks. IEEE Trans. Mobile Comput July 2011, 10(7):1011-1027.

Stevenson C, Chouinard G, Lei Z, Hu W, Shellhammer S, Caldwell W: IEEE 802.22: The first cognitive radio wireless regional area network standard. IEEE Commun. Mag Jan. 2009, 47(1):130-138.

Maleki S, Chepuri SP, Leus G: Optimal hard fusion strategies for cognitive radio networks. In Proceedings of IEEE WCNC’2011. Cancun, Quintana Roo, 28–31; March 2011.

Maleki S, Chepuri SP, Leus G: Optimization of hard fusion based spectrum sensing for energy-constrained cognitive radio networks. Phys. Commun Dec. 2013, 9: 193-198.

Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License (https://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Tan, L.T., Le, L.B. Joint cooperative spectrum sensing and MAC protocol design for multi-channel cognitive radio networks.
J Wireless Com Network2014, 101 (2014). https://doi.org/10.1186/1687-1499-2014-101