 Research
 Open Access
Interference alignment and power allocation for the MIMO X channels with multiple layers of relays
 Yi Wei^{1}Email authorView ORCID ID profile and
 Tat M. Lok^{1}
https://doi.org/10.1186/s136380160717y
© The Author(s) 2016
 Received: 29 February 2016
 Accepted: 5 September 2016
 Published: 20 September 2016
Abstract
In this paper, we study a system consisting of a single source, a single destination, and multiple layers of parallel relays. The system is considered as a combination of broadcast channels, multiple input multiple output (MIMO) X channels, and multipleaccess channels. Interference alignment (IA) is used throughout the whole system, and perfect channel state information (CSI) is assumed available at all the transmitters and receivers. Iterative algorithms are applied to find the proper transmit and receive matrices in the broadcast channels and multipleaccess channels. For the MIMO X channels, based on IA technique, we design the transmit and receive beamforming matrices. Finally, in order to maximize the total transmission rate of the whole system, we optimize the power allocation of each transmitter.
Keywords
 Cooperative transmission
 Interference alignment
 Relay network
 MIMO X channel
1 Introduction
In recent years, due to the rapid increase of mobile data traffic and the demand for ubiquitous connectivity, wireless communication has become a hot research area. Two key problems in this area are how to increase the transmission rate and how to deal with the large path loss of long distance transmission.
Great attention has been put on relay networks for long distance transmission. In a relay network, a number of nodes are assigned to help the source to forward signals to the destination, in order to provide reliable long distance transmission [1, 2]. Different kinds of relay networks have been studied. A singleinputsingleoutput network is studied in [3]. In [4, 5], the authors mentioned two models of singlelayer relay networks, including singleantenna relays and multiantenna relays. In [6], a multilayer relay network was proposed, in which there is a single antenna at each relay. Motivated by these studies, we use relay networks to solve the path loss problem in the long distance transmission.
In our work, we consider a network with multiple layers of relays, a single source, and a single destination. In order to increase the overall transmission rate, we assume that in each layer, there are multiple relays (we denote the number of relays can be used in layer n as K _{ n }). We assume that the relays in this network are operated in the halfduplex mode and equipped with multiple antennas.
Although applying multiple relays in each layer can improve the performance, the improvement is significantly limited by interference signals. However, since each node are equipped with multiple antennas, we can apply interference alignment (IA) ([7–9]), which is an efficient approach to degrade the effect of interferences. IA is a method to align interferences to a certain space, so that they can be distinguished from the desired signal. IA is considered in different kinds of networks to maximize interferencefree dimensions remaining for the desired signal. In [10, 11], IA is used to analyze the communication over multipleinputmultipleoutput (MIMO) X channel. Suh et al. and Ntranos et al. studied IA in cellular networks [12, 13].
Through providing additional dimension of space for transmitting signals, multiantenna systems are believed to be an efficient method to substantially increase the overall throughput of wireless communication [14, 15]. MIMO systems have much higher capacity than singleinputsingleoutput (SISO) systems. Foschini and Gans and Zheng and TSe [16, 17] stated that the multiplexing gain (MG) of pointtopoint MIMO systems with M transmit antennas and N receive antennas is min{M, N}. MIMO broadcast channel was studied in [18]. In [19], for a twouser MIMO Gaussian interference channel with M _{1} and M _{2} antennas at transmitters 1 and 2, respectively, and N _{1} and N _{2} antennas at the corresponding receivers, the degrees of freedom (DoF) is min {M _{1}+M _{2},N _{1}+N _{2},m a x{M _{1},N _{2}},m a x{M _{2},N _{1}}}, with perfect channel knowledge at all transmitters and receivers. In our work, we employ multiple antennas at each relay with interference alignment to increase the DoF, and hence to increase the data rate of our system.
In our previous work [20], we consider a twolayer relay network, where there are equal number of relays in each layer. The communication channel between the two layer of relays is MIMO interference channel, in which each first layer relay selects one distinct second layer relay to transmit signals. In this paper, we extend it to a more general case, in which there are multiple layers of relays and the numbers of relays in each layer can be different. In this case, the distinct selection will require the equalization of the number of relays selected in each layer. As a result, the number of relays used in each layer is min{K _{1},K _{2},…}, assuming K _{ n } relays are available in layer n. In this way, the overall throughput of the system will be reduced due to the underutilization of the relays in some layers. Moreover, the selection process requires exhaustive search, which leads to a high complexity. To deal with this problem, in this work, we consider the transmission between the relays in different layers as MIMO X channel.
There have been lots of researches on the X channel, which is a kind of network that each transmitter has a distinct signal for each receiver. Using the X channel may reduce the complexity of exhaustive search and release the constraint of equal relay numbers. The DoF of M×N MIMO channel with a single antenna at each transmitter and receiver has been shown to be upper bounded by \(\frac {MN}{M+N1}\) in [21]. In [22, 23], a twouser MIMO X channel was studied. In our work, we consider a K _{1}×K _{2} MIMO X channel with M antennas at each node. This is a communication channel with K _{1} transmitters and K _{2} receivers, where each transmitter has a distinct signal to each of the K _{2} receivers. In this way, we can take full use of all the available relays in each layer and increase the overall throughput.
 1.
