To evaluate the performance of the designed channel sensing and accessing algorithm presented in chapter 3 and to validate the analytic model presented in chapter 4, we develop a simulation program to discover the system throughput of a cognitive radio network, and the impact on primary users. We compared our approach with [5], i.e., OSA-MAC, and with [7], i.e., Channel-hopping based MAC. Again, we only consider single-hop flows of cognitive radio users.
We first compare the CRN throughput of analytic and simulation results upon the same parameter settings (listed in Table 1). We vary the number of data channels from 1 to 3. Besides, we assume CR users are always backlogged, and thus the arrival rates of primary users and cognitive radio users are 0.4 and 1, respectively. The service rate of primary users is 0.667. The CRN throughput is shown in Fig. 5-1.
Though the analytic and simulation results are almost consistent, there exists discrepancy. The maximum error, which occurs at N=1 and C=15, is less than 6%
((3.17-3)/3.17 = 5.3%). There are two reasons, one is our analytic model does not take sensing time into consideration, while it is an overhead in our simulation. Another one is about the channel selection. In our analytic mode, it considers that the probability of choosing each channel is even, that means if there is N data channel, the probability of choosing each channel is all equal to 1/N. But in simulation, because of the randomly choosing Ch(1) and h, the probability of choosing each channel may not be even. It effects on the spending time on sensing idle channel.
25
Table 1. Parameter settings of simulation
Parameter Value
Frame size 2048bytes
Number of data Channels (N) 5
SIFS 0.01ms
SIFSCR 0.1ms
DIFS 0.05ms
Simulation time 100s
Sensing time for a data channel 2ms
Figure 5-1 : The analysis and simulation throughput performance of a CRN
Next, we compare the performance of our mechanism, OSA-MAC and
Channel-hopping based MAC. In this experiment, there are six channels: one is control channel, and the others are data channel. Each data channel is occupied by primary users with Poisson arrival distribution. Cognitive radio users are always backlogged. Settings of simulation parameters are the same as in Table 1. The
throughput of a considered CRN is shown in Fig. 5-2. We observed that our proposed mechanism outperforms OSA-MAC. The reason is, in our approach, a CR sender can
26
transmit multiple frames (the maximum is TXOPCR frames) when an available data channel is sensed. Contrarily, in OSA-MAC, a CR sender only transmits one frame at a time. Note that our approach still performs better than OSA-MAC upon TXOPCR=1.
The reason is that the sensing time our approach is shorter than that of OSA-MAC.
On the other hand, our approach performs is worse than Channel-hopping based MAC when TXOPCR = 1. It is because it doesn’t have to exchange control message to negotiating about the potential sensing channel. But when TXOPCR >=2, our approach will be better than his. This result thanks to the interrupt mechanism, less collision and longer accessing time makes our approach’s throughput get better. We further investigate the impact of TXOPCR on primary users. We found that it has no impact on the throughput performance of primary users, shown in Fig. 5-3. Thanks to the designed interruption mechanism so that primary users can claim borrowed data channels in time.
27
Figure 5-2 : The simulation throughput performance of a CRN
Figure 5-3 : PU throughput vs. the number of CR pairs, upon PUs utilizing 40%
bandwidth
Followed, we investigate the impact of primary users’ traffic load on CR users’
throughput, and the result is shown in Fig. 5-4. Here we set the number of CR pairs be 15, and vary primary users’ traffic load from 0.1 to 1. For example, 0.2 traffic load indicates that primary users generate packets to utilize 20% bandwidth in total. Our proposed mechanism achieves a higher throughput than OSA-MAC, except when primary users’ traffic load is larger than 0.85. Specifically, the CRN throughput of our
28
algorithm is zero when PUs utilize all bandwidth; contrarily, OSA-MAC still has 0.77 Mbps throughput. The reason is in OSA-MAC, CR users are able to send data frames on not only data channels, but also the control channel. Thus CR users can send frames on the control channel, even if they cannot borrow data channels from PUs.
Figure 5-4 : The throughput of a CRN vs. PUs’ traffic load, upon 15 CR pairs
Figure 5-5 :Average sensing time of CR users vs. the number of CR pairs upon PUs utilizing 40% bandwidth
Though a CRN has a good throughput performance upon a large TXOPCR value, the side-effect is long sensing time for CR users, as shown in Fig. 5-5. In Fig. 5-5, the
29
average sensing time of OSA-MAC and our approach increases as the number of CR pair increases. Specifically, a large TXOPCR value indicates that a CR user can transmit more data packets before vacating the occupied data channel and thus other CR users will spend much more time on data channel sensing. In addition, the average sensing time of OSA-MAC is longer than that of our approach when the number of CR pairs is few. The reason is OSA-MAC consists of three phases, and all CR users are synchronized when executing each phases. In other words, though a CR user has already sensed an unoccupied data channel and finish its one-frame transmission, it cannot start channel selection phase immediately. Instead, it waits for the beacon of next beacon interval. However, when the number of CR pair increases, OSA-MAC has a lower average sensing time compared to our approach. This is because, for OSA-MAC, a CR sender only transmits one data frame when occupying a data channel.
From Figs. 5-2 and 5-5, we observe that there is a trade-off between CRN throughput and data channel sensing time. If most of the CR traffic load is non-real time data type, the major performance evaluation metric is “throughput”. Thus a large TXOPCR value results in a high throughput performance and is a suitable parameter setting. However, if some CR traffics are real time data type, a small TXOPCR value is better to achieve QoS requirement.
We then observe the impact of frame size on the performance of primary users, and the simulation results are shown in Figs. 5-6 and 5-7. Here we set the number of CR flows be 15. It is straightforward that when frame size increases, the CRN throughput increases significantly. Contrarily, the throughput of PUs decreases slightly, and the decrement is less than 1.25%, as shown in Fig. 5-6. Again, thanks to the designed interruption mechanism which shortens the average waiting time of
30
primary users to claim data channels, as shown in Fig. 5-7.
Figure 5-6 : Throughputs of PUs and CR users vs. CR frame size, upon 15 CR pair
Figure 5-7 : The average waiting time of PUs vs. CR frame size, upon 15 CR pairs
Figure 5-8 : Throughput of a CRN vs. number of CR pairs of various generation functions
31
Followed, we compare the throughput performance of various generation functions of hopping sequence. Specifically, the initial channel Ch(1) is intact for all generation functions, and each generation function has its own increment-per-hop pattern. In this experiment, we examine three increment-per-hop patterns. The first approach is fixed increment-per-hop (denoted as “fixed-h” and it is adopted in our proposed channel sensing mechanism), and the next hopped data channel is Ch(i+1)=[(Ch(i)+h) mod N]. The second approach is linear increment-per-hop
(denoted as “linear-h”), and the next hopped channel is Ch(i+1)=[(Ch(i)+h+(i-1)) mod N)]. The last approach does not utilize increment-per-hop and the next hopped
channel is Ch(i+1)=[(Ch(i)+1)) mod N]. We denote the third approach “without-h”.
For example, the number of data channels N is 5 (numbered from 0 to 4), the initial channel ID is 3, and initial increment-per-hop is 2. The channel hopping sequences of fixed-h, linear-h, and without-h are [3, 0, 2, 4, 1, 3, 0, 2, 4, 1, …], [3, 1, 0, 0, 1, 3, 1, 0, 0, 1, …], and [3, 4, 0, 1, 2, 3, 4, 0, …]. The throughput performance is in Fig. 5-8. We found data channel hopping sequence do not impact on CRN throughput. It is expectable that fixed-h and without-h perform similarly, and the reason is that for both generating functions, a CR user senses every data channel once per run, while with different order. It is interesting that for linear-h, a CR user only senses three out of five data channels, while still performs similarly to others. Thus we conclude no matter “sensing all channels per run” or “sensing subset of channels per run,” our designed mechanism performs similarly.
Then we present the performance of channel utilization, including PUs and CR users. This experiment is to show the improvement degree of channel utilization. We set the number of data channels be five, and primary users utilize 40% bandwidth. Fig.
5-9 is the throughput performance of TXOPCR =2, and Fig. 5-10 is that of TXOPCR =4.
32
When the number of CR pairs is larger than 10, the overall channel utilization achieves over 75% (7.5Mbps/10Mbps=0.75) and the corresponding improvement degree of channel utilization contributed by CR users is 46% (3.5Mbps/7.5Mbps), as shown in Fig. 5-11. When TXOPCR =4, the channel utilization further increases to 85%, and the throughput of CR users even higher than that of PUs.
Figure 5-9 : Channel utilization vs. number of CR pairs, upon TXOPCR = 2 frames, N=5, PUs utilizing 40% bandwidth
Figure 5-10 : Channel utilization vs. number of CR pairs, upon TXOPCR = 4frames, N=5, PUs utilizing 40% bandwidth
33
Then, we examine how RTI messages impact on primary users. Without transmitting RTI messages periodically by CR users, primary users cannot interrupt CR users’ transmissions as quick as possible. Instead, a primary user cannot start to transmit data packets till the ongoing transmission is completed. In such case, TXOPCR value does impact on PUs’ throughput performance. A large TXOPCR value indicates that PUs must wait for a long time to claim data channels, and thus PUs’
throughput decreases, as shown in Fig. 5-11. On the other hand, the throughput of CR users increases as TXOPCR value increases, as what we expected. On the other hand, without RTI, CR users in our proposed mechanism utilize more bandwidth and have higher throughput performance, as shown in Fig 5-12.
Figure 5-11 : Throughput of PUs vs. number of CR pairs without RTI, upon N=5, PUs utilizing 40% bandwidth
34
Figure 5-12 : Throughput of CR users vs. number of CR pairs without RTI, upon N=5, PUs utilizing 40% bandwidth
Finally, we consider that if the packet error in the network is getting high, whether it causes a high traffic load on the control channel. So, we will show how does the packet error rate matters to the number control frames on the control channel. In Fig.
5-13, we could see that the number of control frames on control channel will increase as the packet error rate increases. It is because when a packet error is occurred, the CR receiver will not reply an ACK, and the CR pairs would think the channel is claimed back of PU, so the CR pair will switch back to the control channel and exchange the RTSCR/CTSCR again. It makes more control frames exchanged on the control channel as the packet error is rate getting higher, as shown in Fig. 5-13.
35
Figure 5-13 : Number of control frames sent on control channel vs. packet error rate, upon N=5, PUs utilizing 40% bandwidth
36