relay nodes (this requires [*symbol-level synchronization among the nodes*]{}), and [*successive interference cancellation*]{} at the relay nodes and the sink. A node receives information about a message in two ways (i) by the message being directed to it cooperatively by all the previous nodes, and (ii) by overhearing previous transmissions of the message to the previous nodes. Thus node $k$ receives codes corresponding to a message $k$ times before it attempts to decode the message (a discussion on the practical feasibility of full-duplex decode-and-forward relaying scheme is provided in Section \[subsection:motivation-for-full-duplex-decode-forward\]). Note that, $C \bigg( \frac{1}{\sigma^{2}×} \sum_{j=1}^{k} ( \sum_{i=0}^{j-1} h_{i,k} \sqrt{P_{i,j}}  )^{2} \bigg)$ in (\[eqn:achievable\_rate\_multirelay\]), for any $k$, denotes a possible rate that can be achieved by node $k$ from the transmissions from nodes $0,1,\cdots,k-1$. The smallest of these terms becomes the bottleneck, see (\[eqn:achievable\_rate\_multirelay\]).

For the single relay channel, $N=1$. Thus, by (\[eqn:achievable\_rate\_multirelay\]), an achievable rate is given by (see also [@cover-gamal79capacity-relay-channel]):

$$\begin{aligned}
R=\min & \bigg\{ &  C \left(\frac{g_{0,1}P_{0,1}}{\sigma^{2}×}\right),  \nonumber\\
 && C  \left( \frac{g_{0,2}P_{0,1}+(h_{0,2}\sqrt{P_{0,2}}+h_{1,2}\sqrt{P_{1,2}})^{2}}{\sigma^{2}×}  \right)  \bigg\}\label{eqn:single_relay_genaral_capacity_formula}\end{aligned}$$

Here, the first term in the $\min\{\cdot,\cdot\}$ of (\[eqn:single\_relay\_genaral\_capacity\_formula\]) is the achievable rate at node $1$ (i.e., the relay node) due to the transmission from the source. The second term in the $\min\{\cdot,\cdot\}$ 