A General Algorithm for Interference Alignment and Cancellation in Wireless Networks Li Erran Li , Richard Alimi , Dawei Shen , Harish Viswanathan and Y. Richard Yang Bell Labs MIT Yale University Abstract—Physical layer techniques have come a long way and can achieve close to Shannon capacity for single point- to-point transmissions. It is apparent that, to further improve network capacity significantly, we have to resort to concurrent transmissions. Multiple concurrent transmission techniques (e.g., zero forcing, interference alignment and distributed MIMO) are proposed in which multiple senders jointly encode signals to multiple receivers so that interference is aligned or canceled and each receiver is able to decode its desired information. In this paper, we formulate the interference alignment and cancellation problem in multi-hop mesh networks. We show that the problem is NP-hard in general. We then propose a convex programming based algorithm to identify interference alignment and cancella- tion opportunities. Our algorithm effectively utilizes knowledge of both local network topology and overheard packets at the sender side as well as the receiver side. We implement our system using GNU Radio to evaluate key practical implementation issues. I. I NTRODUCTION Interference in traditional wireless networks has been con- sidered harmful, as supported by both theoretical analysis (e.g., [6]) and experimental measurements (e.g., [8], [9]). The detrimental effects of interference are particularly severe as a traditional wireless network becomes larger. However, as point-to-point link throughput approaches Shannon capacity, it becomes increasingly important to allow simultaneous transmissions in order to substantially improve wireless network capacity. As a result, techniques for achiev- ing simultaneous transmissions and receptions have been a research topic of intense interest. In the communications community (e.g., [1], [12]), novel techniques such as zero forcing [12] and interference alignment [1] are proposed. In these techniques, multiple senders jointly encode signals to multiple receivers such that interfering signals will cancel out, and each receiver is able to decode its desired information. In this paper, we refer to all of these cooperative sender-side techniques as cooperative interference alignment techniques, or interference alignment for short. Receivers can also utilize overheard packets or even exchange received packets through wireline links to cancel interference in order to extract the desired packets. We refer to the receiver-side technique as interference cancellation. Previous investigations on interference alignment and can- cellation either target specific opportunities (e.g., [7], [4]) and thus miss beneficial opportunities or are mainly theoretical by focusing on asymptotic behaviors. Specifically, in [10], Niesen, Gupta and Shah show that, in arbitrary extended networks, optimal capacity scaling cannot be achieved using the traditional point-to-point link abstraction for α 3, where signal decays with distance to the power of α; cooperative schemes are required to achieve optimal scaling. In [11], Ozgur, Leveque and Tse propose a hierarchical cooperative transmission scheme. They show that, in random extended networks where the area is fixed and the density of nodes increasing, the total capacity of the network scales linearly with the number of nodes n; in random extended networks where the density of nodes is fixed and the area increasing linearly with n, the capacity scales as n 2 α 2 for 2 α 3 and n for α 3. In this paper, we seek to design a general algorithm that can identify the best interference alignment and cancellation opportunities in practical settings where a node has only local information. In particular, the local information includes only local topology (one or two hops), and the set of packets that each sender or receiver has. We make the following contributions: We identify diverse, novel scenarios for using interference alignment and cancellation to improve network throughput. We formulate the general problem of optimal interference alignment and study its computational complexity. We show that it is computational challenging (NP-hard). We present a promising, distributed algorithm for identify- ing a wide range of opportunities for interference alignment and cancellation. The algorithm makes elegant use of chan- nel state, degree of freedom, and opportunistically received packets at both the sender side and the receiver side. To further progress towards making interference alignment practical, we implement our algorithm in GNU radio. We identify two key issues. The first is time synchronization. It is a common assumption in previous studies (e.g., [1], [12], [11]) that transmissions be synchronized. We investigate how difficult it is to meet synchronization requirements in a distributed setting. The second issue is channel estimation. Channel status can be particularly helpful in interference alignment. Can channel estimation be achieved for multiple packet durations? Specifically, for physical-layer implementation of interfer- ence alignment, we make the following contributions: Leveraging OFDM, we do not need precise time synchro- nization as long as multiple transmissions are synchronized within an OFDM cyclic prefix. Using implementation in GNU Radio, we show that we can achieve this if the largest propagation delay difference from senders to any receiver