Joint cooperative spectrum sensing and MAC protocol design for multichannel cognitive radio networks
 Le Thanh Tan^{1}Email author and
 Long Bao Le^{1}
https://doi.org/10.1186/168714992014101
© Tan and Le; licensee Springer. 2014
Received: 16 January 2014
Accepted: 5 June 2014
Published: 18 June 2014
Abstract
In this paper, we propose a semidistributed cooperative spectrum sensing (SDCSS) and channel access framework for multichannel 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 ppersistent CSMAbased 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 lowcomplexity 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 nonoptimized designs as well as the impacts of different protocol parameters on the throughput performance.
Keywords
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 sensingperiod optimization and optimal channelsequencing algorithms were proposed to efficiently discover spectrum holes and to minimize the exploration delay.
In [7], a controlchannel 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 negotiationbased spectrum sensing schemes and performed throughput analysis for both saturation and nonsaturation 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 windowbased MAC protocol to achieve efficient tradeoff between sensing time and contention overhead. However, these works considered the conventional singleuserenergydetectionbased spectrum sensing scheme, which would only work well if the signaltonoise ratio (SNR) is sufficiently high. In addition, the MAC protocol in these works was the standard windowbased carrier sense multiple access (CSMA) MAC protocol, which is known to be outperformed by the ppersistent CSMA MAC protocol [30].
Optimal sensing and access design for CRNs were designed by using optimal stopping theory in [14]. In [15], a multichannel 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 aoutofb rule was studied. In [25], the gametheoretic based method was proposed for cooperative spectrum sensing. In [27], the authors investigated the multichannel 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 parallelsensing, 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 semidistributed 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 realworld hardwareconstrained 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 ppersistent 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 ppersistent CSMA protocol incorporating SDCSS for multichannel 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 lowcomplexity greedy algorithms to solve the underlying NPhard 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 bruteforce 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.
Summary of key variables
Variable  Description 

