## 3 Methods
### Proportional Fairness Based Joint Antenna Selection and User Scheduling
On the other hand, if a user is not always scheduled, its average rate will keep decreasing and the corresponding weight will increase, which improves the importance of the user and increases the possibility that he is scheduled. Therefore, by adaptively adjusting the user weight, more users can be scheduled to participate in communication. Due to the introduction of user weight parameters, the final objective function of joint antenna selection and user allocation needs to be adjusted accordingly. By adapting the optimization problem to weighted sum rate maximization, we have  
\[\underset{\mathcal{A},\mathcal{T}}{\max}\hat{R}_{sum}(\mathcal{A},\mathcal{S },t)=\underset{\mathcal{A},\mathcal{T}}{\max}\sum_{i=1}^{K}\lambda_{i}(t)r_{i }(t), \tag{9}\]  
where \(\lambda_{i}(t)\) denotes the weight of the \(i\)th user in the current time slot \(t\). \(r_{i}(t)\) denotes the rate in time slot \(t\). \(\mathcal{A}\) and \(\mathcal{S}\) are the group of selected antennas and the group of scheduled users, respectively. The pseudocode of the joint antenna selection and proportional fairness user allocation is presented in Algorithm 3. All the user weights are initialized to 1. The Algorithm schedules users first. It utilizes the water filling method to calculate the unweighted rate \(r_{i}(t)\) of all users in the current time slot \(t\) with all transmitting antennas participating in communication. The weighted rate of the \(i\)th user is given by \(\lambda_{i}(t)r_{i}(t)\). Then, \(K\) users with the largest weighted rate are scheduled to constitute the set \(\mathcal{S}\) during the current time slot. Fixing the set of scheduled users \(\mathcal{S}\) for time slot \(t\), the algorithm utilizes successive eliminating method as Algorithm 1 for antenna selection. The antenna has the smallestcontribution to the system throughput is eliminated in each iteration until reaching the specified number of antennas, with a total of \(N_{t}-N_{RF}\) iterations. Once user allocation and antenna selection have been completed, the weights \(\lambda_{i}(t)\) are updated for next time slot. Lastly, the whole process above is repeated for \(T_{c}\) times because user allocation and antenna selection are carried out in each time slot. ```
Input:  Channel matrix \(\mathbf{H}\);  Number of users to be selected \(K\);  Number of RF chains \(N_{RF}\);  Transmit antenna \(N_{t}\);
1: Initialization: \(X\leftarrow\{1,2,\ldots,U\}\) ; \(\mathcal{S}\leftarrow\varnothing\) ; \(T_{c}=20\); \(t=1\);
2: User scheduling:  obtain rate per user \(r_{i}(t)\) by water filling; \(\mathcal{S}\gets K\) users with the largest weighted rate \(\lambda_{i}(t)r_{i}(t)\);
3: Antenna selection:  successive elimination method as in Algorithm 1 to obtain the set of selected  antennas \(\mathcal{A}\);
4: Weight updating: \(t=t+1\);  Update \(\lambda_{i}(t)\) for next time slot according to (7) and (8);
5: Iteration:  repeat steps 2-4 until \(t>T_{c}\); Output:  the set of selected antennas \(\mathcal{A}\) of each time slot;  the set of scheduled users \(\mathcal{S}\) of each time slot
```  
**Algorithm 3**JS-PFUS  
It is worth noting that this paper considers a static channel scenario, where the channel is assumed to remain constant throughout the entire communication process. It is also assumed that the base station has already obtained full knowledge of all users' channels through channel estimation, and utilizes the estimated channel information to perform antenna selection and user scheduling. In practical scenarios, however, communication channels are dynamically time-varying due to factors such as user mobility and environmental changes. As user mobility increases, the time-variability of the channel becomes more pronounced, leading to a shorter channel coherence time. In high-mobility environments, the quasi-static channel model no longer holds, resulting in increased channel estimation errors.