focus on a multicast scenario, where the MBS and FBS’s multicast a data file to the $K$ users. The data file is divided into multiple packets with equal length and transmitted in sequence with the same modulation scheme. Once packet $l$ is successfully received and decoded at the user, it requests packet $(l+1)$ in the next time slot.

We adopt SC and SIC to transmit these packets [@Goldsmith06], as illustrated in Fig. \[fig:sic\]. In each time slot $t$, the compound signal has $L$ [*layers*]{} (or, levels), denoted as $D_1(t)$, $\cdots$, $D_L(t)$. Each level $D_i(t)$, $i=1, \cdots, L$, is a packet requested by some of the users in time slot $t$. A user that has successfully decoded $D_i(t)$, for all $i=1$, $\cdots$, $l-1$, is able to subtract these signals from the received compound signal and then decodes $D_l(t)$, while the signals from $D_{l+1}(t)$ to $D_L(t)$ are treated as noise.

### Problem Statement

For the SC and SIC scheme to work, the transmit powers for the levels should be carefully determined, such that there is a sufficiently high SNR for the levels to be decodable. It is also important to control the transmit powers of the BS’s to reduce interference and leverage 