## 3 Preliminaries and System Model
### Relay Selection Scheme  
The objective of relay selection in CRN is to choose the best relay node such that the corresponding end-to-end throughput from the secondary source (SS) to the secondary destination (SD) is maximized, subject to the constraint that the interference at the primary destination (PD) is below a certain level. As we are using virtual duplex mode in the successive relaying scheme, which implies that the receiving relay is not the transmitting relay in the same time slot, so we use the term relay pair. We represent this pair by subscript \((i,j)\), in our case \(i\
eq j\). As shown in Figure 7, the relays and the destination exchange CSI and buffer state information. We have already derived the \(\gamma_{RR}\) and \(\gamma_{jD}\), that is the SINR for both the receiving relay and the destination, while ensuring that the power constraints imposed by the primary receiver are taken into account. Using these, we initiate our relay selection process. The flow diagram of the relay selection scheme is given in Figure 9 and is summarized as follows. 1. The participating relays of the cluster exchange CSI and buffer state information. 2. Among all available relay-to-destination \((R\to D)\) links, select the link \(j\) with the highest SINR \(\gamma_{jD}\). 3. Among all available source-to-relay links, select the link \(i\) with the highest SINR \(\gamma_{RR}\). 4. Check that the same relay is not selected for reception and transmission, i.e., \((i\
eq j)\); if the same, then select the next best for receiving as the transmitting relay will be given priority. 5. Check the transmission power constraints imposed by the primary network are met. 6. If the receiving relay buffer is not full, then transmit packets to it, and if the transmitting relay is not empty, transmit packets from this relay; both may be done simultaneously, i.e., virtual duplex relaying is enabled. 7. The scheme goes into outage if no link with requisite SINR is available or the receiving relay buffer is full and the transmitting relay buffer is empty, thus resulting in no change in any of the buffers, i.e., no state change occurs. 8. To exploit higher data rate capability, the priority is given to the link with better SINR from \(R\to D\), but in the case of the source buffer getting full, the priority will change, and \(S\to R\) links with higher SINR will be selected. Therefore, in the same time slot, one relay will be transmitting, while the other will be receiving the packets, with the condition that among all available \(R\to D\), the best is selected; while the other relay with the best \(S\to R\) link is selected for reception. It is possible that the \(S\to R\) link has a better SINR than the \(R\to D\) link. Moreover, if all \(R\to D\) links are in outage, packets can still be received and stored in the buffer at a relay. Likewise, if all \(S\to R\) links are in outage, packets can still be transmitted if the required conditions are meet. As mentioned earlier, it is also assumed that if the SINR requirements are met, then using high data rates is possible, and more than one packet can be transmitted in one time slot. To validate improvement through our scheme as compared to the scheme proposed in [14], max-max and max-link, we analyze the scheme in terms of outage, capacity, throughput, packet drop rate, and packet delay. We select the best relay pair \(R_{Best(i,j)}\); starting with a \(j^{\text{th}}\) link between \(R_{j}\to D\) for transmitting, followed by the best relay for receiving as shown below. Here, we are also catering for the buffer to be full or empty and the required SINR threshold level at the respective relay. \[R_{Best}^{R\to D}= \begin{array}{c}\arg max\\ R_{j}\in\{1,2\cdots k\}\end{array} \left\{ \begin{array}{c}\bigcup\\ L_{k}\
eq 0,\\ \gamma_{R\to D}>\gamma_{th}\end{array} \right\}, \tag{16}\]  
\[R_{Best}^{S\to R}= \begin{array}{c}\arg max\\ R_{i}\in\{1,2\cdots k\}\end{array} \left\{ \begin{array}{c}\bigcup\\ \bigcup\\ \gamma_{S\to R\to Th},\\ i\
eq j\end{array} \left|h_{SR_{k}}\right|^{2}\right\}.