We consider a system with multiple layers of relays, and each of the relays has multiple antennas. We apply the iterative algorithms to find the proper transmit and receive matrices in the broadcast channels and multipleaccess channels under the condition of IA.
 2.
For the K _{ n }×K _{ n+1} MIMO X channel, we propose a construction of an interference alignment scheme.
 3.
We evaluate the system with a layer level power constraint and optimize the power allocation of all nodes.
 4.
We compare the performance of our system with two benchmark systems: (i) a benchmark system with interference channel as shown in our previous work [20] and (ii) a benchmark system with a single relay in each layer. The simulation results show that the performance of the system in this paper is better than the benchmark systems in terms of total transmission rate.
The remainder of this paper is organized as follows. Section 2 provides an overview of the system model. We show the analysis of the model and the process of perfectly aligning the interferences of each part of the system in Section3. In section4, the power allocation problem is established and solved. Performance evaluation is in Section5. Finally, Section6 concludes the paper.
Notations: All boldface letters indicate matrices (upper case) or vectors (low case). A ^{ H } denotes the conjugate transpose of A, and A ^{ † } is pseudoinverse of A. The null space of the matrix A is denoted by null(A). The subspace spanned by columns of A is represented by span(A). The identity matrix is represented by I. The det(A) and tr(A) are the determinant and trace of the matrix A, respectively.
2 System model
In the first time slot, the source transmits to the first layer relays using broadcasting protocol. In the nth (1<n<N+1) time slot, the relays in the (n−1)th layer decode and forward signals to the nth layer relays. We consider a K _{ n−1}×K _{ n } X channel in the transmission. Finally, the Nth layer relays decode and forward the signals to the destination using multipleaccessing, and the destination could directly decode the signals. The schemes of IA and zeroforcing are used to precode and decode the signals, respectively.
We assume that there are K _{ n } relays available in layer n. The communication channel between the nth layer relays and the (n+1)th layer relays is a K _{ n }×K _{ n+1} MIMO X channel where each of the K _{ n } transmitters sends a distinct message to each of the K _{ n+1} receivers. For the cases that (i) K _{ n }=1 and K _{ n+1}≠1, (ii) K _{ n }≠1 and K _{ n+1}=1, and (iii) K _{ n }=1 and K _{ n+1}=1, the communication channel between them is a broadcasting channel, multipleaccess channel and pointtopoint channel, respectively.
We assume each relay is equipped with M antennas. Let the number of antennas at the source and the destination to be M _{ s } and M _{ d }, respectively. We denote \(\mathbf {H}_{sj} \in \mathbb {C}^{M \times M_{s}}\) as the channel matrix between the source to the jth relay in the first layer. The channel matrix between the ith relay in the Nth layer to the destination is denoted as H _{ id }, where \(\mathbf {H}_{id} \in \mathbb {C}^{M_{d} \times M}\). In the middle part of the system, we denote the channel matrix between the ith relay in the nth layer to the jth relay in the (n+1)th layer as \(\mathbf {H}^{n}_{ij} \in \mathbb {C}^{M \times M}\). Finally, we assume that the entries of H _{ sj }, \(\mathbf {H}^{n}_{ij}\), and H _{ id } are i.i.d. complex Gaussian random variables with zeromean and the total power constraint of each layer is P.
3 Analysis of interference alignment
We divide the analysis of the system into three parts. In the first part, we consider K _{ n }×K _{ n+1} MIMO X channels (for the cases K _{ n }>1 and K _{ n+1}>1). In the second part, we consider the broadcast channels, which are (i) from the source to the first layer relays, if K _{1}>1; (ii) from the nth layer to the (n+1)th layer, if K _{ n }=1 and K _{ n+1}>1. In the third part, we consider the multipleaccess channels, which are (i) from the Nth layer relays to the destination, if K _{ N }>1; (ii) from the nth layer to the (n+1)th layer, if K _{ n }>1 and K _{ n+1}=1. For the pointtopoint MIMO channels (the case K _{ n }=1 and K _{ n+1}=1), since there is no interference signal to be aligned, we will not consider the pointtopoint MIMO channels in this section.
3.1 K _{ n }×K _{ n+1} MIMO X channel
3.1.1 Interference alignment scheme
We assume the relay \({R^{n}_{i}}\) is supposed to transmit message \(\mathbf {x}^{n}_{ij}\) to the relay \(R^{n+1}_{j}\), where \(\mathbf {x}^{n}_{ij} \in \mathbb {C}^{T_{sig} \times 1}\) is a vector with unit power of each component (i.e., \(\mathrm {E}\left (\mathbf {x}^{n}_{ij}{\mathbf {x}^{n}}^{H}_{ij}\right) = \mathbf {I}_{T_{\text {sig}}}\)). T _{sig} denotes the degree of freedom achieved by each message.
The vector \(\mathbf {z}_{j}^{n}\) is a unit variance, zero mean, complex additive white Gaussian noise.
The first part of Eq. (1b) represents the desired signals from all K _{ n } relays (transmitters) in the nth layer. The second part represents the interference signals which are supposed to be sent to the relays (receivers) other than \(R^{n+1}_{j}\) in the (n+1)th layer. For each receiver \(R^{n+1}_{j}\), there are K _{ n } desired signals and K _{ n }(K _{ n+1}−1) interference signals.
In this subsection, we try to find how to select transmit beamforming matrix \(\tilde {\mathbf {V}}^{n}_{ij}\) for the fixed space confining matrix Q ^{ n }.
Step I: For each receiver, we first align the interference signals coming from the same transmitter into a T _{ int }dimensional subspace^{1}. In other words, according to Fig. 3, we need to align the interference signals in the same block first.
Step II: By step I, we have K _{ n } T _{int}dimensional interference subspaces for each receiver, since there are K _{ n } blocks in a row. In this step, we let these K _{ n } subspaces to lie in the same T _{int}dimensional subspace. In other words, according to Fig. 3, we align the aligned blocks in a row into the same subspace. In this way, all the interference signals are aligned into the same T _{int}dimensional subspace.
These conditions restrict the subspace occupied by interference signals from the same transmitter \({R^{n}_{i}}\) for receiver \(R^{n+1}_{j}\).
for all i∈{1,…,K _{ n }}.
We will use a 3×3 MIMO X channel as an example to illustrate how the IA scheme works in Section 3.1.2.
Since our goal is to find the matrix \(\mathbf {V}^{n}_{ij}\) with fixed space confining matrix Q ^{ n } and generic channel matrices \(\mathbf {H}^{n}_{ij}\) by solving Eq. (3) and Eq. (5), we should guarantee that (i) for any \(\mathbf {H}^{n}_{ij}\) and Q ^{ n }, the set of equations in (3) always have feasible solutions \(\mathbf {W}^{n}_{ij}\) and (ii) for any series of interference confining matrices \(\mathbf {W}^{n}_{ij}\), the set of equations in (5) always have feasible solutions \(\mathbf {E}^{n}_{imj}\).
Notice that in the previous notation, (·)^{ † } denotes the pseudoinverse.
In following analysis and simulation, we choose the equality for Eqs. (6), (7) and (8) to maximize the degree of freedom.
where the formula (9a) represents the desired signals from all K _{ n } nth layer relays. The formulas in (9b) and (9c) represents the interference signals from each transmitter. From (9b) and (9c), we can find that the interference signals from the same transmitter are aligned into the same T _{int}dimensional subspace, e.g., interference signals coming from the ith transmitter \({R^{n}_{i}}\) are aligned into the subspace \(\mathbf {H}^{n}_{ij}\mathbf {Q}^{n}\mathbf {W}^{n}_{ij}\).
The first part is the desired signals and the second part represents the interference signals. By now, for each receiver \(R^{n+1}_{j}\), all the interference signals are aligned into the same T _{int}dimensional subspace \(\mathbf {H}^{n}_{1j}\mathbf {Q}^{n}\mathbf {W}^{n}_{1j}\).
3.1.2 Example of the scheme: K _{ n }=K _{ n+1}=3
In this section, we will use a 3×3 MIMO X channel as an example to illustrate how the IA scheme introduced in Section 3.1.1 works.
Recall the two steps of IA scheme introduced in Section 3.1.1. Step I: for each receiver, we need to align the interference signals in the same blocks into the subspaces pointed by corresponding arrows in Fig. 4. For example, for the first receiver \(R^{n+1}_{1}\), we need to align the signals in the red block into the subspace \(\mathbf {H}^{n}_{11}\mathbf {Q}^{n}\mathbf {W}^{n}_{11}\), align the signals in the blue block into the subspace \(\mathbf {H}^{n}_{21}\mathbf {Q}^{n}\mathbf {W}^{n}_{21}\) and align the signals in the yellow block into the subspace \(\mathbf {H}^{n}_{31}\mathbf {Q}^{n}\mathbf {W}^{n}_{31}\). This step is denoted as “(i)” in Fig. 4. Step II: for each receiver, we let the interference subspaces from the first step to lie in the same subspace, e.g., for the first receiver \(R^{n+1}_{1}\), we have \(\mathbf {H}^{n}_{11}\mathbf {Q}^{n}\mathbf {W}^{n}_{11} = \mathbf {H}^{n}_{21}\mathbf {Q}^{n}\mathbf {W}^{n}_{21} = \mathbf {H}^{n}_{31}\mathbf {Q}^{n}\mathbf {W}^{n}_{31}\). This step is denoted as “(ii)” in Fig. 4.
We can finally find \(\mathbf {W}^{n}_{ij}\) by solving equations in (12). Then by solving equations in (11), we can get \(\mathbf {V}^{n}_{ij}\) for all i and j.
3.1.3 The selection of space confining matrix: Q ^{ n }
Different Q ^{ n } in the previous subsection may lead to different results in terms of the transmission rate under a certain power constraint. Here, we propose a method to design Q ^{ n } in this section.
Due to the nonconvexity of the problem (16), we propose suboptimal solutions. We apply genetic algorithms [24] to find a suboptimal Q ^{ n }, which provides good performance as shown in our simulation results.

