## 5 Performance Evaluation  
Finally, we discuss the overall communication complexity of these solutions. We evaluate ROR and compare it with SCEEM in MATLAB based on the routing modeling application simulation environment (Rmase) [42, 43], which is a plug-in for the probabilistic wireless network simulator (Prowler) [34, 41], along with the cognitive radio and ROR routing layers we have developed. We present simulation results for a cognitive radio sensor topology of 40-200 nodes randomly deployed in a 100 \(\times\) 100 \(m^{2}\) sensor field. The sink is located at the coordinates (80, 80). The relevant simulation parameters are given in Table 1. In each simulation, an event occurs in an event area located at coordinates (20, 20) with an event radius of 20 \(m^{2}\). Each source node reports its event information to the sink. At each node, seven (7) channels are available from which a selection is made during the RREQ phase, and all channels have the same bandwidth. None of the channels overlap, so that the packets transmitted on different channels do not interfere with each other. As highlighted in Section 3.1, both the PU and SU transmit power decays with distance based on the free-space path loss model, and the PU activity is modeled according to an ON and OFF Poisson state transition model [36, 37], in which, both states represent the arrival or absence of the primary user, respectively. For the sake of this evaluation, performance is recorded for cases where \(P_{on}\) is 0.2-0.8. In order to investigate the effect of the number of SUs in the presence of various intensities of PU activity and network load, each simulation is performed for the number of SUs values of \(40\):\(20\):\(200\). Each simulation lasts for 100 s, and the average of 10 trials for each of four different random topologies are shown along with their 80% confidence intervals.  
In the evaluations, we investigate the following performance metrics:  
* Throughput, which measures the time performance for any application, is the number of bits per second received at the sink. In calculating this metric, only unique packets are considered, since multiple copies of a packet can be received at the sink for certain protocols.
* Goodput measures the overall success or communication reliability of the network. It is the ratio between the total number of unique packets received at the sink and the total number of packets sent by all the source nodes.  
\begin{table}
\begin{tabular}{|c|c|c|c|c|c|c|} \hline \(D\) & \(P_{t}\) & \(PL(r_{0})\) & \(P_{n}\) & \(\sigma\) & \(e(tx)\) & \(e_{(}rx)\) \\ \hline \(100\;m\) & \(0\;dBm\) & \(55\;dB\) & \(3\) & \(3.8\) & \(24\;mJ\) & \(21\;mJ\) \\ \hline \end{tabular}
\end{table}
Table 1: Parameters.  
* Latency is the time that passes between the time a packet is generated at a source node and the time it is received at the sink. This delay accounts for the queuing delay and the contention delay at the nodes, as well as specific protocol operation overhead.
* The loss rate measures the quality of the application. It is derived as the number of lost packets _vs_. the total expected number of packets for a destination. To obtain the loss rate, each packet is attached with a message identification, m, and a sequence identification, s. Assume that is the largest sequence identification of message, m, received at this node; when a new packet of m with s arrives, the loss for the packet is calculated by \(s-(s^{\prime}+1)\), if \(s>s^{\prime}\), otherwise. The total loss at a destination is then calculated by \(L=s_{i}l_{i}\), where \(l_{i}\) is the loss for the \(i-th\) packet. The loss rate at the sink is \(L/(L+R)\), where L is the number of packets lost, and R is the number of packets received.
* Energy efficiency is the ratio between the total number of packets received at the sink _vs_. the total energy consumption in the network.