Abstract:
In a multiple-input multiple-output (MIMO) wireless system supporting Coordinated Multi-Point (CoMP) transmission and having a first base station, a second base station, and a user equipment, a communications method implemented in the first base station is disclosed. In an aspect, the communications method includes exchanging, with the second base station through local information exchange, first information about a first channel between the first base station and the user equipment and second information about a second channel between the second base station and the user equipment, and computing at least one of a precoding matrix, a receiver filter, and a projection matrix, wherein the user equipment estimates the first information and the second information, and shares the first information and the second information with the first base station. Other apparatuses and some methods for wireless communications also are disclosed.

Description:
[0001]    This application claims the benefit of U.S. Provisional Application No. 61/540,184, entitled, “Exploiting Interference Locality in Coordinated Multi-Point Transmission Systems,” filed Sep. 28, 2011, the contents of which are incorporated herein by reference. 
     
    
     BACKGROUND OF THE INVENTION 
       [0002]    The present invention relates to Coordinated Multi-Point (CoMP) transmission in wireless communications and more particularly to interference suppression for CoMP transmission. 
         [0003]    CoMP transmission is an emerging technology that can suppress interference and improve the capacity of multi-cell wireless networks. However, existing CoMP techniques either require sharing of data and channel-state information (CSI) for all links in the network, or have limited capability of interference suppression. 
         [0004]    By allowing information sharing and cooperation between transmitters, CoMP transmission can drastically reduce inter-cell interference, thereby improving the capacity of an entire network. Its advantages have been validated both theoretically and experimentally. 
         [0005]    CoMP transmission requires the transmitters to share CSI. However, CSI-sharing only has a limited advantage in suppressing interference. By augmenting data sharing, more interference between neighboring links can be removed. 
         [0006]    For example, when using zero-forcing (ZF) precoding, multiple links are combined into one multiple-input multiple-output (MIMO) transmission via C SI/data sharing of transmitters, and each link can transmit as if there is no mutual interference. However, such a scheme may need to group links into clusters Links near the cluster edge still suffer from interference with neighboring clusters. To reduce such an edge effect and enable concurrent transmission of many links, links of the entire network may need to be grouped and cooperate with each other. This situation may be unrealistic for large networks, due to limited capacity of the backhaul network used for information sharing among the links. 
         [0007]    The following references are related to interference suppression in CoMP transmission: 
         [0008]    [1] Sawahashi, M. and Kishiyama, Y. and Morimoto, A. and Nishikawa, D. and Tanno, M., “Coordinated Multipoint Transmission/Reception Techniques for LTE-Advanced [Coordinated and Distributed MIMO],” IEEE Wireless Communications, vol. 17, no. 3, 2010. 
         [0009]    [2] V. Jungnickel, A. Forck, S. Jaeckel, F. Bauermeister, S. Schiffermueller, S. Schubert, S. Wahls, L. Thiele, T. Haustein, W. Kreher, J. Mueller, H. Droste, and G. Kadel, “Field Trials Using Coordinated Multi-Point Transmission in the Downlink,” in IEEE PIMRC Workshops, 2010. 
         [0010]    [3] S. Gollakota, S. D. Perli, and D. Katabi, “Interference Alignment and Cancellation,” in Proc. of ACM SIGCOMM, 2009. 
         [0011]    [4] V. Cadambe and S. Jafar, “Interference Alignment and Degrees of Freedom of the K-User Interference Channel,” IEEE Transactions on Information Theory, vol. 54, no. 8, 2008. 
         [0012]    [5] K. S. Gomadam, V. R. Cadambe, and S. A. Jafar, “Approaching the Capacity of Wireless Networks through Distributed Interference Alignment,” CoRR, vol. abs/0803.3816, 2008. 
         [0013]    [6] S. Gollakota, S. D. Perli, and D. Katabi, “Interference Alignment and Cancellation,” in Proc. of ACM SIGCOMM, 2009. 
         [0014]    [7] K. Balachandran, J. Kang, K. Karakayali, and K. Rege, “NICE: A Network Interference Cancellation Engine for Opportunistic Uplink Cooperation in Wireless Networks,” IEEE Transactions on Wireless Communications, vol. 10, no. 2, 2011. 
         [0015]    [8] M. Sadek, A. Tarighat, and A. Sayed, “A leakage-based precoding scheme for downlink multi-user mimo channels,” Wireless Communications, IEEE Transactions on, vol. 6, no. 5, 2007. 
         [0016]    [9] A. Khattab, J. Camp, C. Hunter, P. Murphy, A. Sabharwal, and E. W. Knightly, “WARP: a Flexible Platform for Clean-Slate Wireless Medium Access Protocol Design,” SIGMOBILE Mob. Comput. Commun. Rev., vol. 12, 2008. 
         [0017]    [10] D. Gesbert, S. Hanly, H. Huang, S. Shamai Shitz, O. Simeone, and W. Yu, “Multi-Cell MIMO Cooperative Networks: A New Look at Interference,” IEEE Journal on Selected Areas in Communications (JSAC), vol. 28, no. 9, 2010. 
         [0018]    [11] M. Guillaud and D. Gesbert, “Interference Alignment In The Partially Connected K-User MIMO Interference Channel,” in Proc. of European Signal Processing Conference (EUSIPCO), 2011. 
         [0019]    [12] K. Jamieson, “The SoftPHY Abstraction: from Packets to Symbols in Wireless Network Design,” Ph.D. Thesis, MIT, 2008. 
         [0020]    CoMP transmission may take many forms, depending on the scale of cooperation (e.g., intra-cell or inter-cell), the information to be shared (e.g., CSI sharing or both CSI and data sharing), etc. [1]. As mentioned above, the existing CoMP schemes may need to cluster links, and links near the cluster edge may severely interfere with other links. To increase the degrees of freedom in the network (e.g., the number of concurrent transmissions), such schemes may need to increase the cluster size accordingly, which is impractical due to the formidable overhead in delivering all the shared data and CSI. 
         [0021]    MIMO stream control [3] is an alternative way of improving the degrees of freedom. Given the channel matrix between interferers/transmitters and the receiver, stream control is able to suppress (N−1) interferers and receive 1 useful stream of data, assuming there are N antennas. However, stream control is not scalable because its achievable degrees of freedom strongly depend on the number of antennas, which is limited in practice. 
         [0022]    In [8], a distributed algorithm that suppresses the leakage interference to neighboring links by maximizing the signal-to-leakage-and-noise ratio (SLNR) is proposed. We will show that the distributed algorithm (hereafter referred to as max SLNR) may be a special case of distributed interference alignment, and explain the factors behind its low performance compared with other schemes. 
         [0023]    Balachandran et al. [7] proposed a network cancellation algorithm for the uplink of CoMP systems. The basic idea is to allow links that can decode their frames to send the decoded packets to other links, which then cancel such known interference using successive interference cancellation (SIC). In distributed interference alignment and cancellation (DIAC), the localized uplink cancellation works in a similar way, but is integrated with interference alignment that substantially improves the interference suppression capability. In addition, we design a distributed, DPC (dirty-paper-coding)-based algorithm that is applicable to the downlink of multi-cell networks. 
         [0024]    Interference alignment [4] may be a promising mechanism for improving the network degree of freedom. In theory, it can achieve MK/2 total degrees of freedom when there are K links in the network each with M×M MIMO (assuming half-duplex radios), i.e., half of the links can transmit concurrently. However, this ideal bound is achievable when the channel is highly dynamic, e.g., when the channel state changes over each symbol, which conversely renders channel estimation infeasible. In practice, interference alignment can be realized by designing the precoding matrix at the transmitter and the projection matrix at the receiver. The matrix design is equivalent to an over-constrained system of equations, and typically a subset of the constraints can be satisfied. Equivalently, a limited number of interferers can be suppressed. In DIAC, we adopt a similar approach of matrix design, but integrate it with interference cancellation, thus further improving the total degrees of freedom in the network. 
         [0025]    In [6], Gollakota et al. implemented a preliminary version of interference alignment, and integrated interference alignment with SIC on the uplink to improve the number of concurrent transmissions. However, [6] is applicable for a single collision domain (e.g., where all links interfere with each other), and is not scalable in large wireless networks. In fact, the scheme in [6] can tolerate at most 2M concurrent uplink transmissions when each node has M antennas (and even fewer for the downlink), i.e., the degrees of freedom is eventually limited by the number of antennas on each node. In DIAC, by leveraging the locality of interference, it is possible to allow all links in a network to transmit concurrently even with a limited number of antennas. 
         [0026]    We propose distributed interference alignment and cancellation (DIAC) to overcome these limitations. DIAC builds on a key intuition of interference locality—since each link interferes with a limited number of neighboring links, it is sufficient to coordinate with those strong interferences and ignore others, in order to limit the overhead in CoMP. DIAC realizes the localized coordination by integrating interference cancellation and distributed interference alignment, and can be applied to both the uplink and downlink of multi-cell wireless networks. To validate DIAC, we use both model-driven simulation and trace-based simulation where the traces are collected by implementing a MIMO-OFDM channel estimator on a software radio platform. Our experiments show that DIAC can substantially improve the degrees of freedom in multi-cell wireless networks. 
       BRIEF SUMMARY OF THE INVENTION 
       [0027]    An objective of the present invention is to cancel or remove interference in a multiple-input multiple-output (MIMO) wireless system supporting Coordinated Multi-Point (CoMP) transmission. 
         [0028]    Another objective of the present invention is to achieve low overhead and low cost. 
         [0029]    Still another objective of the present invention is to achieve high throughput in downlink and uplink communications. 
         [0030]    An aspect of the present invention includes, in a multiple-input multiple-output (MIMO) wireless system supporting Coordinated Multi-Point (CoMP) transmission and having a first base station, a second base station, and a user equipment, a communications method implemented in the first base station. The communications method includes exchanging, with the second base station through local information exchange, first information about a first channel between the first base station and the user equipment and second information about a second channel between the second base station and the user equipment, and computing at least one of a precoding matrix, a receiver filter, and a projection matrix, wherein the user equipment estimates the first information and the second information, and shares the first information and the second information with the first base station. 
         [0031]    Another aspect of the present invention includes, in a multiple-input multiple-output (MIMO) wireless system supporting Coordinated Multi-Point (CoMP) transmission and having a first base station, a second base station, a first user equipment, and a second user equipment, a communications method implemented in the first user equipment. The communications method includes exchanging, with the second user equipment through local information exchange, first information about a first channel between the first base station and the first user equipment and second information about a second channel between the second base station and the first user equipment, and computing at least one of a precoding matrix, a receiver filter, and a projection matrix, wherein the first user equipment estimates the first information and the second information, and shares the first information and the second information with the first base station and the second base station. 
         [0032]    Still another aspect of the present invention includes a multiple-input multiple-output (MIMO) wireless system supporting Coordinated Multi-Point (CoMP) transmission. The MIMO wireless system includes a first base station, a second base station, and a user equipment, wherein the first base station exchanges, with the second base station through local information exchange, first information about a first channel between the first base station and the user equipment and second information about a second channel between the second base station and the user equipment, wherein the first base station computes at least one of a precoding matrix, a receiver filter, and a projection matrix, and wherein the user equipment estimates the first information and the second information, and shares the first information and the second information with the first base station. 
         [0033]    Still another aspect of the present invention includes a multiple-input multiple-output (MIMO) wireless system supporting Coordinated Multi-Point (CoMP) transmission. The MIMO wireless system includes a first base station, a second base station, a first user equipment, and a second user equipment, wherein the first user equipment exchanges, with the second user equipment through local information exchange, first information about a first channel between the first base station and the first user equipment and second information about a second channel between the second base station and the first user equipment, wherein the first user equipment computes at least one of a precoding matrix, a receiver filter, and a projection matrix, and wherein the first user equipment estimates the first information and the second information, and shares the first information and the second information with the first base station and the second base station. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0034]      FIG. 1  depicts an example of localized downlink cancellation in DIAC. 
           [0035]      FIG. 2  depicts a packet format for channel estimation. 
           [0036]      FIG. 3  depicts a packet detection and channel estimation procedure. 
           [0037]      FIG. 4  depicts testbed node locations. 
           [0038]      FIG. 5  depicts model based simulation results. 
           [0039]      FIG. 6  depicts trace based simulation results (a) with 4×2 MIMO and (b) with 2×2 MIMO. 
           [0040]      FIG. 7  depicts an effect of locality. 
           [0041]      FIG. 8  depicts an effect of the number of antennas. 
           [0042]      FIG. 9  depicts node locations in a random topology. 
           [0043]      FIG. 10  depicts SNR distribution in a random topology. 
           [0044]      FIG. 11  depicts an example of algorithm for downlink (algorithm 1). 
           [0045]      FIG. 12  depicts another example of algorithm for uplink (algorithm 2). 
       
    
    
     DETAILED DESCRIPTION 
       [0046]    We propose distributed interference alignment and cancellation (DIAC), which overcomes the limitations by leveraging interference locality. Due to limited interference range of transmitters, each link interferes with a limited number of neighboring links. Therefore, it is sufficient to allow each link to coordinate with the neighboring links, which dominant interference comes from. However, such localized coordination cannot be realized by existing interference suppression algorithms such as ZF precoding, because a link may need to coordinate with two sets of neighbors that are unaware of each other (and thus the precoding vectors conflict). DIAC meets these challenges by a joint design of localized interference cancellation and distributed interference alignment. In DIAC, each link shares data and CSI with, and cancels the interferences from, neighboring links (i.e., a small set of coordination points). On the downlink, it pre-cancels interferences using a localized version of DPC, which may only need the composite DPC-coded information from neighbors. On the uplink, the base station receives decoded data from neighbors, reconstructs the interfering signals, and cancels them using SIC. 
         [0047]    Such downlink/uplink cancellation is performed within the signals&#39; constellation. On the antenna domain, DIAC further applies distributed interference alignment (DIA) that attempts to align interferences to a dimension orthogonal to the useful signals. This is realized by allowing links to share CSI with neighbors, and then iteratively design the precoding/projection matrix at the transmitter/receiver side, so as to minimize leakage interference to neighbors. We evaluate the performance of DIAC using trace-driven simulation. We implement a MIMO-OFDM channel estimator on the WARP software radio testbed, collect channel matrices between the transmitters and receivers, and then feed these traces to a Matlab simulator for DIAC. Our experiments show that DIAC can enable concurrent transmissions of multiple links with a limited number of antennas. To further understand the performance of DIAC at large scale, we simulate DIAC under an empirical propagation model. Our experiments reveal that the number of antennas and scale of coordination may affect DIAC, but the effects diminishes as both factors increase. 
         [0048]    The present invention pertaining to design of distributed interference alignment and cancellation has the following advantages: 
         [0049]    1. DIAC can be employed both for (1) improving uplink transmission from multiple mobile stations (MS&#39;s) or clients to their respective base stations (BS&#39;s) or access points (AP); and (2) improving downlink transmission from multiple BS&#39;s to their respective MS&#39;s. A mobile station is also known as a user equipment. 
         [0050]    2. DIAC uses local information exchange and hence has lower overhead and cost associated with it. 
         [0051]    3. DIAC employs multi-stage interference cancellation in the form of successive interference cancellation (SIC) implemented by sharing information at each stage between the set of local neighbors after successful decoding (in the uplink implementation case) or after calculation of the anticipated Signal to Interference plus Noise Ratio (SINR) prior to the transmission and comparing with an appropriate threshold to decide the decodability by the MS (in the case of the downlink implementation). 
         [0052]    4. DIAC can achieve high throughput in the downlink and uplink. 
         [0053]    DIAC includes two main steps: 
         [0054]    In the first step, the information about the channel between an MS and a BS in the neighborhood is exchanged though the local information exchange (LEX). Based on this information, the precoding matrices to be used by the transmitters and the receiver filters (or projection matrices) to be used by the receivers are computed locally at all transmitters and receivers, which are MS&#39;s and BS&#39;s depending on whether uplink or downlink is considered. The LEX about the channel information may be performed in several ways. Each receiver (for example, an MS in the case of downlink) may estimate the channel from several transmitters in the neighborhood and shares this information with its respective transmitter (for example the associated BS in the case of downlink). Then the BS&#39;s share the information within their localities though LEX. In the case of uplink, the channel information from several MS&#39;s in the neighborhood will be obtained by each BS and then the BS&#39;s share this information within their localities. For example, in the downlink, each receiver (or each MS) may estimate the channels from several BS&#39;s and then directly shares this information with all BS ‘s in its locality.  FIG. 1  shows an example of an information exchange process. 
         [0055]    In the second step of DIAC, the interference cancellation happens. This process is different in the downlink or uplink. 
         [0056]    In the uplink (Algorithm 2,  FIG. 12 ) all the BS&#39;s try to decode the messages received from their respective MS&#39;s; if successful in decoding, then they share the decoded information with their neighbors defined by the locality information table. However, the decoded data will be first precoded with the precoding matrix of the user before sharing or information about this precoder may be shared. The signal that is transmitted from the corresponding user may be shared as the precoded version of the information packet. If a base station cannot perform the decoding it sends a message to a coordinator. The coordinator could be one of the base stations or an independent entity. If the coordinator receives this “no decoding possibility” message from all BS&#39;s in one time slot, it stops the process. Otherwise, there is at least one BS that has performed successful decoding in the last time slot and has shared its message with its neighbors. Therefore some neighbors might be able to decode in the next time slot. Each BS that has not decoded its message yet tries to cancel the interference by removing the contribution of the known decoded messages from its received signal through SIC. In case that a BS can decode a message, it will share it again and the process continues. It is also possible that a BS receives several decoded messages from its neighbors in which case it can still perform SIC on all of the messages in one time slot and tries to decode its message. 
         [0057]    The operation in the downlink (Algorithm 1,  FIG. 11 ) is different because the cancellation is performed prior to the actual transmission. There will be a phase where multiple base stations try to anticipate if their corresponding MS&#39;s can decode the message after the transmission happens. This can be done by calculating the post scheduling SINR, which means the BS calculates the received SINR by its MS&#39;s under the current condition and known information that is shared though LEX at a given time slot. The anticipated SINR obviously can be different in a future time slot due to the fact that, if a BS has information about an interfering signal, the BS can account for the interfering signal and pre-cancels the interference and hence can improve the post scheduling SINR. A BS may not transmit if, after receiving a sync message from the coordinator, the anticipated SINR for its user is below a threshold. A BS may choose to transmit its message after it receives the Sync message from the coordinator, even if the anticipated SINR for this user is not enough to allow decoding of the message from the MS. This decision may be based on a threshold that is different from the threshold for decodability of the packets. Decodability may be defined as the ability to decode or the possibility to decode. 
         [0058]    For example, the decodability of the packets may be based on a probability measure and an SINR, such as a 10% packet drop rate at a given SINR. However, the transmission SINR threshold could be based on, for example, an SINR corresponding to a 30% packet drop rate. 
         [0059]    A BS may receive multiple shared data from its neighbors; therefore it can apply DPC simultaneously in order to cancel the effect of multiple known signals. A BS may still perform DPC sequentially even if it receives the shared data information from multiple neighbors. We also note that in the downlink the information that is shared may be different from the information that is shared in the uplink. In the uplink, the information that is shared is the transmit packet of the users that is precoded by the precoding matrix of the same user. However, the decision to share this information depends on whether or not the corresponding BS has been able to decode this message at a given time slot. In the downlink, not only does the decision about sharing this data at a given time slot depend on the anticipated decodability by the corresponding user, but also the actual shared data is the precoded version of this information. This data sharing can be a dirty paper coded (DPC) version of the users data pre-canceled through the knowledge of the known interferences up to the current time slot. This data could be a Tomlinson-Harashima (TH) precoded version of the user signal with the known interfering signal. The vector perturbation technique can be used instead of DPC. The effect of another interferer might be directly included in this signal or a precoded version of the interferer might be included. 
         [0060]    Algorithm 1 describes a possible transmission scheme in the downlink. First, the SINR for all preselected users will be computed. This SINR computation is with the assumption that (1) each user employs a possible precoder that could be designed based on LEX; and (2) each user treats other users’ signal as interference. If the SINR computation at this step is above a threshold that could be based on the coding rate and modulation type (MCS modulation and coding scheme) selected for this user, then this user is considered to be decodable and to pass information about its packet to its neighboring transmitters through LEX. Second, for the remaining users and in particular the users that have received information from their neighbors their SINRs are recalculated based on the new information by assuming that a pre-cancelation of the known interference will be employed. If for some users the newly calculated SINR is above a threshold, then these users are also considered decodable. The threshold for the second calculation may be different from or the same as the threshold for the first calculation. The decodable users share their data through LEX. The information sharing though LEX could be in the form of raw data of the user. This information could be a precoded data. This information could be a dirty paper coded (or practical version of DPC such as Tomlinson-Harashima (TH)) version of the user packets. The second step of the algorithm will be performed again based on all the shared information from all the users and SINRs will be computed again; and newly decodable users will be selected based on comparing new SINRs with a decoding threshold. This process continues until a predetermined number of iteration is reached or no newly decodable user is selected. After all the decodable users are selected, the actual transmission starts simultaneously by receiving a sync signal from the coordinator. 
         [0061]    The foregoing is to be understood as being in every respect illustrative and exemplary, but not restrictive, and the scope of the invention disclosed herein is not to be determined from the Detailed Description, but rather from the claims as interpreted according to the full breadth permitted by the patent laws. It is to be understood that the embodiments shown and described herein are only illustrative of the principles of the present invention and that those skilled in the art may implement various modifications without departing from the scope and spirit of the invention. Those skilled in the art could implement various other feature combinations without departing from the scope and spirit of the invention. 
       Further System Details 
     I. Introduction 
       [0062]    Recently, Coordinated Multi-Point (CoMP) transmission has emerged as a promising communication paradigm for multi-cell wireless networks. By allowing information sharing and cooperation among multiple transmitters, CoMP can dramatically reduce inter-cell interference, thereby improving the capacity of an entire network. Its advantages have been validated both theoretically [1] and experimentally [2]. 
         [0063]    CoMP requires the transmitters to share channel-state-information (CSI). By augmenting data sharing, interference between neighboring links can be further suppressed. For example, when using zero-forcing (ZF) precoding, multiple links are combined into one MIMO via CSI/data sharing between transmitters, and each link can transmit as if there were no mutual interference. However, such schemes need to group links into clusters. Links near the cluster edge still suffer from interference from neighboring clusters. To eliminate such edge effect and enable concurrent transmission of all links, the entire network of links need to be grouped and cooperate with each other. This becomes unrealistic for large networks, due to limited capacity of the backhaul network used for information sharing between links. 
         [0064]    Interference alignment (IA) [4] is arguably the most promising mechanism that suppresses interference in CoMP systems. In theory, it can achieve MK/2 total degrees of freedom (DOFs) when there are K links in the network each with M×M MIMO, i.e., half of the links can transmit concurrently. But this ideal bound has not been realized due to practical constraints, and approximate solutions based on precoding and projection filtering have been proposed [5]. In [6], Gollakota et al. implemented a preliminary version of interference alignment called IAC which integrates IA with successive interference cancellation (SIC) on the uplink. IAC is centralized and is not scalable to large wireless networks, because it assumes all links interfere and share information with each other. Its achievable DOF is eventually limited by the number of antennas on each node, and does not scale as the network site grows. 
         [0065]    Distributed algorithms with limited information sharing have also been proposed for CoMP. For example, NICE [7] allows uplinks that can decode their frames to send the decoded packets to other base stations (BSs), who then cancel such known interference using SIC. MaxSLNR [8] suppresses the leakage interference to neighboring links and only requires CSI sharing between neighbors. However, existing distributed algorithms for CoMP have limited capability for suppressing interference. 
         [0066]    We propose distributed interference alignment and cancellation (DIAC), which overcomes the above limitations by leveraging interference locality. Due to limited interference range of transmitters, each link is interfered by a limited number of neighboring links. So, it is sufficient to allow each link to coordinate with the neighboring links where dominant interference comes from. This in turn bounds the traffic load on the backhaul network. However, it is not straightforward to extend existing CoMP algorithms to support such localized coordination. For example, when using ZF precoding, the precoding vector designed for one link (and its neighbors) may conflict with that of a neighboring link (which may not have exactly the same set of neighbors). Consequently, the precoded signals may become random interference to neighboring links, and the resulting SINR may be even worse than without precoding. DIAC meets this challenge by a joint design of localized interference cancellation and distributed interference alignment. 
         [0067]    In DIAC, each link shares data and CSI with, and cancels the interferences from only neighboring links (i.e., a small set of coordination points). On the uplink, the base station receives decoded data from neighbors, reconstructs the interfering signals, and cancels them using successive interference cancellation (SIC). The downlink operation is more involved. Since clients cannot share data and perform SIC, the interference needs to be pre-cancelled at BSs. As mentioned above, existing pre-cancellation strategies for CoMP (e.g., ZF-precoding) become ineffective due to conflict of precoding vectors. DIAC solves this problem using a localized version of dirty-paper-coding (DPC), which only needs the composite DPC-coded information from neighbors. DIAC further applies distributed interference alignment (DIA) [5] that attempts to align interferences to a dimension orthogonal to the useful signals. This is realized by allowing links to share CSI with neighbors, and then iteratively design the precoding/projection matrix at the transmitter/receiver side, so as to minimize leakage interference to neighbors. 
         [0068]    We evaluate the performance of DIAC using trace-driven simulation. We implement a MIMO-OFDM channel estimator on a WARP [9] software radio testbed, collect channel matrices between the transmitters and receivers, and then feed these traces to a Matlab simulator for DIAC. Our evaluation shows that DIAC can enable concurrent transmissions of multiple links even with a limited number of antennas. To further understand the performance of DIAC at large scale, we simulate DIAC under an empirical propagation model. Our experiments have revealed that the number of antennas and the scale of coordination may affect DIAC, but the effects diminish as both factors increase. Therefore, to exploit the benefits of DIAC while bounding the coordination overhead, it is sufficient for each link to restrict the coordination to a small set of neighboring links. 
         [0069]    The remainder is structured as follows. In Sec. II, we present our system models and details of the DIAC algorithm. Sec. III, we introduce the design and implementation of the MIMO-OFDM channel estimator in the WARP platform. Sec. IV describes our experimental results and finally, 
       II. Algorithm Design for DIAC 
     A. Basic Models 
       [0070]    1) Precoding/projection model: We consider a multi-cell network (wireless LANs or LTE cellular networks) consisting of K cells. Each cell includes one link (also referred to as one user) between a base station (BS) and a client. The AP and the client have M and N antennas, respectively. d streams of data are transmitted over each link, with d≦min(M, N). 
         [0071]    Let X [k]  be the d×1 vector of data symbols to be transmitted by user k, V be the M×d precoding matrix for the transmitter, U the N×d projection matrix for the receiver, H [kl]  the M×N channel matrix for transmitter l and receiver k. Using the superscript [k] to denote variables for user k, the received signal of user k is: 
         [0000]    
       
         
           
             
               
                 
                   
                     Y 
                     
                       [ 
                       k 
                       ] 
                     
                   
                   = 
                   
                     
                       
                         
                           ( 
                           
                             U 
                             
                               [ 
                               k 
                               ] 
                             
                           
                           ) 
                         
                         † 
                       
                        
                       
                         ( 
                         
                           
                             ∑ 
                             
                               l 
                               = 
                               1 
                             
                             K 
                           
                            
                           
                               
                           
                            
                           
                             
                               H 
                               
                                 [ 
                                 kl 
                                 ] 
                               
                             
                              
                             
                               V 
                               
                                 [ 
                                 l 
                                 ] 
                               
                             
                              
                             
                               X 
                               
                                 [ 
                                 l 
                                 ] 
                               
                             
                           
                         
                         ) 
                       
                     
                     + 
                     
                       Z 
                       
                         [ 
                         k 
                         ] 
                       
                     
                   
                 
               
               
                 
                   ( 
                   1 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where Z [k]  is the AWGN matrix; (•) †  is the complex conjugate operator. We assume equal power allocation among data streams, i.e., each stream has power of P/d, where P is the total power of a transmitter. 
         [0072]    2) Localized coordination: CoMP systems may require coordinating base stations to share both data and CSI in real-time, and therefore, the backhaul wired network connecting them have sufficiently large capacity and low latency to effectively support such coordination [10]. However, as the network size grows, such requirements become infeasible in practice. 
         [0073]    In DIAC, we restrict the scale of coordination within the locality of each user, thereby bounding the amount of shared data/CSI and their propagation distance along the wired backhaul. We define the locality of coordination according to potential interference. The potential interference of link j to link i is: 
         [0000]    
       
         
           
             
               
                 
                   
                     I 
                     ij 
                   
                   = 
                   
                     
                       P 
                       ij 
                     
                     
                       P 
                       ii 
                     
                   
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where P ij  is the signal power leaked from link j&#39;s transmitter o link i&#39;s receiver. A neighboring link j is included into link i&#39;s set of coordinating points R(i), only if I ij  is larger than a threshold T i , i.e., 
         [0000]        R ( i )={ j:I   ij   &gt;T   i   ,j≠i}   (3)
 
         [0074]    As a result, each user i, only needs to collect data/CSI from a small set of |R(i)| neighbors, and suppress interferences from them. 
         [0075]    Note that j≠R(i) may still cause interference to i, but DIAC does not attempt to suppress such interference, so that the locality of coordination (|R(i)|) can be bounded. |R(i)| essentially reflects a tradeoff between the performance of DIAC and its overhead—a large R(i) improves decoding performance by suppressing interference from more users, but meanwhile it requires the data and CSI to be shared with more users (i.e., heavier load on the backhaul). We will evaluate such effects in our experiments (Sec. IV). 
       B. The DIAC Algorithm 
       [0076]    In DIAC, we design a localized interference cancellation algorithm, and integrate it with distributed interference alignment (DIA), such that the network can support a large number of concurrent transmissions. In what follows, we first introduce the cancellation algorithm (for downlink and uplink, respectively), and then discuss how it can incorporate DIA. 
         [0077]    1) Challenges for localized cancellation: Existing work has explored centralized algorithms for integrating interference cancellation with interference alignment in a fully-connected network (i.e., every link interferes and coordinates with all other links) [6]. The basic idea is to first order the links, and ensure one link (e.g., link  1 ) is decodable after interference alignment, and cancel its signals from link  2 ; and then cancel link  1  and link  2 &#39;s signals at link  3 , etc. However, it is non-trivial to generalize it for practical partially-connected networks (i.e., each link coordinates only with a limited number of neighboring links), because for such networks, no closed-form interference alignment solution exists that can ensure a specific link is decodable, and it is unknown how the links can be ordered to jointly perform cancellation and alignment. 
         [0078]    The localized downlink interference cancellation is even more challenging and to our knowledge, has not been explored in previous works. Intuitively, the downlink cancellation can be realized by joint precoding between neighboring BSs. However, in partially-connected networks, joint precoding becomes infeasible due to conflicting precoding vectors between different neighboring sets. For example, this happens in  FIG. 1  when locality of coordination is restricted to adjacent links. It is feasible for BS 2  to jointly design the precoder with BS 1  and BS 3 , and BS 3  with BS 2  and BS 4 . But the resulting precoding vectors of BS 2  and BS 3  will conflict with each other, as they take into account information from different sets of links. Thus a straightforward application of the precoding may cause random interference, and perform even worse than without precoding. 
         [0079]    2) Localized downlink interference cancellation: On the downlink, each user i pre-cancels interference from neighbors in R(i) in a distributed manner. Simply put, whenever a user j ∈ R(i) is decodable (i.e., it has sufficient SINR to decode its data), its BS shares the to-be-sent data (interference for other users) with users {k:j ∈ R(k)} (which includes i). Then BS i encodes and pre-cancels the interference using dirty-paper-coding (DPC), based on the channel matrix from the transmitters in R(i) and its own receiver. Afterwards the receiver of link i no longer experiences any interference from the transmitter of link j. Note that DIAC also requires the channel matrix between dominant interferers (those in R(i)) and the receiver of i. The estimation of channel matrix between each transmitter and receiver will be discussed in Sec. III. 
         [0080]    A key feature of the downlink cancellation in DIAC is decentralization: it only requires neighboring users to exchange encoded signals, without accounting for other interferers.  FIG. 1  illustrates an example of such localized downlink cancellation, where we restrict the locality of coordination to adjacent users. Suppose user  1  is able to decode its packet (possibly because of shorter link distance and higher SIR), then the corresponding transmitter (BS 1 ) will pass the encoded samples X [1]  of each frame to the transmitter of user  2  (i.e., BS 2 ) through the wired backhaul. BS 2  then encodes these samples using DPC in order to pre-cancel them. The resulting samples sent by BS 2  will be a function of X [1]  and its own data samples X [2] . We denote this operation as: χ [2] ←DPC(X [1] , X [2] ). After cancelling interference from user  1 , user  2  may have sufficient SINR to decode its own frames (despite the unknown interference from user  3 ). Then, BS 2  will pass its signals χ [2]  to the neighboring user  3  who cannot decode its signals yet. This procedure continues until no further pre-cancellation is possible. Afterwards, the users can transmit concurrently. Although the downlink interference cancellation is restricted within R(i), we will show in Sec. IV it can still substantially improve the number of concurrent transmissions. 
         [0081]    3) Localized uplink interference cancellation: The uplink differs from the downlink in the content of information sharing—only decoded data needs to be shared between neighboring links. Take the network in  FIG. 1  as an example. When BS 1  can decode the data from client 1 , it will pass the digital data X [1]  sent by client 1  BS 2 . BS 2  then cancels the interferences from client 1  using successive interference cancellation (SIC). More specifically, it needs to reconstruct the interfering signals based on X [1]  and the channel matrix from client 1  to BS 2 , and then subtract them from the composite signals (Y [2] ) it received. Afterwards, if BS 2  is able to decode its data, it will pass the original data X [2]  in the same way (instead of passing a function of the data from both BS 1  and BS 2 , as in the downlink case). 
         [0082]    4) Matrix design for distributed interference alignment: Besides the localized cancellation, DIAC employs distributed interference alignment (DIA) [5], [11], which calculates the preceding/projection matrix, so as to align interferences into a space orthogonal to useful signals. For the sake of completeness, we briefly introduce the matrix design for DIA, and then describe how it can be integrated with the localized cancellation algorithms in Sec. II-B5. 
         [0083]    In classical interference alignment, all interferers&#39; signals are aligned into the null space of each receiver k&#39;s projection matrix [5]. Equivalently, 
         [0000]      ( U   [k] ) †   H   [kj]   V   [j] =0,∀ j≠k    (4)
 
         [0084]    This is often an over-constrained system of equations, and the closed-form solution remains an open problem. However, DIA [5] can be used as an approximate solution to the interference alignment problem, and is guaranteed to converge. The basic idea is to iteratively design the matrix U and V to minimize the LHS of Eq. (4). In each iteration, each receiver i calculates the projection matrix U [i]  to minimize the leakage to j:i ∈ R(j): 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       U 
                       
                         [ 
                         i 
                         ] 
                       
                     
                     = 
                     
                       
                         arg 
                          
                         
                             
                         
                          
                         
                           
                             min 
                             
                               U 
                               
                                 [ 
                                 k 
                                 ] 
                               
                             
                           
                            
                           
                             I 
                             
                               [ 
                               i 
                               ] 
                             
                           
                         
                       
                       = 
                       
                         Tr 
                          
                         
                           [ 
                           
                             
                               
                                 ( 
                                 
                                   U 
                                   
                                     [ 
                                     k 
                                     ] 
                                   
                                 
                                 ) 
                               
                               † 
                             
                              
                             
                               Q 
                               
                                 [ 
                                 i 
                                 ] 
                               
                             
                              
                             
                               U 
                               
                                 [ 
                                 k 
                                 ] 
                               
                             
                           
                           ] 
                         
                       
                     
                   
                    
                   
                     
 
                   
                    
                   where 
                 
               
               
                 
                   ( 
                   5 
                   ) 
                 
               
             
             
               
                 
                   
                     Q 
                     
                       [ 
                       i 
                       ] 
                     
                   
                   = 
                   
                     
                       ∑ 
                       
                         j 
                         ∈ 
                         
                           R 
                            
                           
                             ( 
                             i 
                             ) 
                           
                         
                       
                     
                      
                     
                         
                     
                      
                     
                       
                         P 
                         d 
                       
                        
                       
                         H 
                         
                           [ 
                           ij 
                           ] 
                         
                       
                        
                       
                         
                           
                             V 
                             
                               [ 
                               j 
                               ] 
                             
                           
                            
                           
                             ( 
                             
                               V 
                               
                                 [ 
                                 j 
                                 ] 
                               
                             
                             ) 
                           
                         
                         † 
                       
                        
                       
                         
                           ( 
                           
                             H 
                             
                               [ 
                               ij 
                               ] 
                             
                           
                           ) 
                         
                         † 
                       
                     
                   
                 
               
               
                 
                   ( 
                   6 
                   ) 
                 
               
             
           
         
       
     
         [0000]    is the interference covariance matrix at receiver k. The solution to the minimization problem is [5]: 
         [0000]      U [k] −u d [Q [k] ]  (7)
 
         [0000]    where u d [A] denotes the d eigenvectors corresponding to the d smallest eigenvalues of matrix A. Then, given U, DIAC designs the precoding matrix V in a similarly way, but reverses the roles of the transmitter and receiver. The procedure iterates until the leakage interference I [i]  is below a small threshold. The resulting precoding/projection matrices are used as input to the localized cancellation algorithms. 
         [0085]    5) Summary of DIAC: Based on the above description of operations, we summarize the downlink DIAC in Algorithm 1 
         [0086]    On the downlink, before applying DPC, the BS precode the information hits (line  3 ) and then use the precoded data as input to the cancellation procedure. We assume the data/CSI sharing (before the actual transmission) can be done in a time-slotted, round-based manner. In each slot, each BS performs decodability check, information sharing, and pre-cancellation. If no operation can be done in the current time slot, it sends a notification message to a central coordinator (which can be one of the base stations). Once the coordinator receives the notification message from all users within the same slot, this time slot is used as a synchronization barrier—the coordinator will send a sync message to all BSs, allowing them to transmit concurrently. 
         [0087]    The uplink operations can be done in a similar manner (we omit the details to avoid duplication). Note that DIAC requires the clients to send frames concurrently. We assume this is realized by synchronizing all BSs, and then allowing each BS to send a sync message to its client. The cancellation procedure is performed in a time-slotted manner similar to the uplink, and the coordinator will broadcast a stop message if it receives a notification message from every BS. 
         [0088]    6) SINR analysis: After obtaining the V and U matrix, the SINR of the l-th stream of k-th receiver is: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       SINR 
                       kl 
                     
                     = 
                     
                       
                         
                           
                             
                               ( 
                               
                                 U 
                                 
                                   * 
                                   l 
                                 
                                 
                                   [ 
                                   k 
                                   ] 
                                 
                               
                               ) 
                             
                             † 
                           
                            
                           
                             H 
                             
                               [ 
                               kk 
                               ] 
                             
                           
                            
                           
                             
                               
                                 V 
                                 
                                   * 
                                   l 
                                 
                                 
                                   [ 
                                   k 
                                   ] 
                                 
                               
                                
                               
                                 ( 
                                 
                                   V 
                                   
                                     * 
                                     l 
                                   
                                   
                                     [ 
                                     k 
                                     ] 
                                   
                                 
                                 ) 
                               
                             
                             † 
                           
                            
                           
                             
                               ( 
                               
                                 H 
                                 
                                   [ 
                                   kk 
                                   ] 
                                 
                               
                               ) 
                             
                             † 
                           
                            
                           
                             U 
                             
                               * 
                               l 
                             
                             
                               [ 
                               k 
                               ] 
                             
                           
                         
                         
                           
                             
                               ( 
                               
                                 U 
                                 
                                   * 
                                   l 
                                 
                                 
                                   [ 
                                   k 
                                   ] 
                                 
                               
                               ) 
                             
                             † 
                           
                            
                           
                             B 
                             
                               [ 
                               kl 
                               ] 
                             
                           
                            
                           
                             U 
                             
                               * 
                               l 
                             
                             
                               [ 
                               k 
                               ] 
                             
                           
                         
                       
                        
                       
                         P 
                         d 
                       
                     
                   
                    
                   
                     
 
                   
                    
                   where 
                 
               
               
                 
                   ( 
                   8 
                   ) 
                 
               
             
             
               
                 
                   
                     B 
                     
                       [ 
                       kl 
                       ] 
                     
                   
                   = 
                   
                     
                       
                         ∑ 
                         
                           j 
                           ∈ 
                           
                             R 
                              
                             
                               ( 
                               k 
                               ) 
                             
                           
                         
                       
                        
                       
                           
                       
                        
                       
                         
                           P 
                           d 
                         
                          
                         
                           
                             ∑ 
                             
                               
                                 d 
                                 = 
                                 1 
                               
                               , 
                               
                                 d 
                                 ≠ 
                                 l 
                               
                             
                             d 
                           
                            
                           
                               
                           
                            
                           
                             
                               H 
                               
                                 [ 
                                 kj 
                                 ] 
                               
                             
                              
                             
                               
                                 
                                   V 
                                   
                                     * 
                                     d 
                                   
                                   
                                     [ 
                                     j 
                                     ] 
                                   
                                 
                                  
                                 
                                   ( 
                                   
                                     V 
                                     
                                       * 
                                       d 
                                     
                                     
                                       [ 
                                       j 
                                       ] 
                                     
                                   
                                   ) 
                                 
                               
                               † 
                             
                              
                             
                               
                                 ( 
                                 
                                   H 
                                   
                                     [ 
                                     kj 
                                     ] 
                                   
                                 
                                 ) 
                               
                               † 
                             
                           
                         
                       
                     
                     + 
                     
                       I 
                       
                         N 
                         
                           [ 
                           k 
                           ] 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   9 
                   ) 
                 
               
             
           
         
       
     
         [0000]    is the interference covariance matrix, U ×l   [k]  denotes the 1-th column of matrix U [k] . 
         [0089]    Assuming interferences are perfectly cancelled, after cancelling interference from user i, the resulting interference covariance matrix becomes: 
         [0000]    
       
         
           
             
               
                 
                   
                     B 
                     
                       [ 
                       kl 
                       ] 
                     
                   
                   = 
                   
                     
                       
                         ∑ 
                         
                           
                             j 
                             ∈ 
                             
                               R 
                                
                               
                                 ( 
                                 k 
                                 ) 
                               
                             
                           
                           , 
                           
                             j 
                             ≠ 
                             i 
                           
                         
                       
                        
                       
                           
                       
                        
                       
                         
                           P 
                           d 
                         
                          
                         
                           
                             ∑ 
                             
                               
                                 d 
                                 = 
                                 1 
                               
                               , 
                               
                                 d 
                                 ≠ 
                                 l 
                               
                             
                             d 
                           
                            
                           
                               
                           
                            
                           
                             
                               H 
                               
                                 [ 
                                 kj 
                                 ] 
                               
                             
                              
                             
                               
                                 
                                   V 
                                   
                                     * 
                                     d 
                                   
                                   
                                     [ 
                                     j 
                                     ] 
                                   
                                 
                                  
                                 
                                   ( 
                                   
                                     V 
                                     
                                       * 
                                       d 
                                     
                                     
                                       [ 
                                       j 
                                       ] 
                                     
                                   
                                   ) 
                                 
                               
                               † 
                             
                              
                             
                               
                                 ( 
                                 
                                   H 
                                   
                                     [ 
                                     kj 
                                     ] 
                                   
                                 
                                 ) 
                               
                               † 
                             
                           
                         
                       
                     
                     + 
                     
                       I 
                       
                         N 
                         
                           [ 
                           k 
                           ] 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   10 
                   ) 
                 
               
             
           
         
       
     
       III. Implementation of MIMO-OFDM Channel Estimator  
       [0090]    Our implementation consists of two parts: Matlab based simulation of the DIAC algorithm, and software radio (WARPLab [9]) based implementation of MIMO channel estimation algorithm, which is used to obtain traces of channel matrix between multiple links. 
         [0091]      FIG. 2  and  FIG. 3  show the transmitted packet format for for channel estimation, and the corresponding detection and estimation procedure at the receiver. The MIMO-OFDM packet preamble format follows that of the 802.11n standard. An 802.11 preamble (also referred to a STF) has 160 complex samples and occupies 64 subcarriers. From time-domain perspective, the STF is a periodic signal that repeats every 16 complex samples [ ]. The receiver performs self-correlation between the latest 16 samples and previous 16 samples, which has an outstanding output only if two consecutive sequences of samples match (i.e., an STF appears), and the corresponding output is comparable to the signal&#39;s energy level [ ]. After detecting the STF, the receiver further performs cross-correlation between the received STF samples and the original samples in the STF. An outstanding peak appears only when the received samples align with the known STF, and the peak position is used as a synchronization point marking the start of the packet. 
         [0092]    To estimate the channel coefficients (including magnitude attenuation and phase distortion) of each subcarrier and the frequency offset between transmitter and receiver, an additional preamble is used, called long-training field (LTF). LTF comprises two duplicated versions of a random sequence (consisting of 1 and −1) of length 64 carried by the 64 subcarriers. To obtain the channel coefficients and frequency offset, the receiver performs self-correlation between the two truncated random sequences and normalizes it by the magnitude, similar to an 802.11 channel estimator [ ]. 
         [0093]    When running MIMO, all the transmit antennas share the same STF, but their LTFs are transmitted sequential i.e., while one antenna is transmitting, all others are silent (transmitting zero-power signals). Meanwhile, each receive antenna can estimate the channel between the active transmit antenna and itself. 
         [0094]    Our ongoing work involves a full-fledged implementation of DIAC on WARP. As DIAC requires synchronization between neighboring base stations, we have modified the FPGA module in WARP to synchronize the carrier frequency, sampling clock, and packet starting time between multiple MIMO transmitters. We plan to implement a real-time version of DIAC on this platform, and demonstrate its performance in real environment. 
       IV. Experimental Results 
       [0095]    We evaluate DIAC using i) trace-driven simulation, which collects real channel traces from a WARP MIMO testbed. ii) model-driven simulation, which applies an empirical pathloss and fading model to a synthetic topology. As benchmark comparison, we also consider the following distributed algorithms that can be applied to partially-connected networks, where each link either transmit independently, or only needs to collect data/CSI from neighboring links that interfere with it. i) Single-user MIMO beamforming via SVD. ii) Maximizing signal to leakage-interference and noise ratio (max SLNR) [8]. iii) Distributed interference alignment (DIA) [5], [11], which is equivalent to the alignment iteration of DIAC, i.e., each user attempts to align interference from others without cancellation. 
       A. Trace Based Simulation 
       [0096]    We set up a WARP testbed consisting of four 4×2 MIMO links located in an office environment.  FIG. 4  shows the node locations. Two links are located within two different offices separated by two walls and a corridor; the other two links are located in the corridor. Due to the short transmission range of WARP radios, the distance between each transmitter and receiver is 2 to 5 meters; and the distance between each transmitter and neighboring transmitters is 4 to 8 meters. Given this topology, we test the DIAC and benchmark algorithms based on the MIMO-OFDM channel estimation results. 
         [0097]      FIG. 6(   a ) shows the resulting SINR distribution when each link uses 4×2 MIMO to send one data stream. The interference alignment based approaches (i.e., DIA and DIAC) outperform beamforming and maxSLNR by around 50 dB, implying that they may completely suppress interference and enable concurrent transmissions, whereas alternative approaches result in collisions. Notably, DIAC shows marginal gain over DIAC under this setting. This is because the 4×2 MIMO is sufficient for DIA to suppress all interferences even without cancellation. When using 2×2 antennas, however, DIA alone is unable to achieve perfect alignment. All 4 links have less than 18 dB SINR ( FIG. 6(   b )). In contrast, by integrating interference cancellation, DIAC achieves more than 40 dB gain over DIA, thereby maintaining concurrent transmission of all links. 
       B. Model-Driven Simulation 
       [0098]    Due to a limited number of WARP nodes, the trace-driven simulation only involves 4 MIMO links. To fully understand the factors that affect DIAC&#39;s performance in general network topologies, we further conduct model-driven simulation. We use an empirical propagation model recommended by the IEEE 802.15 for 2.4 GHz indoor environment to model large-scale fading. At distance d, the signal&#39;s pathloss (in dB) is: 
         [0000]    
       
         
           
             
               
                 L 
                 
                   d 
                    
                   
                       
                   
                    
                   B 
                 
               
                
               
                 ( 
                 d 
                 ) 
               
             
             = 
             
               { 
               
                 
                   
                     
                       
                         40.2 
                         + 
                         
                           20 
                            
                           
                               
                           
                            
                           
                             
                               log 
                               10 
                             
                              
                             
                               ( 
                               d 
                               ) 
                             
                           
                         
                       
                       , 
                     
                   
                   
                     
                       d 
                       ≤ 
                       
                         8 
                          
                         
                             
                         
                          
                         m 
                       
                     
                   
                 
                 
                   
                     
                       
                         58.5 
                         + 
                         
                           33 
                            
                           
                               
                           
                            
                           
                             
                               log 
                               10 
                             
                              
                             
                               ( 
                               
                                 d 
                                 / 
                                 8 
                               
                               ) 
                             
                           
                         
                       
                       , 
                     
                   
                   
                     
                       d 
                       &gt; 
                       
                         8 
                          
                         m 
                       
                     
                   
                 
               
             
           
         
       
     
         [0099]    For small-scale fading, we use the Rayleigh fading model. When running DIAIC, we assume the SNR threshold for decoding is 10 dB. The transmit power of each node is P t =15 dBm. We further assume the receiver noise power is 10 −8  of the transmit power level. 
         [0100]    We first generate a line topology in which 16 APs are located on a straight line, with 30 m separation. Each AP has one client, randomly located within a circle (radius 15 m) around it. For simplicity, we define locality of coordination using hop-distance for this topology. We set the locality to 4, i.e., each link coordinates (share data and CSI) with neighbors within 4 hops.  FIG. 5  shows the resulting SNR distribution of all 16 links with 2×2 antennas and single-stream transmission. In this network, each link may be interfered by many other links. Therefore, when using DIA, the 2×2 MIMO is insufficient to align all interferences to a space orthogonal to the desired signals of each link. Consequently, DIA only performs slightly better than beamforming. maxSLNR outperforms beamforming for low-SINR links that suffer from severe interference, but has lower performance for high-SINR links because it dissipates part of the power to suppressing leakage interference, instead of focusing all power towards the intended receiver. Again, by combining cancellation with alignment, DIAC outperforms all other algorithms by around 10 dB for all links. 
         [0101]      FIG. 7  shows the effect of locality on the mean SINR of all links when using DIAC. When locality is small, SINR increases quickly with locality. However, further improving locality to large numbers gains marginal improvement, mainly because links further away cause negligible amount of interference. Therefore, even if we localize the coordination scale to a small number of neighbors, DIAC is still able to enable concurrent transmission of all links. 
         [0102]      FIG. 8  shows the effect of the number of antennas on mean SINR. maxSLNR outperforms beamforming only when a large number of antennas are used to suppress interference. Both schemes have around 20 dB lower SINR than DIA and DIAC. When using a small number of antennas, DIA may have much lower SINR than DIAC, implying that interference alignment highly depends on the available antennas. By combining cancellation, DIAC is able to maintain high SINR for all links even with a small number of antennas. 
         [0103]    We further evaluate DIAC in a random topology resembling real-world multi-cell wireless LANs. As shown in  FIG. 4 , the base stations are randomly generated within a 300 m×300 m field, but neighboring base stations are separated by at least 30 m. Then a client location is randomly generated within a radius of 10 m around each BS. The resulting SINR distribution is plotted in  FIG. 10 , where we configure locality according to T i =−45 dB, ∀i. We observe DIA may perform even worse than beamforming, mainly because in this topology, each link suffers from a larger number of interferers than in the line topology. Whereas with DIAC, SINR is above 15 dB for most of the links, implying that DIAC is able to achieve a high level of concurrent transmissions even in real-world network topologies. 
       V. Conclusion 
       [0104]    We have proposed DIAC, a distributed algorithm that improves the performance of CoMP systems by leveraging the locality of interference. DIAC integrates localized interference cancellation algorithms with distributed interference alignment, is applicable to both uplink and downlink transmissions, and only requires data/CSI sharing between close-by neighboring base stations. Both trace-driven simulation and model-driven simulation have shown DIAC to substantially improve the number of concurrent transmissions, even with a limited number of antennas.