WGN) at the relay. The relay amplifies and beamforms the received signal as follows: XR = a Wy R . = (4.2) Here W denotes the beamforming matrix (discussed in Sect. 4.6.1), and the scalar a denotes the amplification factor a which is chosen to satisfy the total power constraint at the relay. Using (4.23) and (4.2), the amplification factor a can be written as (4.3) In the broadcast phase, the relay transmits the amplified and beamformed signal XR to both the users. The signal received at the user-1 and user-2, respectively, is as follows: (4.4) y2 = agT Wy + + (4.5) the channel between the relay and the kth user. The scalar Zk ~ CN(0,0) represents the AWGN at the kth user. Using (4.23) and (4.2), we can re-express (4.4) and (4.5) as 1=a/PgTWGs+agTWZR + = and (4.6) (4.7) Recall that user-1 and user-2 want to exchange their information with each other. In (4.6) and (4.7), the first terms represent the desired signal, the second term represents the self-interference (SI) term, and the third term denotes the amplified noise from the relay. To further simplify (4.6) and (4.7), we will need the knowledge of beamforming matrix W. We next design beamforming matrix W based on maximal ratio and zero- forcing principles, which is commonly used in massive MIMO literature. E. Sharma and P. Singh 4.6.1 Relay Beamforming Design In this chapter, we will consider MRC/MRT and ZFR/ZFT beamformers. Both have their own advantages and disadvantages: the MRC/MRT is simple to implement and has low complexity. In addition it performs better than ZFR/ZFT at low SNR. On the contrary, ZFR/ZFT performs much better than MRC/MRT at high SNR but has higher complexity. There also exist some other linear designs like minimum mean square error (MMSE) beamforming design [31] among others. 4.6.1.1 MRC/MRT Beamformer The MRC/MRT precoder is formulated as W = G*TGH, (4.8) where the permutation matrix [=["]] (4.9) ensures that the users receive their intended data. The MRC/MRT precoder had complexity O(N2K), where K denotes the number of user pairs. Re