## 3 Proposed Algorithm
### The Design of Initial Value of Analog Precoding Matrix
If the 0 norm of each column of \(\widehat{\mathrm{F}}\) is not less than 1, then we set it as the initial value \(\mathrm{F}_{0}\); otherwise, if all elements in column \(\mathrm{L}\) of \(\widehat{\mathrm{F}}\) are zero, then search for non-zero elements in all the columns in \(\widehat{\mathrm{F}}\) whose 0 norm is greater than 1 and assign this value to the element in the \(\mathrm{L}\)-th column in the same row, set it to zero after assignment, and use the updated \(\widehat{\mathrm{F}}\) as the initial value of \(\mathrm{F}_{0}\), where \(1\leq\mathrm{L}\leq\mathrm{N}_{\mathrm{rf}}^{\mathrm{t}}\). In this step, each RF chain is assigned at least one antenna that matches the channel conditions as much as possible, which not only increases the effective channel gain as much as possible but also guarantees the utilization rate of the RF chains; then, in step 17 to step 20, the phase of the non-zero elements in the i-th row of \(\widehat{\mathrm{F}}\) is adjusted to the phase of the sum of the elements in the i-th column of the channel matrix \(\mathrm{H}\) and updated to \(\mathrm{F}_{0}\) after normalization, where \(1\leq i\leq\mathrm{N}_{\mathrm{t}}\). The purpose of this step is to make the signal match the channel conditions better and obtain higher effective channel gain by phase modulating the signal. This algorithm is a heuristic algorithm, which is a low-complexity method compa to the exhaustive search. It is worth noting that the input \(\widehat{\mathrm{F}}=\mathrm{V}_{\mathrm{R}}\mathrm{A}\). In order to obtain a better initial value \(\mathrm{F}_{0}\), when running Algorithm 2, we run multiple times and use a different matrix \(\mathrm{A}\), and choose the one that gets the largest value of \(\left\|\mathrm{HF}_{0}\right\|_{\mathrm{F}}^{2}\) as the value of \(\mathrm{A}\). Afterwards, we found that the value of \(\mathrm{A}\) had little influence on the result after Algorithm 1. ```
1:\(\widehat{\mathrm{F}},\mathrm{H}\)
2:\(\mathrm{F}_{0}\)
3:\(\mathrm{F}_{0_{i_{0}}}=\widehat{\mathrm{F}}_{i_{0}}\)
4:while exist \(\left\|\mathrm{F}_{0_{i}}\right\|_{0}=0,1\leq\mathrm{j}\leq\mathrm{N}_{\mathrm{ rf}}^{\mathrm{t}}\)do
5:\(\mathrm{m}_{0}=\emptyset\)
6:for\(\mathrm{j}=1,2,\ldots,\mathrm{N}_{\mathrm{rf}}^{\mathrm{t}}\)do
7:if\(\left\|\mathrm{F}_{0_{i}}\right\|_{0}=0\)then
8:\(\mathrm{j}_{0}=\mathrm{j}\)
9:else
10:if\(\left\|\mathrm{F}_{0_{i}}\right\|_{0}\geq 1\)then
11:\(\mathrm{m}_{0}=\{\mathrm{j}\}\cup\mathrm{m}_{0}\)
12:\(\{\mathrm{i}_{0},\mathrm{k}_{0}\}=\min_{1\leq i\leq\mathrm{N}_{\mathrm{t}}, \mathrm{k}\in\mathrm{m}_{0}}\ \mathrm{F}_{0_{i,k}}\)
13:\(\mathrm{F}_{0_{i_{0}}\leftarrow\mathrm{j}}=\mathrm{F}_{0_{i_{0}}\leftarrow \mathrm{j}}\), \(\mathrm{F}_{0_{i_{0}}\leftarrow\mathrm{j}}=0\)
14:for\(\mathrm{i}=1,2,\ldots,\mathrm{N}_{\mathrm{t}}\)do
15:\(\mathrm{j}_{0}=\mathrm{find}\ \left(\left|\mathrm{F}_{0_{i_{0}}}\right|\
eq 0\right),1 \leq\mathrm{j}\leq\mathrm{N}_{\mathrm{rf}}^{\mathrm{t}}\)
16:\(\mathrm{angle}\ \left(\mathrm{F}_{0_{i_{0}}}\right)=\mathrm{angle}\ \left(\sum_{n=1}^{\mathrm{n}=\mathrm{N}_{\mathrm{r}}}\mathrm{H}_{n, \mathrm{i}}\right)\)
17:\(\mathrm{F}_{0_{i_{0}}}=\frac{\mathrm{F}_{0_{i_{0}}}}{\left|\mathrm{F}_{0_{i_{0}} }\right|}\)
18:return\(\mathrm{F}_{0}\)
```  
**Algorithm 2** Iterative initial value of analog precoding matrix. Finally, we summarize the whole algorithm flow of the proposed IAAM algorithm in Figure 2.