| Algorithm 2: User preselection algorithm. |
|
Step 1: Orthogonal user preselection algorithm among the different multicast groups. Input: CSI. 1. Let , select the user with the largest channel gain, is the index of the user. 2. while 3. For all users in the multicast group, calculate in turn. 4. , the user with index is the preselected orthogonal user of the 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 2. For other users in the 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., . 3. Based on the of users in each multicast group, select top largest users, plus the orthogonal users in step 1 as the preselected users of each multicast group. 4. end 5. end Output: Preselected users for each multicast group. |