## 3 Proposed Max-SNR-FP Scheme
### Optimize \(\mathbf{v}\) Given \(\mathbf{\Phi}\) and \(\mathbf{\Psi}\)
\[=\frac{P|(\sqrt{\rho_{srb}}\mathbf{h}_{rb}^{H}\mathbf{\Theta} \mathbf{H}_{sr}+\sqrt{\rho_{sb}}\mathbf{h}_{sb}^{H})\mathbf{v}|^{2}}{\sigma_{ r}^{2}|\sqrt{\rho_{rb}}\mathbf{h}_{rb}^{H}\mathbf{E}_{M_{a}}\mathbf{\Theta}|^{2}+ \sigma_{b}^{2}}\]3 \[=\frac{P|(\sqrt{\rho_{srb}}\mathbf{h}_{rb}^{H}\mathbf{\Theta} \mathbf{H}_{sr}+\sqrt{\rho_{sb}}\mathbf{h}_{sb}^{H})\mathbf{v}|^{2}}{\sigma_{ r}^{2}|\sqrt{\rho_{rb}}\mathbf{h}_{rb}^{H}\mathbf{E}_{M_{a}}\mathbf{\Theta}|^{2}+ \sigma_{b}^{2}}\]4 (53c) \[=\frac{P|(\sqrt{\rho_{srb}}\mathbf{h}_{rb}^{H}\mathbf{\Theta} \mathbf{H}_{sr}+\sqrt{\rho_{sb}}\mathbf{h}_{sb}^{H})\mathbf{v}|^{2}}{\sigma_{ r}^{2}|\sqrt{\rho_{rb}}\mathbf{h}_{rb}^{H}\mathbf{E}_{M_{a}}\mathbf{\Theta}|^{2}+ \sigma_{b}^{2}}\]5

In accordance with the MM algorithm in [46], we have

\[=\frac{P|(\sqrt{\rho_{srb}}\mathbf{h}_{rb}^{H}\mathbf{\Theta} \mathbf{H}_{sr}+\sqrt{\rho_{sb}}\mathbf{h}_{sb}^{H})\mathbf{v}|^{2}}{\sigma_{ r}^{2}|\sqrt{\rho_{rb}}\mathbf{h}_{rb}^{H}\mathbf{E}_{M_{a}}\mathbf{\Theta}|^{2}+ \sigma_{b}^{2}}\]6

where \(\mathbf{T}\succeq\mathbf{L}\), and the equation holds when \(\mathbf{x}=\mathbf{x}_{t}\). Then, the objective function in (53) can be recast as follows:

\[=\frac{P|(\sqrt{\rho_{srb}}\mathbf{h}_{rb}^{H}\mathbf{\Theta} \mathbf{H}_{sr}+\sqrt{\rho_{sb}}\mathbf{h}_{sb}^{H})\mathbf{v}|^{2}}{\sigma_{ r}^{2}|\sqrt{\rho_{rb}}\mathbf{h}_{rb}^{H}\mathbf{E}_{M_{a}}\mathbf{\Theta}|^{2}+ \sigma_{b}^{2}}\]7 \[=\frac{P|(\sqrt{\rho_{srb}}\mathbf{h}_{rb}^{H}\mathbf{\Theta} \mathbf{H}_{sr}+\sqrt{\rho_{sb}}\mathbf{h}_{sb}^{H})\mathbf{v}|^{2}}{\sigma_{ r}^{2}|\sqrt{\rho_{rb}}\mathbf{h}_{rb}^{H}\mathbf{E}_{M_{a}}\mathbf{\Theta}|^{2}+ \sigma_{b}^{2}}\]8 \[=\frac{P|(\sqrt{\rho_{srb}}\mathbf{h}_{rb}^{H}\mathbf{\Theta} \mathbf{H}_{sr}+\sqrt{\rho_{sb}}\mathbf{h}_{sb}^{H})\mathbf{v}|^{2}}{\sigma_{ r}^{2}|\sqrt{\rho_{rb}}\mathbf{h}_{rb}^{H}\mathbf{E}_{M_{a}}\mathbf{\Theta}|^{2}+ \sigma_{b}^{2}}\]9 \[=\frac{|\widehat{\mathbf{\theta}}^{H}\mathbf{h}_{b}|^{2}}{\sigma_{r}^ {2}|\widehat{\mathbf{\theta}}^{H}\mathbf{H}_{b}|^{2}+\sigma_{b}^{2}}. \tag{47}\]0 \[=\frac{|\widehat{\mathbf{\theta}}^{H}\mathbf{h}_{b}|^{2}}{\sigma_{r}^ {2}|\widehat{\mathbf{\theta}}^{H}\mathbf{H}_{b}|^{2}+\sigma_{b}^{2}}. \tag{47}\]1

