## 3 Cooperative Communication Algorithms
### Algorithm Design
\begin{table}
\begin{tabular}{c c c c} \hline
**Symbol** & **Explain** & **Symbol** & **Explain** \\ \hline \(s\) & Source node & P\({}_{k}\) & Probability of k awakening at K nodes per hop \\ \(t\) & Sink node & C\({}_{m}^{1}\) & Reference node of node m of hop i \\ \(H\) & Number of hops from source to target & R\({}_{KCN}\) & Search area of collaboration node \\  & & & With sink node i as the center of the circle with \\ \(f\) & Link Failure Rate & R\({}_{int}\) & radius \(r_{n}(m)\), the radius meets formula \\ \(\delta\) & Node density & R\({}_{int}\) & The diameter of the circle is connected between \\ \(R\) & Transmission radius & n\({}_{m}\) & Number of all neighbors of node m \\ \(|uv|\) & Distance between nodes \(u\) and \(v\) & \(v_{lux}(i)\) & All the cooperative nodes of the i-hop \\ \(K\) & Total number of cooperative nodes & & \(\left[C_{in}^{0},C_{in}^{1},C_{in}^{2},C_{in}^{1-},\cdots,C_{in}^{1-}\right]\) \\  & per hop design & L\({}_{QE}\) & Residual energy of the node \\ \(k\) & Number of active nodes per hop & \(W_{k}(i)\) & The success rate of the i-hop k available \\ T\({}_{\text{epoch}}\) & Construction cycle of KCN & \(W\) & collaboration nodes \\ \(\mu\) & Node duty cycle & & End-to-end reliability \\ \hline \end{tabular}
\end{table} 
Table 2: Symbol Description Table. Figure 4: Selection of collaboration nodes. B. Forwarding Packets  
(a) Time slot of cooperative node  
Assuming that there are \(k\) cooperative nodes, \(k\) slots are needed to allocate the delay. The \(Q\) value of the cooperative node is put into the array from large to small, so that the \(Q\) value of the first node in the array is the largest. The waiting time is \(\tau\), and the minimum waiting time of the \(Q\) value of the \(k\) node is \(k*\tau\). (b) Forwarding Packets  
The node whose slot expires first forwards the data packet, and other nodes of this hop are notified to cancel the data packet. (c) PROB transmission cycle  
After forwarding data packets for a period of time, the energy of the nodes is decreased. Continuous forwarding will lead to the exhaustion of the energy of the nodes, and a batch of cooperative nodes needs to be replaced. A KCN selection period T is set. When T ends, PROB messages are sent by node to find new \(K\) nodes. It is assumed that the period between two PROB messages is T_PROB. Application layer data packets are sent regularly, and the interval between sending data is T_DATA. The relationship between them is shown in Figure 5. T_DATA cycle is taken as a basic cycle. One Idle is inserted before and after PROB to distinguish DATA and PROB packages. Firstly, a parameter is determined; that is, a PROB packet is sent when a \(x\) DATA packet is sent. Thus:  
\[T\_PROB=T\_DATA*(x+3) \tag{17}\]  
The PROB and DATA are uniformly numbered. It is assumed that the PROB's serial number is S, and \(S+x+3\) is the serial number of the next PROB package. Cooperative node saves the PROB serial number S received by itself, and the DATA packet serial number received is assumed to be \(D\). If \(D-S\leq x\), it can continue to forward the data packet. If \(D-S\leq x\), it indicates that the cooperative node has expired and become a normal node.