## 6 User Preselection Algorithm  
In the user preselection step, \(U_{l,p}\) users in the \(l\)th multicast group are preselected as the user representatives, where \(U_{s}<U_{l,p}\leq|U_{l}|\). The user preselection process is shown in Figure 6. The symbols (circles, squares and triangles) represent the users in different the multicast group. The red circles represent preselected users and scheduling users. The selection of preselected users can affect the performance of the joint user scheduling and hybrid beamforming design algorithm, which depends on the preselected algorithm. In the beamforming design of the multigroup multicast communication system, the beamforming vector is oriented to multiple users in the multicast group. Therefore, in the process of user preselection, to maximize the receive gain of each user, i.e., \(\left|\mathbf{h}_{\text{z}}^{H}\mathbf{f}_{\text{f}}\right|\), the beamforming vector \(\mathbf{f}_{\text{i}}\) of the \(l\)th multicast group should be collinear with the users' channel vectors in the multicast group as far as possible. Therefore, the channel vectors of the preselected users in the same multicast group should also be strongly linearly correlated. Meanwhile, the interference among multicast groups should also be taken into account in the user preselection stage. To reduce the interference among multicast groups, the channel vectors of preselected users among different multicast groups should be orthogonal. Similarly, the beamforming vector of the multicast group should be orthogonal to the users' channel vectors in other multicast groups. In conclusion, we adopt a low complexity user preselection algorithm, which can preselect orthogonal users among the different multicast groups and linearly correlated users in the same multicast group. The proposed algorithm is divided into two steps, as follows:  
* The first step: according to the orthogonal criterion [11], a user is preselected for each multicast group in turn, which is reflected in line three and line four of **Step 1** in Algorithm 2;
* The second step: based on the users of each multicast group selected in the first step, linearly correlated users are selected for each multicast group, which is reflected in line two and line three of **Step 2** in Algorithm 2. The specific preselection process of the two steps is as follows:  
Figure 6: Design process of joint user scheduling and beamforming with the user preselection. ```
Step 1: Orthogonal user preselection algorithm among the different multicast groups. Input: CSI. 1. Let \(\text{Id}_{(1)}=Index\big{\{}\max\big{(}\big{\|}\mathbf{h}_{k,l}\big{\|}\big{)},\forall k,l\big{\}}\), select the user with the largest channel gain, \(\text{Id}_{(1)}\) is the index of the user. 2. while\(l\leq L,l\
eq\text{Id}_{(1)}\)
3. For all users in the \(l\)th multicast group, calculate \(Z_{k,l}=\mathbf{h}_{k,l}\bigg{(}I_{N}-\sum_{j=\text{Id}_{(1)}}^{\text{Id}_{(1)}} \frac{\mathbf{h}_{(1)}^{H}\mathbf{h}_{(1)}}{\big{\|}\mathbf{h}_{(1)}\big{\|}_{2}}\bigg{)}\) in turn. 4. \(\text{Id}_{(l)}=Index\big{\{}\max(\big{\|}Z_{k,l}\big{\|}),\forall k\in l\big{\}}\), the user with index \(\text{Id}_{(l)}\) is the preselected orthogonal user of the \(l\)th multicast group. 5. end Output: Orthogonal users among the different multicast groups. Step 2: User preselection algorithm in each multicast group. Input: Orthogonal users among the different multicast groups, CSI. 1. For \(l=1:L\)
2. For other users in the \(l\)th multicast group except the orthogonal user preselected in step 1, calculate the linear correlation value between each user and the preselected orthogonal user of the multicast group in turn, i.e., \(C_{k,l}=\mathbf{h}_{k,l}^{H}\frac{\mathbf{h}_{(1)}\mathbf{h}_{(1)}^{H}\mathbf{h}_{(1)}^{H}}{ \big{\|}\mathbf{h}_{(1)}\big{\|}_{2}}\). 3. Based on the \(C_{k,l}\) of users in each multicast group, select top \(\Big{(}U_{l,p}-1\Big{)}\) largest users, plus the orthogonal users in step 1 as the preselected users of each multicast group. 4. end Output: Preselected users for each multicast group.