Key variables for noreportingerror scenario  
${\mathcal{P}}_{j}\left({\mathcal{\mathscr{H}}}_{0}\right)$ (${\mathcal{P}}_{j}\left({\mathcal{\mathscr{H}}}_{1}\right)$)  Probability that channel j is available (or not available) 
${\mathcal{P}}_{d}^{\mathit{\text{ij}}}$(${\mathcal{P}}_{f}^{\mathit{\text{ij}}}$)  Probability of detection (false alarm) experienced by SU i for channel j 
${\mathcal{P}}_{d}^{j}$ (${\mathcal{P}}_{f}^{j}$)  Probability of detection (false alarm) for channel j under SDCSS 
ε^{ i j }, γ^{ i j }  Detection threshold, signaltonoise ratio of the PU’s signal 
τ^{ i j }, τ  Sensing time at SU i on channel j, total sensing time 
N_{0}, f_{ s }  Noise power, sampling frequency 
a_{ j }, b_{ j }  Parameters of aoutofb rule for channel j 
N, M  Total number of SUs, total number of channels 
${\mathcal{S}}_{j}^{\mathrm{U}}$, ${\mathcal{S}}^{\mathrm{U}}$  Set of SUs that sense channel j, set of all N SUs 
${\mathcal{S}}_{i}$,$\mathcal{S}\phantom{\rule{0.1em}{0ex}}$  Set of assigned channels for SU i, set of all M channels 
${\Phi}_{l}^{k}$  Particular set k of l SUs 
${\Psi}_{{k}_{0}}^{{l}_{0}}$  Set l_{0} of k_{0} actually available channels 
${\Theta}_{{k}_{1}}^{{l}_{1}}$, ${\Omega}_{{k}_{2}}^{{l}_{2}}$  Set l_{1} of k_{1} available channels (which are indicated by sensing outcomes), 
Set l_{2} of k_{2} misdetected channels (which are indicated by sensing outcomes)  
$\mathcal{N}\mathcal{T}$  Normalized throughput per one channel 
${\mathcal{T}}_{p}^{\text{ne}}$, ${\mathcal{T}}_{{j}_{2}}^{\text{ne}}$  Conditional throughput: for one particular realization of sensing outcomes corresponding to two sets ${\Theta}_{{k}_{1}}^{{l}_{1}}$ and ${\Omega}_{{k}_{2}}^{{l}_{2}}$, for a particular channel j_{2} 
n_{ j }, k_{ e }  Number of SUs who select channel j to access, ${k}_{e}=\mid {\Theta}_{{k}_{1}}^{{l}_{1}}\bigcup \underset{{k}_{2}}{\overset{{l}_{2}}{\Omega}}\mid $ 
T, T_{R}  Cycle time, total reporting time 
T_{S}, ${\overline{T}}_{\mathrm{S}}$  Time for transmission of packet, time for successful RTS/CTS transmission 
${T}_{\mathrm{I}}^{i,j}$ (${\overline{T}}_{\mathrm{I}}^{j}$)  i th duration between two consecutive RTS/CTS transmission on channel j (its average value) 
T_{C}, ${\overline{T}}_{\text{cont}}^{j}$  Duration of collision, average contention time on channel j 
PD  Propagation delay 
PS, ACK  Lengths of packet and acknowledgment, respectively 
SIFS, DIFS  Lengths of short time interframe space and distributed interframe space, respectively 
RTS, CTS  Lengths of requesttosend and cleartosend, respectively 
p, ${\mathcal{P}}_{\mathrm{C}}^{j}$  Transmission probability, probability of a generic slot corresponding to collision 
${\mathcal{P}}_{\mathrm{S}}^{j}$, ${\mathcal{P}}_{\mathrm{I}}^{j}$  Probabilities of a generic slot corresponding to successful transmission, idle slot 
${N}_{\mathrm{c}}^{j}$(${\overline{N}}_{\mathrm{c}}^{j}$)  Number of collisions before the first successful RTS/CTS exchange (its average value) 
${f}_{X}^{{N}_{\mathrm{c}}}$, ${f}_{X}^{\mathrm{I}}$  PMFs of ${N}_{\mathrm{c}}^{j}$, ${T}_{\mathrm{I}}^{i,j}$ 
Key variables as considering reporting errors  
${\mathcal{P}}_{e}^{{i}_{1}{i}_{2}}$  Probability of reporting errors between SUs i_{1} and i_{2} 
${\mathcal{P}}_{d}^{{i}_{1}{i}_{2}j}$ (${\mathcal{P}}_{f}^{{i}_{1}{i}_{2}j}$)  Probabilities of detection (false alarm) experienced by SU i_{1} on channel j with the sensing result received from SU i_{2} 
${\Theta}_{{k}_{1},{j}_{3}}^{{l}_{1}}$  l_{1}th set of k_{1} SUs whose sensing outcomes indicate that channel j_{3} is vacant 
${\Omega}_{{k}_{2},{j}_{4}}^{{l}_{2}}$  l_{2}th set of k_{2} SUs whose sensing outcomes indicate that channel j_{4} is vacant due to misdetection 
${\Phi}_{{k}_{3},{j}_{3}}^{{l}_{3}}$  l_{3}th set of k_{3} SUs in ${\Theta}_{{k}_{1},{j}_{3}}^{{l}_{1}}$ who correctly report their sensing information on channel j_{3} to SU i_{4} 
${\Lambda}_{{k}_{4},{j}_{3}}^{{l}_{4}}$  l_{4}th set of k_{4} SUs in ${S}_{{j}_{3}}^{\mathrm{U}}\setminus {\Theta}_{{k}_{1},{j}_{3}}^{{l}_{1}}$ who incorrectly report their sensing information on channel j_{3} to SU i_{4} 
${\Xi}_{{k}_{5},{j}_{4}}^{{l}_{5}}$  l_{5}th set of k_{5} SUs in ${\Omega}_{{k}_{2},{j}_{4}}^{{l}_{2}}$ who correctly report their sensing information on channel j_{4} to SU i_{9} 
${\Gamma}_{{k}_{6},{j}_{4}}^{{l}_{6}}$  l_{6}th set of k_{6} SUs in ${\mathcal{S}}_{{j}_{4}}^{\mathrm{U}}\setminus {\Omega}_{{k}_{2},{j}_{4}}^{{l}_{2}}$ who incorrectly report their sensing information on channel j_{4} to SU i_{9} 
${\mathcal{S}}_{1,i}^{\mathrm{a}}$, ${\mathcal{S}}_{2,i}^{\mathrm{a}}$  Sets of actually available channels and available due to sensing and/or reporting errors, respectively 
${\u015c}_{1}^{\mathrm{a}}$, ${\u015c}_{2}^{\mathrm{a}}$  ${\u015c}_{1}^{\mathrm{a}}=\bigcup _{i\in {\mathcal{S}}^{\mathrm{U}}}{\mathcal{S}}_{1,i}^{\mathrm{a}}$, ${\u015c}_{2}^{\mathrm{a}}=\bigcup _{i\in {\mathcal{S}}^{\mathrm{U}}}{\mathcal{S}}_{2,i}^{\mathrm{a}}$ 
${\mathcal{S}}_{i}^{\mathrm{a}}$, ${\u015c}^{\mathrm{a}}$  ${\mathcal{S}}_{i}^{\mathrm{a}}={\mathcal{S}}_{1,i}^{\mathrm{a}}\bigcup \underset{2,i}{\overset{\mathrm{a}}{\mathcal{S}}}$, ${\u015c}^{\mathrm{a}}={\u015c}_{1}^{\mathrm{a}}\bigcup \underset{2}{\overset{\mathrm{a}}{\u015c}}$ 
${k}_{e}^{i}$, k_{max}  ${k}_{e}^{i}=\mid {\mathcal{S}}_{i}^{\mathrm{a}}\mid $, ${k}_{max}=\mid {\u015c}^{\mathrm{a}}\mid $ 
${\Psi}_{j}^{\mathrm{a}}$, Ψ^{a}  Set of SUs whose SDCSS outcomes indicate that channel j is available, ${\Psi}^{\mathrm{a}}=\bigcup _{j\in {\u015c}^{\mathrm{a}}}{\Psi}_{j}^{\mathrm{a}}$ 
N_{ j }, N_{max}  ${N}_{j}=\mid {\Psi}_{j}^{\mathrm{a}}\mid $, N_{max}=∣Ψ^{a}∣ 
${\mathcal{T}}_{p}^{\text{re}}$, ${\mathcal{T}}_{{j}_{2}}^{\text{re}}$  Conditional throughput for one particular realization of sensing outcomes and for a particular channel j_{2}, respectively 
2 System model and spectrum sensing design
In this section, we describe the system model and spectrum sensing design for the multichannel 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 narrowband 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.
2.2 Semidistributed 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 onebyone). 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).
where i∈[1,N] is the SU index, j∈[1,M] is the channel index, ε^{ i j } is the detection threshold for the energy detector, γ^{ i j } is the SNR of the PU’s signal at the SU, f_{ s } is the sampling frequency, N_{0} is the noise power, τ^{ i j } 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, aoutofb 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 aoutofb 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⌉.
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.
Channel assignment example for SUs (x denotes an assignment)
Channel  

