## 3 Methods
### Proportional Fairness Based Joint Antenna Selection and User Scheduling  
The user scheduling scheme aiming at sum rate maximization has the shortcoming that the base station always tries to prioritize the allocation of resources to some users with the best channel conditions, thus ignoring the service levels for the remaining users. This kind of service is unfair to the whole system, since some users with poor channel conditions will never be selected to participate in communication. Proportional fair scheduling, on the other hand, schedules different users in each time slot according to user weights, and more users can be guaranteed to participate in the communication during the whole communication process, thus achieving the balance between communication efficiency and fairness. Therefore, we introduce a joint transmitting antenna selection and proportional fair user allocation scheme to schedule more users during the whole communication process. In user scheduling for communication systems, to ensure user fairness while improving system capacity, several fairness-oriented scheduling strategies are commonly employed in addition to PF scheduling. These include round-robin scheduling, max-min fairness scheduling, and weighted fair queuing, among others. Round-robin scheduling allocates the channel to users in a fixed cyclic order, regardless of their current channel conditions. It is simple to implement and offers good user fairness, but tends to ignore channel quality, resulting in lower system throughput. Max-min fairness scheduling prioritizes users with the lowest current transmission rate, maximizing their resource allocation. This approach is especially favorable to low-rate users and is suitable for scenarios with strict quality of service (QoS) requirements, though it may sacrifice overall system throughput. Weighted fair queuing allocates resources based on assigned weights reflecting user priorities or data rates, offering a flexible mechanism to meet differentiated QoS demands. Among these methods, the adopted PF scheduling achieves a balance between fairness and efficiency, ensuring acceptable fairness across users while still maintaining a high system sum rate. In order to fully reflect the differences between users, we first define a weight for each user, indicating the importance of the user. Assuming the rate of user \(i\) during the current time slot \(t\) is \(r_{i}(t)\) and the average rate for the whole period is \(\overline{r}_{i}(t)\). The weight \(\lambda_{i}(t)\) for user \(i\) is expressed as  
\[\lambda_{i}(t)=\frac{r_{i}(t)}{\overline{r}_{i}(t)}. \tag{7}\]  
The average rate of every single user must be renewed to adjust the user weights, and the update rule is shown as follows [27],  
\[\overline{r}_{i}(t)=\left\{ \begin{array}{ll}\left(1-\frac{1}{T_{c}}\right) \overline{r}_{i}(t-1)+\frac{1}{T_{c}}r_{i}(t-1),&i=k,\\ \left(1-\frac{1}{T_{c}}\right)\overline{r}_{i}(t-1),&i\
eq k,\end{array} \right. \tag{8}\]  
\(T_{c}\) denotes the update time window parameter or is understood as the number of time slots. It represents the average rate is calculated over a period of time. The update time window parameter is determined by actual scenario. When \(T_{c}\) is large, the calculation of a user's average rate needs to take into account the rate value of a long period of time in the past, which is more likely to reflect the long-term fairness. When \(T_{c}\) is small, it indicates that the calculation of a user's average rate only takes into account the rate value of more recent time slots, which is not universal. In addition, when a user is always scheduled to participate in communication, its average rate will keep increasing. According to the expression of user weight, with the increase in average rate, the user weight will decrease, which means that the user is less important.