We study the achievable capacity regions of full-duplex links in the single- and multi-channel cases (in the latter case, the channels are assumed to be orthogonal -- e.g., OFDM). We present analytical results that characterize the uplink and downlink capacity region and efficient algorithms for computing rate pairs at the region's boundary. We also provide near-optimal and heuristic algorithms that "convexify" the capacity region when it is not convex. The convexified region corresponds to a combination of a few full-duplex rates (i.e., to time sharing between different operation modes). The algorithms can be used for theoretical characterization of the capacity region as well as for resource (time, power, and channel) allocation with the objective of maximizing the sum of the rates when one of them (uplink or downlink) must be guaranteed (e.g., due to QoS considerations). We numerically illustrate the capacity regions and the rate gains (compared to time division duplex) for various channel and cancellation scenarios. The analytical results provide insights into the properties of the full-duplex capacity region and are essential for future development of scheduling, channel allocation, and power control algorithms.
Given that full duplex (FD) and MIMO both employ multiple antenna resources, an important question that arises is how to make the choice between MIMO and FD? We show that optimal performance requires a combination of both to be used. Hence, we present the design and implementation of MIDU, the first MIMO full duplex system for wireless networks. MIDU employs antenna cancellation with symmetric placement of transmit and receive antennas as its primary RF cancellation technique. We show that MIDU's design provides large amounts of self-interference cancellation with several key advantages: (i) It allows for two stages of additive antenna cancellation in tandem, to yield as high as 45 dB self-interference suppression; (ii) It can potentially eliminate the need for other forms of analog cancellation, thereby avoiding the need for variable attenuator and delays; (iii) It easily scales to MIMO systems, therefore enabling the coexistence of MIMO and full duplex. We implemented MIDU on the WARP FPGA platform, and evaluated its performance against half duplex (HD)-MIMO. Our results reveal that, with the same number of RF chains, MIDU can potentially double the throughput achieved by half duplex MIMO in a single link; and provide median gains of at least 20 even in single cell scenarios, where full duplex encounters inter-client interference. Based on key insights from our results, we also highlight how to efficiently enable scheduling for a MIDU node.  The rate regions of half- and full-duplex links using the orthogonal frequency division multiplexing (OFDM) technique are analyzed after taking into account the non-ideality of practical transceivers. The non-ideality is quantified by a measure named error vector magnitude (EVM) level in practical systems. It is approximated as a Gaussian noise added to the original signal by the transmitter. The assumed full-duplex transceiver suppresses the self-interference via a three-stage process. The stages are antenna isolation, RF cancellation, and digital baseband cancellation. The self-interference caused by the EVM noise and the original signal are suppressed differently in the three-stage process. The optimal power allocation algorithms are developed to maximize the rates of the half- and full-duplex OFDM links under two different strategies. The first one aims at a low complexity design, where each node uniformly allocates the power over sub-carriers, whereas the second one adaptively allocates the power over sub-carriers to achieve the largest rate. Using the developed algorithms, the achieved rate regions under frequency-flat and frequency-selective environments are compared.