# An Energy-Efficient Two-Stage Cooperative Routing Scheme in Wireless Multi-Hop Networks
## 3 Proposed Two-Stage Cooperative Routing
### Two-Stage Cooperative Transmission Model  
Before the introduction of the proposed cooperative model, some definitions of the basic elements for the two-stage transmission are given as follows.  
1. **Candidate core helpers \(\mathcal{U}_{i,j}\)**: If any node \(u\) is reachable to node \(i\) and has better channel condition than the receiver node \(j\), node \(u\) will become a candidate core helper. The set of _Candidate core helpers \(\mathcal{U}_{i,j}\)_ can be expressed as \[\mathcal{U}_{i,j}=\left\{u\in\mathcal{N}\left(i\right)\left|\left|h_{i,u} \right|>\left|h_{i,j}\right|\right.\right\}.\] (11)
2. **Core helper \(u_{i,j}\)**: Suppose that node \(u_{i,j}\in\mathcal{U}_{i,j}\) is selected as the _Core helper node_ for the hop \(i\to j\). When node \(i\) has a data to transmit to node \(j\), the broadcast power of node \(i\) will depend on the channel condition between node \(i\) and \(u_{i,j}\). For simplicity of notation, drop the index \(\left\{i,j\right\}\) in the following definition, in this case, the broadcast power \(P_{T}\) can be calculated as \[P_{T}=\left\{\begin{array}{cc}\frac{\gamma_{\min}\omega^{2}}{ \left|h_{i,u}\right|^{2}},&u\in\left\{\mathcal{U}_{i,j}/i\right\}\\ 0,&u=i\end{array}\right.,\] (12) where \(u=i\) stands for the situation where \(i\) will transmit data directly to \(j\) without any helper.
3. **Helper set \(\mathcal{T}\left(u\right)\)**: If node \(i\) broadcasts the data with node \(u\) as the core helper, the _Helper set \(\mathcal{T}\left(u\right)\)_ is a set of nodes which are reachable to both \(i\) and \(j\) and have better channel condition than the core helper \(u\), i.e., \[\mathcal{T}\left(u\right)=\left\{t\in\mathcal{N}(i)\cap\mathcal{N}(j)\left| \left|h_{i,t}\right|\geq\left|h_{i,u}\right|\right.\right\}.\] (13) When \(u=i\), \(\mathcal{T}\left(u\right)=\left\{i\right\}\).  
Suppose that node \(i\) has a data \(X\) to transmit to node \(j\left(i,j\in\mathcal{V}\right)\), in the proposed scheme, the data transmission can be divided into the following two stages:  
* **Stage 1:** Node \(i\) determines the candidate core helpers \(\mathcal{U}_{i,j}\) and selects the core helper \(u\) from \(\mathcal{U}_{i,j}\). \(\mathcal{T}\left(u\right)\) depends on the selection of core helper \(u\). Then, node \(i\) broadcasts the packet \(X\) to the helper set \(\mathcal{T}\left(u\right)\) with broadcast power \(P_{T}\) defined in Equation (12);
* **Stage 2:** Every node \(t\in\mathcal{T}\left(u\right)\) can successfully receive the data packet \(X\). Then, \(\mathcal{T}\left(u\right)\) becomes a cooperative transmitting set \(\left(\left|\mathcal{T}\left(u\right)\right|=n\right)\) and cooperatively transmits the packet \(X\) to node \(j\) using a joint beamforming vector \(\mathbf{w}=\left(w_{1},w_{2},\cdots,w_{n}\right)\).  
Figure 2 shows the proposed two-stage cooperative transmission model. In Figure 2a, the dotted circle indicates the broadcast range of node \(i\) and its radius depends on the broadcast power \(P_{T}\) as well as the selection of core helper \(u\) in the first stage. Furthermore, it can be seen from Figure 2b that all the nodes of helper set \(\mathcal{T}\left(u\right)\) cooperatively beamform the data to node \(j\) in the second stage.