Initialization: we randomly generate a group of (M−T)×M matrices as samples, the size of the group is G (G is an odd number). We denote each sample as \(\mathbf {F}^{n}_{g}\), where g∈{1,2,…,G}. For each g∈{1,2,…,G}, we get \(\mathbf {Q}_{g}^{n}\) as the orthonormal basis for the null space of \(\mathbf {F}^{n}_{g}\). Therefore, the size of \(\mathbf {Q}^{n}_{g}\) is M×T.

Selection: we use this group of \(\mathbf {Q}_{g}^{n}\) to get the fitness value, which is the objective function in optimization problem (16):$$ \text{FIT}(g) = \sum_{i=1}^{K_{n}}\sum_{j=1}^{K_{n+1}} \text{log}\left(\text{det}\left(\mathbf{I}+{\mathbf{U}^{n}_{ij}}^{H}\mathbf{H}^{n}_{ij}\mathbf{Q}_{g}^{n}\mathbf{V}^{n}_{ij}{\mathbf{V}^{n}_{ij}}^{H}{\mathbf{Q}^{n}_{g}}^{H}{\mathbf{H}^{n}_{ij}}^{H}\mathbf{U}^{n}_{ij}\right)\right), $$(17)
and select (G−1) samples by applying Roulette Wheel Selection and denote them as \(\mathbf {S}^{n}_{g}, g \in \{1,2,\ldots,G1\}\). In this way, the one that leads to a larger fitness value is more likely to be selected. In the last step of this part, we select the \(\mathbf {F}^{n}_{g}\) that leads to the largest fitness value and denote it as \(\mathbf {S}^{n}_{G}\).