1  2  3  4  5  
1  x  x  x  
2  x  x  
SU  3  x  x  x  
4  
5  x  x 
Remark 1
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 halfduplex 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 fixedlength 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 multichannel CRNs in this section.
3.1 Cognitive MAC protocol design
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 ppersistent 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 4way handshake with requesttosend/cleartosend (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.
Remark 2.
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 ppersistent 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 aoutofb 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 ppersistent 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.
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}}$.
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\leftn={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).
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}!}$.
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.
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.
These expressions are obtained by using the PMFs of the corresponding RVs given in (18) and (19), respectively [30].
3.3 Semidistributed cooperative spectrum sensing and ppersistent CSMA access optimization
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 }outof 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 τ^{ i j } 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 singleuser 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 multiuser 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 τ^{ i j }.
Given this observation, we have devised Algorithm 1 to determine the solution for this optimization problem based on the coordinatedescent 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 nonconvex 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.
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 }outof 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 NPhard [36]. In the following, we present both bruteforce search algorithm and lowcomplexity greedy algorithm to solve this problem.
3.4.1 Bruteforce 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 bruteforce 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 {τ^{ i j }},{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 Lowcomplexity greedy algorithm
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 wellknown 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.
3.5 Complexity analysis
In this section, we analyze the complexity of the proposed bruteforce search and lowcomplexity greedy algorithms.
3.5.1 Bruteforce search algorithm
To determine the complexity of the bruteforce 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^{ M N }. Therefore, the complexity of the bruteforce 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 Lowcomplexity greedy algorithm
Throughput vs probability of vacant channel (M × N = 4 × 4)
${\mathcal{P}}_{j}\left({\mathcal{\mathscr{H}}}_{0}\right)$  

0.1  0.2  0.3  0.4  0.5  0.6  0.7  0.8  0.9  1  
Greedy  0.0816  0.1524  0.2316  0.2982  0.3612  0.4142  0.4662  0.5058  0.5461  0.5742  
$\mathcal{N}\mathcal{T}$  Optimal  0.0817  0.1589  0.2321  0.3007  0.3613  0.4183  0.4681  0.5087  0.5488  0.5796 
Gap (%)  0.12  4.09  0.22  0.83  0.03  0.98  0.40  0.57  0.49  0.93 
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 preassigned 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 roundrobin 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 predetermined 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
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.
4.2 Throughput analysis considering reporting errors
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 }outof 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 }outof 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.
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\leftn={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 lowcomplexity channel assignment algorithm (Algorithm 2), we compare the throughput performance achieved by the optimal bruteforce 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 bruteforce 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.
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 aoutofb 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 aoutofb rule achieves the highest throughput among the considered rules. Moreover, the performance gaps between the optimal aoutofb 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 aoutofb rules are used in both schemes with optimized and nonoptimized sensing times. For the nonoptimized scheme, we employ Algorithm 2 for channel assignment; however, we do not optimize the sensing times in Algorithm 1. Alternatively, τ^{ i j } is chosen from the following values: 1% T, 2% T, 5% T, and 10% T where T is the cycle time. Furthermore, for this nonoptimized 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.
Roundrobin channel assignment (x denotes an assignment)
Channel  

Case 1  Case 2  Case 3  
1  2  3  4  1  2  3  4  1  2  3  4  
1  x  x  x  x  x  x  
2  x  x  x  x  x  x  
3  x  x  x  x  x  
4  x  x  x  
SU  5  x  x  x  x  x  x  
6  x  x  x  x  x  x  
7  x  x  x  x  x  
8  x  x  x  
9  x  x  x  x  x  x  
10  x  x  x  x  x  x 
6 Conclusions
We have proposed a general analytical and optimization framework for SDCSS and access design in multichannel CRNs. In particular, we have proposed the ppersistent 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 bruteforce search and lowcomplexity 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 nonoptimized 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 nonoptimized design. In the future, we will extend SDCSS and MAC protocol design for the multihop CRNs.
Declarations
Acknowledgements
The authors would like to thank the editor coordinating the review of this paper and approving it for publication, Dr. Ashish Pandharipande.
Authors’ Affiliations
References
 Zhao Q, Sadler BM: A survey of dynamic spectrum access. IEEE Signal Process. Mag May 2007, 24(3):7989.View ArticleGoogle Scholar
 Liang YC, Zeng Y, Peh ECY, Hoang AT: Sensingthroughput tradeoff for cognitive radio networks. IEEE Trans. Wireless Commun April 2008, 7(4):13261337.View ArticleGoogle Scholar
 Cormiob C, Chowdhury KR: A survey on MAC protocols for cognitive radio networks. Elsevier Ad Hoc Netw Sept. 2009, 7(7):13151329. 10.1016/j.adhoc.2009.01.002View ArticleGoogle Scholar
 Tan LT, Le LB: Distributed mac protocol for cognitive radio networks: design, analysis, and optimization. IEEE Trans. Veh. Tech Oct. 2011, 60(8):39904003.View ArticleGoogle Scholar
 Tan LT, Le LB: Channel assignment with access contention resolution for cognitive radio networks. IEEE Trans. Veh. Tech July 2012, 61(6):28082823.View ArticleGoogle Scholar
 Kim H, Shin KG: Efficient discovery of spectrum opportunities with MAClayer sensing in cognitive radio networks. IEEE Trans. Mobile Comput May 2008, 7(5):533545.MathSciNetView ArticleGoogle Scholar
 Su H, Zhang X: Crosslayer based opportunistic MAC protocols for QoS provisionings over cognitive radio wireless networks. IEEE J. Sel. Areas Commun Jan. 2008, 26(1):118129.View ArticleGoogle Scholar
 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.Google Scholar
 Su H, Zhang X: Channelhopping based single transceiver MAC for cognitive radio networks. In Proceedings of CISS’2008. Princeton, NJ, USA; 19–21 March 2008.Google Scholar
 Nan H, Hyon TI, Yoo SJ: Distributed coordinated spectrum sharing MAC protocol for cognitive radio. In Proceedings of IEEE DySPAN’2007. Dublin; 17–20 April 2007.Google Scholar
 Le L, Hossain E: OSAMAC: A MAC protocol for opportunistic spectrum access in cognitive radio networks. In Proceedings of IEEE WCNC’2008. March 31 2008–April 3; 2008.Google Scholar
 Kondareddy YR, Agrawal P: Synchronized MAC protocol for multihop cognitive radio networks. In Proceedings of IEEE ICC’2008. Beijing; 19–23 May 2008.Google Scholar
 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.Google Scholar
 Jia J, Zhang Q, Shen X: HCMAC: A hardwareconstrained cognitive MAC for efficient spectrum management. IEEE J. Sel. Areas Commun Jan. 2008, 26(1):106117.View ArticleGoogle Scholar
 Salameh HAB, Krunz M, Younis O: Cooperative adaptive spectrum sharing in cognitive radio networks. IEEE/ACM Trans. Netw Aug. 2010, 18(4):11811194.View ArticleGoogle Scholar
 Shu T, Krunz M: Exploiting microscopic spectrum opportunities in cognitive radio networks via coordinated channel access. IEEE Trans. Mobile Comput Nov. 2010, 9(11):15221534.View ArticleGoogle Scholar
 Wang W, Shin KG, Wang W: Joint spectrum allocation and power control for multihop cognitive radio networks. IEEE Trans. Mobile Comput July 2011, 10(7):10421055.View ArticleGoogle Scholar
 Zhang X, Su H: Opportunistic spectrum sharing schemes for CDMAbased uplink MAC in cognitive radio networks. IEEE J. Sel. Areas Commun April 2011, 29(4):716730.View ArticleGoogle Scholar
 Choi YJ, Shin KG: Opportunistic access of TV spectrum using cognitiveradioenabled cellular networks. IEEE Trans. Veh. Tech Oct. 2011, 60(8):38533864.MathSciNetView ArticleGoogle Scholar
 Ganesan G, Li Y: Cooperative spectrum sensing in cognitive radio  part I: Two user networks. IEEE Trans. Wireless Commun June 2007, 6(6):22042213.View ArticleGoogle Scholar
 Ganesan G, Li Y: Cooperative spectrum sensing in cognitive radio  part II: Multiuser networks. IEEE Trans. Wireless Commun June 2007, 6(6):22142222.View ArticleGoogle Scholar
 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):2840.View ArticleGoogle Scholar
 Peh ECY, Liang YC, Guan YL: Optimization of cooperative sensing in cognitive radio networks: A sensingthroughput tradeoff view. In Proceedings of IEEE ICC’2009. Dresden; 14–18 June 2009.Google Scholar
 Cui T, Gao F, Nallanathan A: Optimization of cooperative spectrum sensing in cognitive radio. IEEE Trans. Veh. Tech May 2011, 60(4):15781589.View ArticleGoogle Scholar
 Yuan W, Leung H, Cheng W, Chen S: Optimizing voting rule for cooperative spectrum sensing through learning automata. IEEE Trans. Veh. Tech Sept. 2011, 60(7):32533264.View ArticleGoogle Scholar
 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):57615766.View ArticleGoogle Scholar
 Kim SJ, Giannakis GB: Sequential and cooperative sensing for multichannel cognitive radios. IEEE Trans. Signal Process Aug. 2010, 58(8):42394253.MathSciNetView ArticleGoogle Scholar
 Zhang X, Su H: CREAMMAC: Cognitive radioenabled multichannel MAC protocol over dynamic spectrum access networks. IEEE J. Sel. Topics Signal Process Feb. 2011, 5(1):110123.View ArticleGoogle Scholar
 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):10111027.View ArticleGoogle Scholar
 Cali F, Conti M, Gregori E: Dynamic tuning of the IEEE 802.11 protocol to achieve a theoretical throughput limit. IEEE/ACM Trans. Netw Dec. 2000, 8(6):785799. 10.1109/90.893874View ArticleGoogle Scholar
 Bianchi G: Performance analysis of the IEEE 802.11 distributed coordination function. IEEE J. Sel. Areas Commun March 2000, 18(3):535547.View ArticleGoogle Scholar
 Mo J, So HSW, Walrand J: Comparison of multichannel MAC protocols. IEEE Trans. Mobile Comput Jan. 2008, 7(1):5065.View ArticleGoogle Scholar
 Kuhn HW: The Hungarian method for the assignment problem. Nav. Res. Logist. Q 1955, 2: 8397. 10.1002/nav.3800020109View ArticleGoogle Scholar
 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):130138.View ArticleGoogle Scholar
 Fan R, Jiang H: Optimal multichannel cooperative sensing in cognitive radio networks. IEEE Trans. Wireless Commun March 2010, 9(3):11281138.View ArticleGoogle Scholar
 Lee J, Leyffer S, Eds.: Mixed Integer Nonlinear Programming. The IMA Volumes in Mathematics and its Applications, vol. 154. Springer, New York; 2012.Google Scholar
 Chaudhari S, Lunden J, Koivunen V, Poor HV: Cooperative sensing with imperfect reporting channels: hard decisions or soft decisions. IEEE Trans. Signal Process Jan. 2012, 60(1):1828.MathSciNetView ArticleGoogle Scholar
 Lee JW, Cooperative spectrum sensing scheme over imperfect feedback channels: IEEE Commun. Let. June 2013, 17(6):11921195.View ArticleGoogle Scholar
 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.Google Scholar
 Maleki S, Chepuri SP, Leus G: Optimization of hard fusion based spectrum sensing for energyconstrained cognitive radio networks. Phys. Commun Dec. 2013, 9: 193198.View ArticleGoogle Scholar
Copyright
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly credited.