In accordance with (55), and neglecting the constant terms, Optimization Problem (53) can be simplified into

\[=\frac{|\widehat{\mathbf{\theta}}^{H}\mathbf{h}_{b}|^{2}}{\sigma_{r}^ {2}|\widehat{\mathbf{\theta}}^{H}\mathbf{H}_{b}|^{2}+\sigma_{b}^{2}}. \tag{47}\]2 (56a) s.t. \[=\frac{|\widehat{\mathbf{\theta}}^{H}\mathbf{h}_{b}|^{2}}{\sigma_{r}^ {2}|\widehat{\mathbf{\theta}}^{H}\mathbf{H}_{b}|^{2}+\sigma_{b}^{2}}. \tag{47}\]3 \[=\frac{|\widehat{\mathbf{\theta}}^{H}\mathbf{h}_{b}|^{2}}{\sigma_{r}^ {2}|\widehat{\mathbf{\theta}}^{H}\mathbf{H}_{b}|^{2}+\sigma_{b}^{2}}. \tag{47}\]4 (56c) \[=\frac{|\widehat{\mathbf{\theta}}^{H}\mathbf{h}_{b}|^{2}}{\sigma_{r}^ {2}|\widehat{\mathbf{\theta}}^{H}\mathbf{H}_{b}|^{2}+\sigma_{b}^{2}}. \tag{47}\]5

This can be addressed by utilizing an optimization toolbox, such as CVX. The whole procedure of the Max-SNR-MM scheme is described in Algorithm 2. ```
1:Initialize feasible solutions \(\mathbf{v}^{(0)}\) and \(\mathbf{\Theta}^{(0)}\), and calculate achievable rate \(R_{b}^{(0)}\) on the basis of (9). 2:Set the iteration number \(k=0\), and accuracy value \(\epsilon\). 3:repeat
4:Given \(\mathbf{\Theta}^{(k)}\), solve (43) to obtain \(\mathbf{v}^{(k+1)}\). 5:Given \(\mathbf{v}^{(k+1)}\), solve (56) to obtain \(\widehat{\mathbf{\theta}}^{(k+1)}\), and \(\mathbf{\Theta}^{(k+1)}=\text{diag}(\widehat{\mathbf{\theta}}^{(k+1)}(1:M))^{*}\). 6:Calculate \(R_{b}^{(k+1)}\) on the basis of \(\mathbf{v}^{(k+1)}\) and \(\mathbf{\Theta}^{(k+1)}\). 7:Update \(k=k+1\). 8:until\(|R_{b}^{(k)}-R_{b}^{(k-1)}|\leq\epsilon\). ```

**Algorithm 2** Proposed Max-SNR-MM algorithm The overall computational complexity of the proposed Max-SNR-MM algorithm is \(\mathcal{O}(G(4(M+1)^{2}+N^{3}+3N^{2}+4N^{2}M+8 MN)\) FLOPs, where \(G\) stands for the number of alternating iterations, and \(\epsilon\) denotes the accuracy.