Crossover: since G is an odd number, for g∈{1,2,…,G−1}, we divide \(\mathbf {S}^{n}_{G}\) into \(\frac {G1}{2}\) pairs. In each pair, we randomly swap some parts of them. For \(\mathbf {S}^{n}_{G}\), we keep it unchanged.

Mutation: for each g∈{1,2,…,G−1}, we randomly change part of \(\mathbf {S}^{n}_{G}\). For \(\mathbf {S}^{n}_{G}\), we keep it unchanged. Let \(\mathbf {F}^{n}_{g} = \mathbf {S}^{n}_{g}\), for all g∈{1,2,…,G}.

Termination: we repeatedly run the algorithm until a fixed number of generations σ is reached.
In Selection, we generate \(\mathbf {S}^{n}_{G}\) with the largest fitness value and keep it unchanged in Crossover and Mutation. We do this in order to guarantee that in each generation, the largest fitness value will not decrease.
Finally, we get the space confining matrix Q ^{ n } as the orthonormal basis for the null space of the \(\mathbf {F}^{n}_{g}\) and hence can get \(\mathbf {V}^{n}_{ij}\) by solving Eqs. (3) and (5) and \(\mathbf {U}^{n}_{ij}\) by solving Eqs. (13) and (14).
Recall that our goal is to maximize the data rate of the K _{ n }×K _{ n+1} MIMO X channel, which is written as Eq. (15). To maximize it, \(\mathbf {U}^{n}_{ij}\) and \(\mathbf {V}^{n}_{ij}\) should be multiplied by the matrix whose columns are left singular vectors and the matrix whose columns are right singular vectors of \({\mathbf {U}^{n}_{ij}}^{H}\mathbf {H}^{n}_{ij}\mathbf {Q}^{n}\mathbf {V}^{n}_{ij}\), respectively.
3.2 Broadcast channel
Let \(\tilde {\mathbf {V}}_{bj}\) be the orthonormal basis for the null space of S _{ bj }. Then we have: \(\mathbf {V}_{bj} = \tilde {\mathbf {V}}_{bj}\mathbf {T}_{bj}\), where T _{ bj } denotes the coordinate transformation under the basis \(\tilde {\mathbf {V}}_{bj}\). For each receiver, to maximize the received signal \(\mathbf {U}^{H}_{bj}\mathbf {H}_{bj}\mathbf {V}_{bj}\mathbf {P}_{bj}\), which is equivalent to \(\mathbf {U}^{H}_{bj}\mathbf {H}_{bj}\tilde {\mathbf {V}}_{bj}\mathbf {T}_{bj}\mathbf {P}_{bj}\), the decoder U _{ bj } and the coordinate transformation matrix T _{ bj } should be the left and right singular matrix of \(\mathbf {H}_{bj}\tilde {\mathbf {V}}_{bj}\).
Then we can achieve the optimal solution by rewriting the iterative algorithm given in [25] as shown in Algorithm 2.
The convergence of the algorithm has been proved in [25].
3.3 Multipleaccess channel
4 Power allocation
In this section, we first find space confining matrix Q ^{ n } by using Algorithm 1 in Section 3.1.3 under the condition of equal power allocation and then try to optimize the power allocation without changing Q ^{ n }.
According to the number of relays in each layer, there are four kinds of channels in the whole system: pointtopoint MIMO channel, broadcast MIMO channel, multipleaccess MIMO channel, and K _{ n }×K _{ n+1} MIMO X channel. In the following, we discuss them one by one.
4.1 Pointtopoint MIMO channel
Waterfilling algorithm can be used to achieve the optimal power allocation.
4.2 Broadcast and multipleaccess MIMO channel
Since the optimization of power allocation in multipleaccess channel is similar to that in the broadcast channel, in this section, we only talk about the optimization of the \(1 \times \bar {K}\) broadcast MIMO channel.
where P _{ bj } is the power allocation matrix for signals desired by receiver j.
which is a geometric programming problem. The geometric programming problem can be transferred into a convex problem [26], and the optimal solution can be obtained by numerical method, e.g., the Matlab software CVX [27].
4.3 K _{ n }×K _{ n+1} MIMO X channel
which is also a geometric programming problem.
5 Performance evaluation
We divide this section into three parts. Firstly, we evaluate the performance of Algorithm 1, which is a genetic algorithm used to find proper space confining matrix Q ^{ n } in the IA scheme of MIMO X channel. Secondly, we show the comparison in performance and computational complexity between MIMO X channel and MIMO interference channel in Section 5.1. Thirdly, we evaluate the performance of the whole system in terms of transmission rate and compare our system with two benchmarks: multiple layers of parallel relays system with only one relay in each layer and the system built by replacing the MIMO X channels in our proposed system with MIMO interference channels.
In the simulation, we model the channels as independent Rayleigh fading channels with unit average power gains, i.e., modeling the entries of \(\mathbf {H}^{n}_{ij}\) as independent and identical (i.i.d.) complex Gaussian random variables with zero mean.
5.1 Performance of Algorithm 1
For the K _{ n }×K _{ n+1} MIMO X channel, we use Algorithm 1 to select the space confining matrix Q ^{ n }. We evaluate the performance of Algorithm 1 with difference number of generations σ and different sizes of groups G.
5.2 Comparison between MIMO X channel and MIMO interference channel
In this subsection, we will first compare the performance of the IA scheme for the K _{ n }×K _{ n+1} MIMO X channel with that of the IA scheme presented in [28] for the K _{ n }×K _{ n+1} MIMO interference channels in our corresponding conference paper [20]. Secondly, we analyze the computational complexity of these two IA schemes in the corresponding wireless channels.
5.2.1 Performance of MIMO X channel and MIMO interference channel
The interference channel is a kind of channel with multiple transmitterreceiver pairs, where each transmitter only wants to send message to its corresponding receiver. For the benchmark of the K _{ n }×K _{ n+1} MIMO interference channel, we assume each transmitter selects one distinct relay as its receiver. We compare the transmission rate of the K _{ n }×K _{ n+1} MIMO interference channel with our K _{ n }×K _{ n+1} MIMO X channel. Since each transmitter selects one distinct receiver on the MIMO interference channel, in our simulation, we show two ways for the transmitters to choose receivers: (i) for each transmitter, it randomly select a distinct receiver and (ii) throughout all the possible selection combinations, we select the one that gives the largest transmission rate of the channel. We call the case “(i)” as interference channel without selection and the case “(ii)” as interference channel with selection.
The overall transmission rate of the system is limited by the bottleneck, which is the layer with the minimum transmission rate. The system we investigate is a multiplelayermultiplerelay system, in reality, it is rarely possible that the numbers of available relays in all layers are equal. Comparing with our MIMO X channel, the shortcoming of the MIMO interference channel is the transmission rate of adjacent layers with different numbers of transmission relays and receiving relays. Since each transmitter should select one distinct receiver for the MIMO interference channel, there will be an underutilization of relays in the layer with more relays.
5.2.2 Complexity analysis
On MIMO X channel, the computation of the IA scheme mainly lies in the selection of space confining matrix Q ^{ n }. In the part of selection of Q ^{ n }, we introduced a genetic algorithm (i.e., Algorithm 1). For each Q ^{ n } in Algorithm 1, we need to find its fitness value as defined in Eq. (17). The complexity of finding the fitness value is dominated by finding the matrices \(\mathbf {W}^{n}_{ij}\) and matrices \(\mathbf {E}^{n}_{im1}\) ^{4}, which are the null space of \(\mathbf {A}^{n}_{j(i)}\) and \(\mathbf {B}^{n}_{i(m,1)}\), respectively.
To find the complexity of getting \(\mathbf {A}^{n}_{j(i)}\), we firstly need to find the complexity of calculating the matrix (I−(H _{1j } Q ^{ n })(H _{1j } Q ^{ n })^{ † })H _{ ij } Q ^{ n }, which is a submatrix in the matrix \(\mathbf {A}^{n}_{j(i)}\). For an m×n matrix A, an n×p matrix B and an m×m matrix C, the complexity of calculating the multiplication of A and B is \(\mathcal {O}(mnp)\) [29] and the complexity of calculating the inverse of matrix C is \(\mathcal {O}(m^{3})\) [30]. Thus, the complexity of getting (I−(H _{1j } Q ^{ n })(H _{1j } Q ^{ n })^{ † })H _{ ij } Q ^{ n } is \(\mathcal {O}(5M^{2}T +M^{3})\). Since T≤M, we can write \(\mathcal {O}(5M^{2}T + M^{3})\) as \(\mathcal {O}(m^{3})\). The complexity of calculating the matrix \(\mathbf {A}^{n}_{j(i)}\) is therefore \(\mathcal {O}(M^{3}K_{n})\). By the same analysis, the complexity of calculating the matrix \(\mathbf {B}^{n}_{i(m,1)}\) is \(\mathcal {O}(M^{3}K_{n+1})\). Hence, the complexity of getting matrices \(W^{n}_{ij}\) for all i∈{1,…K _{ n }} and j∈{1,…K _{ n+1}} is \(\mathcal {O}(M^{3}{K_{n}}^{2}K_{n+1})\) and the complexity of getting the matrices E _{ i m1} for all i∈{1,…K _{ n }} and m∈{1,…K _{ n+1}} is \(\mathcal {O}(M^{3}K_{n}{K_{n+1}}^{2})\). The complexity of finding the fitness value is then \(\mathcal {O}(\text {max}\{K_{n}, K_{n+1}\}M^{3}K_{n}K_{n+1})\). The number of calculations of the fitness value is determined by the number of generations multiplied by the size of group in Algorithm 1. By setting size of the group to 11, from the simulation results in Figs. 5 and 6, we can find that the number of generations is a relatively small value, i.e., less than 20.
For the K _{ n }×K _{ n+1} MIMO interference channel, a distributed algorithm is introduced to realize the interference alignment. However, the complexity of the distributed algorithm is unknown, since as the channel size increases, the rate of convergence is still an open problem [28].
Comparison in running time between the MIMO X channel and interference channel
Channel size  2×3  3×4  4×5  5×6  

