## 2 System Model
### Combining Scheduling and Beamforming  
We now describe the overall system model. In the queuing model presented above, a known service time is assumed. In the combined model, service time or the packet transmission time should be derived from the packet length and the channel throughput at the time of the transmission. In contrast to the standard queuing model, this implies that the transmission time is affected by the packets already scheduled for transmission and calls for a cross-layer approach to scheduling and beamforming.  
In order to keep the model simple, the following changes are made. In the combined model, the reference to an MS is omitted; instead, the channel gain vector is added to the packet (\(J_{i}=<a_{i},b_{i},e_{i},p_{i},d_{i},\mathbf{h}_{i}>\)); in other words \(\mathbf{w}_{k}\), \(\mathbf{x}_{k}\), and \(\mathbf{s}_{k}\) are referred to accordingly. This approach is similar to the original model with respect to the system objectives. The original service time of a packet \(b_{i}\) refers now to the packet length. The actual service is defined by the packet length and the available data rate for a specific subscriber at a specific time.  
The additional assumptions are:  
* Each packet is addressed to a specific MS (multicasting will be considered in an extension of this work).
* \(\mathbf{h}_{i}\) is known upon arrival of \(J_{i}\) to the queue.
* Channel coherence time is longer than the packet service time.
* The queuing model is \(G/D/n-/G/B\) where \(n=N\).  
As in standard queuing models, this model also has three possible events:  
* The packet arrives at the system.
* The beginning of packet transmission.
* The end of packet transmission.  
The system state machine is depicted in Figure 2. Packets that arrive at the system (Event E1) need to either wait in the queue or begin transmission (Event E2). At this stage, the scheduler can drop expired packets, select a queue for the packet (for a multiple queue model), and implement a queue insertion policy. The beginning of packet transmission (Event E2) is a result of both the existence of one or more eligible packets (either in the queue or arriving) and available resources at the transmitter. Based on resource availability, the scheduler selects the packet to be transmitted from the queue. The packet is dropped if its deadline has expired, and a new packet is selected. Then, the scheduler calculates the packet beamformer and transmits the new packets with the existing packets. The end of packet transmission (Event E3) frees resources. The transmitter keeps transmitting packets for which their transmission did not end and adds new packets for transmission (Event E3). The first case may require a precoder recalculation to achieve better performance after the resources are released.  
Communication systems always use a discrete set of modulation and coding schemes. Therefore, there is a minimal data rate that the system can transmit. For such a data rate, there is a minimal SINR requirement for proper decoding.  
In order to support variable matrices and vectors over time, we introduce the notation of \(\mathbf{H}_{t},\mathbf{Q}_{t},\mathbf{L}_{t},\mathbf{s}_{t}\), and \(\mathbf{x}_{t}\).  
As is common in high spectral efficiency coherent transmission, we assume that the channel is under-spread [49], i.e., fixed along the transmission of each packet.