## 3 New Hybrid Opportunistic Scheduling  
In the full-duplex system with one multi-antenna BS, an opportunistic scheduling method was introduced in [26] by employing uplink ZF beamforming at the BS and downlink random beamforming at the BS. In the scheduling procedure, downlink MSs were opportunistically selected in the sense of minimizing the total interference level including both downlink interference and MS-to-MS interference, whereas uplink MSs were arbitrarily chosen. For this reason, the method in [26] requires plenty of MSs so that downlink MSs who have a sufficiently small amount of the scheduling metric (shown later in this section) are finally selected while achieving \(M\) DoF for downlink. That is, a stringent user scaling condition is necessary under the method in [26] due to the scheduling role imbalance between downlink MSs and uplink MSs. In this section, we propose another type of hybrid opportunistic scheduling such that both uplink and downlink MSs are opportunistically selected, thereby resulting in the reduced number of MSs required to achieve the full DoF. The overall procedure of our scheduling method is described according to the following steps:  
1. Downlink Random Beamforming at the BS: The BS generates \(M\) orthonormal random vectors \(\left\{\mathbf{v}_{i}\in\mathbb{C}^{M\times 1}\right\}_{i=1}^{M}\), where \(\left\{\mathbf{v}_{i}\right\}_{i=1}^{M}\) are generated according to the isotropic distribution over the \(M\)-dimensional unit sphere. Then, the BS broadcasts its generated beamforming vectors \(\mathbf{V}=\left[\mathbf{v}_{1},\cdots,\mathbf{v}_{M}\right]\) to all MSs over the system. 2. Downlink Scheduling Metric Calculation and Feedback: We first focus on the downlink user scheduling process. In our proposed method, we define the downlink scheduling metric of each MS \(i\in\left\{1,\cdots,N\right\}\) as the downlink interference. Let us suppose that MS \(i\) is served by downlink beamforming vector \(\mathbf{v}_{m}\). Then, the \(m\)th downlink scheduling metric of MS \(i\), denoted by \(L_{i,m}\), is expressed as \[L_{i,m}=\sum_{k=1,k\
eq m}^{M}\left(\beta_{i}^{(d)}\right)^{2}\left|\mathbf{h }_{i}^{(d)}\mathbf{v}_{k}\right|^{2}.\] (4) Here, MS \(i\) calculates the set of its downlink scheduling metrics \(\left\{L_{i,1},\cdots,L_{i,M}\right\}\) and then feeds those values as well as its own user ID back to the BS. Downlink User Selection: Upon receiving the sets of the downlink scheduling metrics from the all MSs, the BS selects \[\pi_{m}=\operatorname*{arg\,min}_{i\in\{1,\cdots,N\}\setminus\left(\{\pi_{l}\}_{l= 1}^{n-1}\right)}L_{i,m},\] (5) which eventually results in the set of selected downlink MSs \(\mathcal{S}^{(d)}=\{\pi_{1},\cdots,\pi_{M}\}\). Then, the BS broadcasts a short signaling message representing the set of selected downlink MSs. The BS is ready for transmitting its downlink packets to MS \(\pi_{m}\) using the beamforimg vector \(\mathbf{v}_{m}\), where \(m\in\{1,\cdots,M\}\). 4. Uplink User Scheduling Metric Calculation and Feedback: We now turn to the uplink user scheduling process by utilizing the channel reciprocity of our TDD system. The first step of uplink user scheduling is to define the uplink scheduling metric of each MS \(j\in\{1,\cdots,N\}\setminus\mathcal{S}^{(d)}\) as the MS-to-MS interference (i.e., the sum of the interference leakage power from itself to all MSs in \(\mathcal{S}^{(d)}\)). Then, the uplink scheduling metric of MS \(j\), denoted by \(\gamma_{j}\), is represented as follows: \[\gamma_{j}=\sum_{i\in\mathcal{S}^{(d)}}\left(\beta_{ij}^{(M)}\right)^{2}\left| h_{ij}\right|^{2}.\] (6) From both the feedback signals from the selected downlink MSs and the short signaling message from the BS, each uplink MS is capable of computing the metric in Equation (6). Thus, MS \(j\in\{1,\cdots,N\}\setminus\mathcal{S}^{(d)}\) calculates its uplink scheduling metric \(\gamma_{j}\) and feeds its value as well as its own user ID back to the BS. 5.