Channel type  
X channel  4.249 s  6.191 s  10.766 s  19.937 s  
Interference channel  With selection  24.086 s  3.161×10^{2} s  2.479×10^{3} s  2.783×10^{4} s 
Without selection  4.014 s  13.172 s  19.658 s  38.655 s 
From the table, we can find that the running time of the MIMO X channel is almost in the same order of magnitude with the running time of the MIMO interference channel without selection. However, the running time of the MIMO interference channel with selection is much larger, since the procedure of relay selection requires the traversal of all the possible combinations to find the one that gives the maximum transmission rate. On a K _{ n }×K _{ n+1} MIMO interference channel, assuming K _{ n }≤K _{ n+1}, there are \(C^{K_{n}}_{K_{n+1}}\) (i.e., selections of K _{ n } numbers of a set with K _{ n+1} numbers where order is regarded) possible choices, which leads to a multiple of \(\frac {K_{n}!}{(K_{n}K_{n+1})!}\) to the running time of the interference channel without selection.
5.3 Evaluation of the whole system
We evaluate the performance of our system in data rate with two benchmark systems: (i) multiple layers of parallel relays system with only one relay in each layer and (ii) the system built by replacing the MIMO X channels in our proposed system with MIMO interference channls and uses the IA algorithm presented in [28] to design transceivers.
In Fig. 10, we compare our system with system “(ii),” which is built by replacing the MIMO X channels in our proposed system with MIMO interference channels. We have shown the MIMO interference channel of system “(ii)” in our corresponding conference paper [20], where each first layer relay should select a distinct second layer relay. In that system, there are two cases: interference channel without selection and interference channel with selection.
From Fig. 10, we can see that due to the inequality of the relays in each layer, the transmission rate of our system with MIMO X channels is 52 and 66 % higher than the system with MIMO interference channels with and without selection, respectively.
6 Conclusions
In this paper, we studied the relay network consisting of multiple layers of relays with multiple antennas. We divided the system into three parts, consisting of broadcast channels, multipleaccess channels, and MIMO X channels. For the broadcast and multipleaccess channels, we optimized the precoder and decoder of each transmitter and receiver under the condition of interference alignment. For the MIMO X channels, we designed transmit and receive beamforming matrices based on IA technique. Furthermore, we generalized the power constraint from node level to layer level in system evaluation and determined the power allocation of all nodes. Finally, we evaluated the performance of our system and two benchmark systems and showed that our system could achieve around 40 % higher transmission rate.
7 Endnotes
^{1}In the following of this paper, we call it as a T _{int}dimensional interference subspace.
^{2} \(\mathbf {H}^{n}_{ij}\mathbf {Q}^{n}\mathbf {W}^{n}_{ij}\) is the subspace of interference signals from transmitter \({R^{n}_{i}}\) received by receiver \(R^{n+1}_{j}\)
^{3}The conditions (K _{ n }−1)(M−T)<T and (K _{ n+1}−2)(T−T _{int})<T _{int} should be satisfied to guarantee the existences of \(\mathbf {W}^{n}_{ij}\) and \(\mathbf {E}^{n}_{jmn}\), since \(\mathbf {W}^{n}_{ij}\) and \(\mathbf {E}^{n}_{imj}\) are in the null space of \(\mathbf {A}^{n}_{j(i)}\) and \(\mathbf {B}^{n}_{i(m,j)}\), respectively.
^{4}According to Eq. (5), we can find that \(\mathbf {V}^{n}_{im} = \mathbf {W}^{n}_{i1}\mathbf {E}^{n}_{im1}\). In order to get \(\mathbf {V}^{n}_{im}\), we only need to calculate \(\mathbf {E}^{n}_{im1}\) rather than E _{ imj } for all j∈{1,2,…K _{ n+1}}.
Declarations
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License(http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
Authors’ Affiliations
References
 A Ibrahim, A Sadek, W Su, K Liu, Cooperative communications with relayselection: when to cooperate and whom to cooperate with?IEEE Trans.Wireless Commun. 7(7), 2814–2827 (2008).View ArticleGoogle Scholar
 X Liang, S Jin, X Gao, KK Wong, Outage performance for decodeandforward twoway relay network with multiple interferers and noisy relay. IEEE Trans. Commun. 61(2), 521–531 (2013).View ArticleGoogle Scholar
 Y Sagar, J Yang, H Kwon, in Proc. of IEEE Vehicular Technology Conference (VTC). Capacity of a modulosum arbitrary SISO relay network (IEEEYokohama, 2012), pp. 1–5.Google Scholar
 W Tam, T Lok, T Wong, Flow optimization in parallel relay networks with cooperative relaying. IEEE Trans. Wireless Commun. 8(1), 278–287 (2009).View ArticleGoogle Scholar
 A Behbahani, R Merched, A Eltawil, Optimizations of a MIMO relay network. IEEE Trans. Signal Process. 56(10), 5062–5073 (2008).MathSciNetView ArticleGoogle Scholar
 S Borade, L Zheng, R Gallager, Amplifyandforward in wireless relay networks: rate, diversity, and network size. IEEE Trans. Inf. Theory. 53(10), 3302–3318 (2007).MathSciNetView ArticleMATHGoogle Scholar
 O Popescu, C Rose, D Popescu, in Proc. of IEEE GLOBECOM, 5. Signal space partitioning versus simultaneous water filling for mutually interfering systems (IEEEDallas, 2004), pp. 3128–3132.Google Scholar
 R Menon, A MacKenzie, J Hicks, R Buehrer, J Reed, A gametheoretic framework for interference avoidance. IEEE Trans. Commun. 57(4), 1087–1098 (2009).View ArticleGoogle Scholar
 V Cadambe, S Jafar, Interference alignment and degrees of freedom of the Kuser interference channel. IEEE Trans. Inf. Theory. 54(8), 3425–3441 (2008).MathSciNetView ArticleMATHGoogle Scholar
 M MaddahAli, A Motahari, A Khandani, Communication over MIMO X channels: interference alignment, decomposition, and performance analysis. IEEE Trans. Inf. Theory. 54(8), 3457–3470 (2008).MathSciNetView ArticleMATHGoogle Scholar
 S Jung, J Lee, in Proc. of International Symposium on Personal Indoor and Mobile Radio Communications (PIMRC)). Interference alignment and cancellation for the twouser X channels with a relay (IEEELondon, 2013), pp. 202–206.Google Scholar
 C Suh, D Tse, in Proc. of 46th Ann. Allerton Conf. Commun., Control and Computing. Interference alignment for cellular networks (IEEEMonticello, 2008), pp. 1037–1044.Google Scholar
 V Ntranos, M MaddahAli, G Caire, Cellular interference alignment. IEEE Trans. Inf. Theory. 61(3), 1194–1217 (2015).MathSciNetView ArticleGoogle Scholar
 N Chiurtu, B Rimoldi, I Telatar, in Proc. of IEEE Int. Symp. Inf. Theory (ISIT), 53. On the capacity of multiantenna Gaussian channels (IEEEWashington, 2001).Google Scholar
 W Yu, W Rhee, Degrees of freedom in wireless multiuser spatial multiplex systems with multiple antennas. IEEE Trans. Commun. 54(10), 1747–1753 (2006).View ArticleGoogle Scholar
 GJ Foschini, MJ Gans, On limits of wireless communications in a fading environment when using multiple antennas. Wireless Pers. Commun. 6(3), 311–335 (1998).View ArticleGoogle Scholar
 L Zheng, D Tse, in Proc. of IEEE Int. Symp. Inf. Theory (ISIT). Sphere packing in the Grassmann manifold: a geometric approach to the noncoherent multiantenna channel (IEEESorrento, 2000), p. 364.Google Scholar
 W Yu, J Cioffi, Sum capacity of Gaussian vector broadcast channels. IEEE Trans. Inf. Theory. 50(9), 1875–1892 (2004).MathSciNetView ArticleMATHGoogle Scholar
 S Jafar, Fakhereddin M, Degrees of freedom for the MIMO interference channel. IEEE Trans. Inf. Theory. 53(7), 2637–2642 (2007).MathSciNetView ArticleMATHGoogle Scholar
 Y Wei, TM Lok, in Proc. of IEEE Vehicular Technology Conference (VTC). Optimization of interference alignment in MIMO channel with multiple layers of relays (IEEEVancouver, 2014), pp. 1–5.Google Scholar
 V Cadambe, S Jafar, Interference alignment and the degrees of freedom of wireless X networks. IEEE Trans. Inf. Theory. 55(9), 3893–3908 (2009).MathSciNetView ArticleGoogle Scholar
 C Huang, V Cadambe, S Jafar, Interference alignment and the generalized degrees of freedom of the X channel. IEEE Transa. Inf. Theory. 58(8), 5130–5150 (2012).MathSciNetView ArticleGoogle Scholar
 A Agustin, J Vidal, in Proc. of IEEE Inf. Theory Workshop (ITW). Degrees of freedom of the rankdeficient MIMO X channel (IEEESeville, 2013), pp. 1–5.Google Scholar
 L Davis, Handbook of genetic algorithms (Van Nostrand Reinhold, New York, 1991).Google Scholar
 Z Pan, KK Wong, TS Ng, in IEEE Trans. Wireless Commun, 3. Generalized multiuser orthogonal spacedivision multiplexing, (2004), pp. 1969–1973.Google Scholar
 S Boy, L Vandenberghe, Convex optimization (Cambridge University Press, Cambridge, 2004).Google Scholar
 M Grant, S Boyd, CVX: Matlab software for disciplined convex programming [Online]. Available: http://stanford.edu/~boyd/cvx Dec. 2008.
 K Gomadam, V Cadambe, S Jafar, A distributed numerical approach to interference alignment and applications to wireless interference networks. IEEE Trans. Inf. Theory. 57(6), 3309–3322 (2011).MathSciNetView ArticleGoogle Scholar
 C Sun, Y Yang, Y Yuan, Low complexity interference alignment algorithms for desired signal power maximization problem of MIMO channels. EURASIP J. Adv. Signal Process. 2012(1), 1–13 (2012).View ArticleGoogle Scholar
 GH Golub, CF Van Loan, Matrix computations, vol. 3 (JHU Press, Baltimore, 2012).MATHGoogle Scholar