Joint Cooperative Spectrum Sensing and MAC Protocol Design for Multi-channel Cognitive Radio Networks
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 -persistent CSMA-based cognitive 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.
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 . Development of efficient spectrum sensing and access algorithms for cognitive radios are among the key research issues for successful deployment of this promising technology. There is indeed a growing literature on MAC protocol design and analysis for CRNs - (see  for a survey of recent works in this topic). In , it was shown that a significant throughput gain can be achieved by optimizing the sensing time under the single-SU setting. Another related effort along this line was conducted in  where sensing-period optimization and optimal channel-sequencing algorithms were proposed to efficiently discover spectrum holes and to minimize the exploration delay.
In , 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 -, . In  and , 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 CSMA MAC protocol, which is known to be outperformed by the p-persistent CSMA MAC protocol .
Optimal sensing and access design for CRNs were designed by using optimal stopping theory in . In , 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 -. Optimization of spectrum sensing and access in which either cellular or TV bands can be employed was performed in . 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 spectrum holes - and . 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 , 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  proposed a novel cooperative spectrum sensing scheme using hard decision combining considering feedback errors. In -, optimization of cooperative sensing under the a-out-of-b rule was studied. In , the game-theoretic based method was proposed for cooperative spectrum sensing. In , 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 , 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  and , 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 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 -persistent CSMA MAC protocol  to access one available channel. In this MAC protocol, parameter 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 that can mitigate the collisions and hence enhance the system throughput . 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 -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. This 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, 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 Section 2 describes system and sensing models. MAC protocol design, throughput analysis, and optimization are performed in Section Section 3 assuming no reporting errors. Section Section 4 provides further extension for the analysis and optimization considering reporting errors. Section Section 5 presents numerical results followed by concluding remarks in Section Section 6. The summary of key variables in the paper is given in Table IV.
2System 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.
We consider a network setting where pairs of SUs opportunistically exploit white spaces in channels for data transmission. For simplicity, we refer to pair of SUs simply as SU . 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 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 denotes channel that belongs to PU .
2.2Semi-Distributed Cooperative Spectrum Sensing
We assume that each SU is assigned a set of channels where it senses all channels in this assigned set at beginning of each cycle in a sequential manner (i.e., sense one-by-one). Optimization of such channel assignment will be considered in the next section. Upon completing the channel sensing, each SU exchanges the sensing results (i.e., idle/busy status of all channels in ) 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 and denote the events that a particular PU is idle and active on its corresponding channel in any cycle, respectively. In addition, let and be the probabilities that channel is available and not available for secondary access, respectively. We assume that SUs employ an energy detection sensing scheme and let 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 . Then, the detection and false alarm probabilities experienced by SU for the channel can be calculated as 
where is the SU index, is the channel index, is the detection threshold for the energy detector, is the signal-to-noise ratio (SNR) of the PU’s signal at the SU, is the sampling frequency, is the noise power, is the sensing time of SU on channel , and is defined as .
We assume that a general cooperative sensing scheme, namely -out-of- 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 or more messages out of 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, corresponds to the OR rule; if then it is the AND rule; and the majority rule has .
To illustrate the operations of the -out-of- rule, let us consider a simple example shown in Figure 2. Here, we assume that 3 SUs collaborate to sense channel one with and . After sensing channel one, 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 two which is larger than or equal to , SU3 outputs the “1” in the final sensing result, namely the channel is busy.
Let us consider a particular channel . Let denote the set of SUs that sense channel , be the number of SUs sensing channel , and be the number of messages indicating that the underlying channel is busy. Then, the final decision on the spectrum status of channel under the -out-of- rule has detection and false alarm probabilities that can be written as 
where represents or as we calculate the probability of detection or false alarm , respectively; is defined as ; in (Equation 3) denotes a particular set with SUs whose sensing outcomes suggest that channel is busy given that this channel is indeed busy and idle as represents and , respectively. Here, we generate all possible combinations of where there are indeed combinations. Also, , , represent the set of detection thresholds and sensing times, respectively. For brevity, and are sometimes written as and 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 reporting time slots for SUs each of which has length equal to . Hence, the total time for exchanging sensing results among SUs is . Note that the set of channels assigned to SU for sensing, namely , 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 1. In this table, SU 4 is not assigned any channel. Hence, this SU must rely on the sensing results of other SUs to determine the spectrum status.
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 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 . 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.
3Performance 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.1Cognitive 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) . 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  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 , where is total sensing time of SU , is the sensing time of SU on channel , and is the set of channels assigned for SU . 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 -persistent CSMA principle  to devise our cognitive MAC protocol. In this protocol, each SU attempts to transmit on the chosen channel with a probability of 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 ), it will sense the channel and attempt to transmit again in the next slot with probability . If there is a collision, the SU will wait until the channel is available and attempt to transmit with probability as before.
The standard 4-way handshake with RTS/CTS (request-to-send/clear-to-send)  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 .
3.2Saturation Throughput Analysis
In this section, we analyze the saturation throughput of the proposed cognitive -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-b aggregation rule is employed for each channel. In the analysis, transmission time is counted in terms of contention time slot, which is assumed to be seconds. Each data packet is assumed to be of fixed size of time slots. Detailed timing diagram of the -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 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 mis-detection and false alarm events for each particular scenario. Specifically, the normalized throughput per one channel achieved by our proposed MAC protocol, can be written as
The quantity (Equation 4) represents the probability that there are available channels, which may or may not be correctly determined by the SDCSS. Here, denotes a particular set of available channels out of channels whose index is . In addition, the quantity ( ?) describes the probability that the SDCSS indicates available channels whereas the remaining available channels are overlooked due to sensing errors where denotes the -th set with available channels. For the quantity in ( ?), represents the number of channels that are not available but the sensing outcomes indicate that they are available (i.e., due to misdetection) where denotes the -th set with mis-detected channels. The quantity in ( ?) describes the probability that the sensing outcomes due to SUs incorrectly indicates available channels. Finally, in ( ?) denotes the conditional throughput for a particular realization of sensing outcomes corresponding to two sets and .
Therefore, we have to derive the conditional throughput 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 channels in are available for secondary access but only channels in are indeed available and can contribute to the secondary throughput (channels in are misdetected by SUs). Let be the vector describing how SUs choose channels for access where and denotes the number of SUs choosing channel for access. Therefore, the conditional throughput can be calculated as follows:
where in ( ?) represents the probability that the channel access vector is realized (each channel where is selected by SUs). The sum in ( ?) describes the normalized throughput per channel due to a particular realization of the access vector . Therefore, it is equal to the total throughput achieved by all available channels (in the set ) divided by the total number of channels . Here, denotes the conditional throughput achieved by a particular channel when there are contending on this channel and represents the indicator function, which is equal to zero if (i.e., no SU chooses channel ) and equal to one, otherwise. Note that the access of channels in the set due to missed detection does not contribute to the system throughput, which explains why we do not include these channels in the sum in ( ?).
Therefore, we need to drive and 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 channels randomly. Therefore, the probability can be calculated as follows:
where is the multinomial coefficient which is defined as .
The calculation of the conditional throughput must account for the overhead due to spectrum sensing and exchanges of sensing results among SUs. Let us define where is the report time from each SU to all the other SUs; is the total the sensing time; is the average total time due to contention, collisions, and RTS/CTS exchanges before a successful packet transmission; is the total time for transmissions of data packet, ACK control packet, and overhead between these data and ACK packets. Then, the conditional throughput can be written as
where denotes the floor function and recall that is the duration of a cycle. Note that 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 , we define some further parameters as follows. Let denote as the duration of the collision; is the required time for successful RTS/CTS transmission. These quantities can be calculated under the 4-way handshake mechanism as 
where is the packet size, is the length of an ACK packet, is the length of a short interframe space, is the length of a distributed interframe space, is the propagation delay where is usually very small compared to the slot size .
Let be the -th idle duration between two consecutive RTS/CTS transmissions (they can be collisions or successes) on a particular channel . Then, 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 SUs choosing channel , let , and 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 is the transmission probability of an SU in a generic slot. Note that 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 can be written as
where is the number of collisions before the first successful RTS/CTS exchange. Hence it is a geometric RV with parameter (where ). Its pmf can be expressed as
Also, represents the number of consecutive idle slots, which is also a geometric RV with parameter with the following pmf
Therefore, can be written as follows :
where and can be calculated as
3.3Semi-Distributed Cooperative Spectrum Sensing and -persistent CSMA Access Optimization
We determine optimal sensing and access parameters to maximize the normalized throughput for our proposed SDCSS and -persistent CSMA protocol. Here, we assume that the sensing sets for different channels 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 ,  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 is the detection probability for channel ; denotes the target detection probability; and represent the vectors of detection thresholds and sensing times on channel , respectively; describes the parameter of the -out-of- aggregation rule for SDCSS on channel with where recall that is the set of SUs sensing channel . The optimization variables for this problem are sensing times and parameters of the sensing aggregation rule, and transmission probability of the MAC protocol.
It was shown in  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 (Equation 6). Therefore, we can set to solve the optimization problem (Equation 12)-( ?).
However, is a function of for all SUs since we employ the SDCSS scheme in this paper. Therefore, to simplify the optimization we set for all SUs (i.e., all SUs are required to achieve the same detection probability for each assigned channel). Then, we can calculate by using (Equation 3) for a given value of . In addition, we can determine with the obtained value of by using (Equation 2), which is the function of sensing time .
Even after these steps, the optimization problem (Equation 12)-( ?) is still very difficult to solve. In fact, it is the mixed integer non-linear problem since the optimization variables take integer values while other variables take real values. Moreover, even the corresponding optimization problem achieved by relaxing to real variables is a difficult and non-convex problem to solve since the throughput in the objective function (Equation 12) given in ( ?) is a complicated and non-linear function of optimization variables.
Given this observation, we have devised Alg. ? 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 ( ?) is quite insensitive with respect to , we attempt to determine the optimized values for first for different values of (steps 3–11 in Alg. ?) before searching the optimized value of in the outer loop (step 12 in Alg. ?). This algorithm converges to the fixed point solution since we improve the objective value over iterations (steps 4–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 . For some specific cases such as in homogeneous systems , the underlying optimization problem is convex, which can be solved efficiently by using standard convex optimization algorithms.
3.4Optimization 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 , 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 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 can only be determined if we have fixed the channel sensing set for each channel . This is because we aim to optimize the -out-of- aggregation rule of the SDCSS scheme for each channel where . Since takes integer values and optimization of channel sensing sets also involves integer variables where we have to determine the set of SUs assigned to sense each channel . Therefore, the optimization problem (Equation 13) is the non-linear integer program, which is NP-hard . In the following, we present both brute-force search algorithm and low-complexity greedy algorithm to solve this problem.
Brute-force Search Algorithm
Due to the non-linear and combinatorial structure of the formulated channel assignment problem, it would be impossible to explicitly determine the optimal closed form solution for problem (Equation 13). 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 for all channels ), we employ Alg. ? to determine the best spectrum sensing and accessing parameters and calculate the corresponding total throughput by using the throughput analytical model in ?. The channel assignment achieving the maximum throughput together with its best spectrum sensing and accessing parameters provides the best solution for the optimization problem (Equation 13).
Low-Complexity Greedy Algorithm
We propose another low-complexity and greedy algorithm to find the solution for this problem, which is described in Alg. ?. 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 Alg. ? to find the optimal sensing times for this temporary assignment, i.e., to determine , 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 (Equation 14)-( ?) presented in the following.
where are binary variables representing the channel assignments where if channel is allocated for SU (i.e., ) and , otherwise. We employ the well-known Hungarian algorithm  to solve this problem. Then, we perform further channel assignments in steps 2-18 of Alg. ?. Specifically, to determine one channel assignment in each iteration, we temporarily assign one channel to the sensing set of each SU and calculate the increase of throughput for such channel assignment with the optimized channel and access parameters obtained by using Alg. ? (step 6). We then search for the best channel assignment and actually perform the corresponding channel assignment if (steps 7–10).
In Alg. ?, 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 .
The convergence of Alg. ? 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 Alg. ? must converge.
There is a key difference in the current work and  regarding the sensing sets of SUs. Specifically, the sets of assigned channels are used for spectrum sensing and access in . 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 Section 4.
In this section, we analyze the complexity of the proposed brute-force search and low-complexity greedy algorithms.
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 . Therefore, the complexity of the brute-force search algorithm is . Note that to obtain the best channel assignment solution, we must run Alg. ? 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.
Low-complexity Greedy Algorithm
In step 1, we run Hungarian algorithm to perform the first channel assignment for each SU . The complexity of this operation can be upper-bounded by (see  for more details). In each iteration in the assignment loop (i.e., steps 2-18), each SU 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 since there are at most channels to assign for each of SUs. Also, the number of assignments to perform is upper bounded by (i.e., iterations of the main loop). Therefore, the complexity of the assignment loop is upper-bounded by . Therefore, the total worst-case complexity of Alg. ? is , which is much lower than that of the brute-force search algorithm. As a result, Table Table 2 in Section 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.6Practical 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 . 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 change, which would be quite infrequent in practice (e.g., in the time scale of hours or even days). Therefore, the estimation cost for and all involved communication overhead due to sensing set optimization operations would be acceptable.
4Consideration 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 to determine the sensing outcome for each channel . 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.1Cooperative Sensing with Reporting Errors
In the proposed SDCSS scheme, each SU collects sensing results for each channel from all SUs who are assigned to sense channel . 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 and depends on the employed modulation scheme and the signal to noise ratio (SNR) of the communication channel between the two SUs. We denote the bit error probability of transmitting the reporting bit from SU to SU as . 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 on channel with the sensing result received from SU can be written as
where and represents probabilities of detection and false alarm, respectively. Note that we have if since there is no sensing result exchange involved in this case. As SU employs the -out-of- aggregation rule for channel , the probabilities of detection and false alarm for SU on channel can be calculated as
Again, and represent the corresponding probabilities of detection or false alarm, respectively. Recall that represents the set of SUs who are assigned to sense channel ; thus, we have and . For brevity, is written as in the following.
4.2Throughput Analysis Considering Reporting Errors
In order to analyze the saturation throughput for the case 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 following analysis is presented in Figure 4. In particular, the normalized throughput considering reporting errors can be expressed as follows:
where denotes the conditional throughput for one combined scenario discussed above. In (Equation 17), we generate all possible sets where channels are available for secondary access (i.e., they are not used by PUs) while the remaining channels are busy. There are such sets and represents one particular set of available channels. The first product term in (Equation 17) denotes the probability that all channels in are available while the second product term describes the probability that the remaining channels are busy.
Then, for one particular channel , we generate all possible sets with SUs in ( is the set of SUs who are assigned to sense channel ) whose sensing results indicate that channel is available in ( ?). There are sets and denotes one such typical set. Again, the first product term in ( ?) is the probability that the sensing outcomes of all SUs in indicate that channel is available; and the second term is the probability that the sensing outcomes of all SUs in the remaining set indicate that channel is not available.
In ( ?), for one specific channel , we generate all possible sets with SUs in whose sensing outcomes indicate that channel is available due to missed detection. There are such sets and is a typical one. Similarly, the first product term in ( ?) is the probability that the sensing outcomes of all SUs in indicate that channel is available; and the second term is the probability that the sensing outcomes of all SUs in the remaining set indicate that channel is not available.
Recall that for any specific channel , each SU in (the set of all SUs) receives sensing results from a group of SUs who are assigned to sense the channel . In ( ?), we consider all possible error events due to message exchanges from SUs in . The first group denoted as includes SUs in has its sensing results received at SU indicating that channel available (no reporting error) while the second group of SUs has the sensing results received at SU suggesting that channel 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 SUs where SU collects correct sensing information from SUs (i.e., there is no error on the channel between and ). Similar expression is presented for the second group in which we generate all sets of SUs where SU collects wrong sensing information from each SU (i.e., there is an error on the channel between and ). Similarly, we present the possible error events due to exchanges of sensing results from the set of SUs in ( ?).
In ( ?) and ( ?), we consider all possible error events due to sensing result exchanges for channel . Here, each SU in collects sensing result information from two sets of SUs in and , respectively. The first set includes SUs in whose sensing results indicate that channel available due to missed detection, while the second set includes SUs in whose sensing results indicate that channel is not available. Possible outcomes for the message exchanges due to the first set are captured in ( ?) where we present the outcomes for two groups of this first set. For group one, we generate all sets with SUs where SU collects correct sensing information from SUs (i.e., there is no error on the channel between and ). For group two, we consider the remaining sets of SUs in where SU receives wrong sensing information from each SU (i.e., there is an error on the channel between and ). Similar partitioning of the set into two groups and with the corresponding message reporting error patterns is captured in ( ?).
For each combined scenario whose probability is presented above, each SU has collected sensing result information for each channel, which is the sensing results obtained by itself or received from other SUs. Then, each SU determines the idle/busy status of each channel by applying the