**Appendix A. K-User MIMO Interference Alignment Mathematics for** *K* **<sup>=</sup> <sup>3</sup>**

#### *Appendix A.1. System of Interference Alignment Equations for Precoder Generation*

Interference cancellation can be achieved subject to the following constraints.

*Postulate 1* [17]: At each mobile device, interfering signals from the same access point cannot be aligned in the same direction such that *Hijvkj* = *Hijvlj*, where *i* = *k* = *l*.

*Postulate 2* [17]: In a *<sup>K</sup>* user system, since each mobile device receives *<sup>K</sup>*(*<sup>K</sup>* <sup>−</sup> <sup>1</sup>) interference components, in order to align (*K* − 1) interference signals along *K* dimensions, the condition to be met is *span*(*Himvkm*) = *span*(*Hinvln*), where *k*, *l* = *i*.

Since there are *K*(*K* − 1) interference terms at each mobile device, the minimum number of antennas at each access point and mobile device has to be *M* = *K*(*K* − 1).

Table A1 shows one possible set of Interference Alignment equations for *K* = 3. These equations are formed by dividing the *K*(*K* − 1) interference terms at each mobile device into pairs, subject to postulates 1 and 2. Each pair represents the left- and right-hand sides of a single IA equation. Since there are *<sup>K</sup>*(*<sup>K</sup>* <sup>−</sup> <sup>1</sup>) interference terms at each mobile device, there will be *<sup>K</sup>*(*K*−1) <sup>2</sup> IA equations. These equations will be used to solve for the precoders.


**Table A1.** *K*-User MIMO X Interference Alignment (IA) conditions, *K* = 3.

Each access point will apply *K* precoders. From the IA equations, the precoders *vij* are obtained as follows:

$$\begin{aligned} v\_{12} &= \left(H\_{22}\right)^{-1} H\_{21} v\_{11} & v\_{33} &= \left(H\_{13}\right)^{-1} H\_{11} v\_{31} \\ v\_{21} &= \left(H\_{31}\right)^{-1} H\_{32} v\_{12} & v\_{32} &= \left(H\_{22}\right)^{-1} H\_{23} v\_{33} \\ v\_{22} &= \left(H\_{12}\right)^{-1} H\_{11} v\_{21} & v\_{23} &= \left(H\_{13}\right)^{-1} H\_{12} v\_{32} \\ v\_{13} &= \left(H\_{33}\right)^{-1} H\_{32} v\_{22} & v\_{11} &= \left(H\_{31}\right)^{-1} H\_{33} v\_{23} \\ v\_{31} &= \left(H\_{21}\right)^{-1} H\_{23} v\_{13} \end{aligned} \tag{A1}$$

The initial value of *v*<sup>11</sup> is obtained by first defining a matrix *E* [17] as follows:

$$\begin{split} E &= \left( H\_{31} \right)^{-1} H\_{33} (H\_{13})^{-1} H\_{12} (H\_{22})^{-1} H\_{23} (H\_{13})^{-1} H\_{11} \\ &\times \left( H\_{21} \right)^{-1} H\_{23} (H\_{33})^{-1} H\_{32} (H\_{12})^{-1} H\_{11} (H\_{31})^{-1} H\_{32} \\ &\times \left( H\_{22} \right)^{-1} H\_{21} . \end{split} \tag{A2}$$

It is to be noted that *E* is obtained from Equation (A1). Then, *v*<sup>11</sup> is arbitrarily chosen to be one of the eigenvectors of *E* and subsequently, all the other precoders can be obtained in the order, *v*12, *v*21, *v*22, *v*13, *v*31, *v*33, *v*32, and *v*23.

#### *Appendix A.2. Obtaining the Beamformer for Interference Cancellation*

The zero forcing beamformer matrix *Ui* is obtained by first defining a matrix *P<sup>I</sup> <sup>i</sup>* for each mobile device and taking the Singular Value Decomposition (SVD) as follows:

$$\begin{aligned} P\_1^I &= \begin{bmatrix} H\_{11}\upsilon\_{21} & H\_{11}\upsilon\_{31} & H\_{12}\upsilon\_{32} \end{bmatrix} \\ &= \begin{bmatrix} \bar{U}\_1^{(1)} & \bar{U}\_1^{(0)} \end{bmatrix} \begin{bmatrix} \bar{\Lambda}\_1 \\ 0 \end{bmatrix} \begin{bmatrix} \bar{V}\_1^{(1)} & \bar{V}\_1^{(0)} \end{bmatrix}^H \end{aligned} \tag{A3}$$

where *P<sup>I</sup>* <sup>1</sup> is the set of aligned interfering column vectors at the first mobile device. From Equation (A3), we can set *U*¯ (0) <sup>1</sup> = *U*1, the zero forcing beamformer at the first mobile device. The number of columns in *U*<sup>1</sup> is equal to the number of nonzero singular values in Λ¯ 1. Similarly, we determine the beamformers at the second and third mobile devices by defining *P<sup>I</sup>* <sup>2</sup> = *<sup>H</sup>*21*v*<sup>11</sup> *<sup>H</sup>*21*v*<sup>31</sup> *<sup>H</sup>*22*v*32! and *PI* <sup>3</sup> = *<sup>H</sup>*31*v*<sup>11</sup> *<sup>H</sup>*31*v*<sup>21</sup> *<sup>H</sup>*32*v*22! , where *P<sup>I</sup>* <sup>2</sup> and *<sup>P</sup><sup>I</sup>* <sup>3</sup> are the sets of aligned interfering column vectors at the second and third mobile devices, respectively.

#### *Appendix A.3. Obtaining the Beamformer for Signal Separation*

At the *i th* mobile device, in order to separate the different signals sent from the *K* access points, we apply a second beamformer matrix. This operator is applied *K* times at each mobile device. This matrix is obtained by defining a matrix *P<sup>D</sup> ij* for each access-point–mobile-device pair and taking the SVD as follows:

$$\begin{aligned} P\_{11}^D &= \begin{bmatrix} \mathcal{U}\_1^H H\_{12} v\_{12} & \mathcal{U}\_1^H H\_{13} v\_{13} \end{bmatrix} \\ &= \begin{bmatrix} \bar{\mathcal{U}}\_{11}^{(1)} & \bar{\mathcal{U}}\_{11}^{(0)} \end{bmatrix} \begin{bmatrix} \bar{\mathcal{X}}\_{11} \\ 0 \end{bmatrix} \begin{bmatrix} \bar{\mathcal{V}}\_{11}^{(1)} & \bar{\mathcal{V}}\_{11}^{(0)} \end{bmatrix}^H \end{aligned} \tag{A4}$$

where *P<sup>D</sup>* <sup>11</sup> is the set of desired column vectors at mobile device 1 corresponding to access points 2 and 3. From Equation (A4), we can set *U*¯ (0) <sup>11</sup> = *U*11. The number of columns in *U*<sup>11</sup> is equal to the number of nonzero singular values in Λ¯ 11. The matrix *U*11, when multiplied to the received signal after zero forcing, isolates the desired signal at mobile device 1 from access point 1. Similarly, the desired signals at mobile device 1 from access points 2 and 3 respectively can be isolated by defining *P<sup>D</sup>* <sup>12</sup> = *U<sup>H</sup>* <sup>1</sup> *<sup>H</sup>*11*v*<sup>11</sup> *<sup>U</sup><sup>H</sup>* <sup>1</sup> *<sup>H</sup>*13*v*13! and *P<sup>D</sup>* <sup>13</sup> = *U<sup>H</sup>* <sup>1</sup> *<sup>H</sup>*11*v*<sup>11</sup> *<sup>U</sup><sup>H</sup>* <sup>1</sup> *<sup>H</sup>*12*v*12! , where *P<sup>D</sup>* <sup>12</sup> and *<sup>P</sup><sup>D</sup>* <sup>13</sup> are the sets of desired column vectors at mobile device 1 corresponding to access points 1,3 and 1,2, respectively. The same process can be repeated at the other mobile devices.

#### *Appendix A.4. K-User MIMO X Demodulation and Symbol Detection*

The following demodulation process helps recover symbols arriving from each access point. Note that this process is applied after zero forcing and signal separation. Defining Γ*ij* = *U<sup>H</sup> ij <sup>U</sup><sup>H</sup> <sup>i</sup> Hij* and taking the SVD, we have

$$
\Gamma\_{ij} = \Phi\_{ij} \cdot \Lambda\_{ij} \cdot \Psi\_{ij}^{H} \,\tag{A5}
$$

where Λ*ij* is a diagonal matrix containing the singular values of Γ*ij* such that

$$
\Lambda\_{ij} = \begin{bmatrix}
\lambda\_{ij}(1) & 0 & \dots & 0 & 0 & 0 \\
0 & \lambda\_{\bar{j}j}(2) & 0 & \dots & 0 & 0 \\
\vdots & \vdots & & & \ddots & \\
0 & 0 & \lambda\_{\bar{j}\bar{j}}(N\_{\bar{s}}) & 0 & \dots & 0
\end{bmatrix} . \tag{A6}$$

The information symbol from access point *j* to mobile device *i* is estimated by the element wise division,

$$\left[\mathfrak{s}\_{ij}(1), \ldots, \mathfrak{s}\_{i\bar{j}}(\gamma), \ldots, \mathfrak{s}\_{i\bar{j}}(N\_s)\right]^T = \frac{\mathfrak{s}\_{i\bar{j}}^H \mathfrak{j}\_{i\bar{j}}}{\mathfrak{v}\_{i\bar{j}}^H v\_{i\bar{j}}}.\tag{A7}$$

The demodulation process recovers *Ns* copies (refer to Table 1) of each symbol *sij* corresponding to the number of nonzero singular values in Λ*ij*.

Due to interference cancellation, the demodulated signal obtained from Equation (A7) takes the form

$$\mathfrak{sl}\_{i\bar{j}} = \sum\_{\gamma=1}^{N\_s} \lambda\_{i\bar{j}}(\gamma) s\_{i\bar{j}}(\gamma) + \mathfrak{w}\_{i\star} \tag{A8}$$

where *λij*(*γ*) is the *γth* diagonal element in Λ*ij* and *w*ˆ*ij* is the noise after demodulation.

The spectral efficiency after interference cancellation, signal separation, and demodulation can be computed as follows:

$$\mathcal{C}\_{\text{bits}/\text{sec}/Hz} = \log\_2 \left[ 1 + \frac{\left| \sum\_{\gamma=1}^{N\_s} \lambda\_{i\bar{j}}(\gamma) s\_{i\bar{j}}(\gamma) \right|^2}{|\mathfrak{d}\_{\bar{i}}|^2} \right]. \tag{A9}$$

#### **Appendix B. Proof of Theorem 1**

**Proof.** To complete the proof, we leverage two well-known results from Matrix Theory [29]. First, for any matrix *A*, the sum of the squares of the singular values is equal to the square of its Frobenius Norm such that ∑*<sup>i</sup> λ*<sup>2</sup> *<sup>i</sup>* (*A*) = *A*<sup>2</sup> *<sup>F</sup>*, where *λi*(*A*) is the *i th* singular value of *<sup>A</sup>* and *A<sup>F</sup>* is the Frobenius Norm of *A*. This follows from the decomposition of matrix *A* as a singular value decomposition, *A* = *U*Λ*VH*. The Frobenius norm is invariant under orthogonal transformation of the left and right orthogonal matrices. Therefore, based on the fact that *λi*(*A*) is the component of *A* along the diagonal of Λ, the sum of squares of the components of Λ equals the square of the Frobenius norm.

Second, the Frobenius Norm of the product of matrices is upper bounded by the product of the Frobenius Norms of the individual matrices such that *AB<sup>F</sup>* ≤ *A<sup>F</sup> BF*. The proof of this is based on the well-known Cauchy–Schwarz Inequality.

From Equation (A5), Γ*ij* = *U<sup>H</sup> ij <sup>U</sup><sup>H</sup> <sup>i</sup> Hij* and *λij*(1)··· *λij*(*Ns*) are the singular values of Γ*ij*. Combining the above two statements from [29],

$$\begin{split} \sum\_{\gamma=1}^{N} |\lambda\_{ij}(\gamma)|^2 &= \left\| \Gamma\_{\vec{ij}} \right\|\_{F}^{2} \\ &\leq \left\| L\_{ij}^{H} \right\|\_{F}^{2} \left\| \boldsymbol{\mathcal{U}}\_{i}^{H} \right\|\_{F}^{2} \left\| H\_{ij} \right\|\_{F}^{2} \\ &\leq \sum |\lambda(\boldsymbol{\mathcal{U}}\_{ij}^{H})|^{2} \sum |\lambda(\boldsymbol{\mathcal{U}}\_{i}^{H})|^{2} \sum |\lambda(\boldsymbol{\mathcal{H}}\_{ij})|^{2} \\ &\leq \left[ M - \frac{N\_{I}}{2} - (N\_{D} - 1) \right] \left[ M - \frac{N\_{I}}{2} \right] \cdot \left[ M - \frac{N\_{I}}{2} \right] M \cdot M, \end{split} \tag{A10}$$

where *λ*(*U<sup>H</sup> ij* ), *<sup>λ</sup>*(*U<sup>H</sup> <sup>i</sup>* ), and *<sup>λ</sup>*(*Hij*) are the singular values of *<sup>U</sup><sup>H</sup> ij* , *<sup>U</sup><sup>H</sup> <sup>i</sup>* , and *Hij*, respectively. It should be noted that ∑*Ns <sup>γ</sup>*=<sup>1</sup> |*λij*(*γ*)| <sup>2</sup> is the gain for one stream between the *j th* access point and the *i th* mobile device. There are *K*<sup>2</sup> such streams. Therefore, the multi-user capacity is given by

$$C\_{\rm bits/sec} \le BK^2 \log\_2 \left( 1 + \left[ M - \frac{N\_I}{2} - (N\_D - 1) \right] \left[ M - \frac{N\_I}{2} \right]^2 M^2 \times SINR \right). \tag{A11}$$

#### **Appendix C. Verification of Capacity Upper Bound**

To verify the capacity upper bound for *K* = 3, several simulation trials were run in which Rayleigh Fading Channels with the Indoor A power delay profile were generated. It should be noted that *Uij* and *Ui* are normalized to have a power of 1, whereas *Hij* has a power of 1 only in an expected sense. The values of <sup>∑</sup> |*λ*(*U<sup>H</sup> ij* )| 2, <sup>∑</sup> |*λ*(*U<sup>H</sup> <sup>i</sup>* )| 2, and <sup>∑</sup> |*λ*(*Hij*)| <sup>2</sup> were found to be 3, 18, and 6, which correspond to the dimensions of *Uij*, *Ui*, and *Hij*, respectively (Table 1).

The SVD in Equation (A5) is computed and a distribution of the sum of the singular value powers ∑*Ns <sup>γ</sup>*=<sup>1</sup> |*λij*(*γ*)| <sup>2</sup> is plotted. This is shown in Figure A1. It can be clearly seen from the distribution that the values of the singular value power sum fall below the upper bound for *K* = 3, thus satisfying the theorem.

**Figure A1.** Relative frequency distribution of the singular value power sum for *K* = 3. The upper bound for this sum is given by Equation (A10).

#### **Appendix D. Channel Estimation Theory and Cramér–Rao Lower Bound**

In OFDM systems, for proper detection of symbols, channel estimation is performed by transmitting either known pilot symbols at certain frequency subcarriers or across the entire OFDM symbol. In the *K*-User MIMO X framework described above, the pilot signals are set up such that only one antenna is transmitting in any given symbol time, during the estimation phase. So, the MIMO channel estimation can be broken down into several single-antenna channel estimations. To that end, in this section, we summarize some of the well known theories on estimating a channel between a single transmit–receive antenna pair. We also present the mathematics for calculating the Cramér–Rao Lower Bound (CRLB).

Let *<sup>h</sup>* = [*h*(0), *<sup>h</sup>*(1), ... , *<sup>h</sup>*(*<sup>L</sup>* − <sup>1</sup>)]*<sup>T</sup>* represent the length *<sup>L</sup>* Channel Impulse Response (CIR). Let us denote the Channel Frequency Response (CFR) as *H* = *Fh*, where *F* is the *N* × *N* Fourier Transform twiddle factor matrix, where *N* is the Fourier Transform size.

Let us assume that an OFDM symbol *X* containing *Np* pilots is transmitted, where *Np* ≤ *N*. The received signal *Y* between a single transmit–receive antenna pair in the frequency domain is given by [30]

$$Y = \operatorname{diag}(X)\mathcal{F}\mathcal{h} + \mathcal{W}\_{\prime} \tag{A12}$$

where *W* is the noise with variance *σ*<sup>2</sup> *w*.

Let *Fp* denote the *Np* × *L* truncated Fourier matrix. The Maximum Likelihood estimate of the channel is given by [30]

$$h\_{ML} = (F\_p^H F\_p)^{-1} F\_p^H \operatorname{diag}(\mathbf{X})^H \mathbf{Y}. \tag{A13}$$

It is to be noted that *hML* is in the time domain. The corresponding frequency domain estimate *HML* can be obtained by taking the Fourier Transform.

The Minimum Mean Square Error estimate of the channel is given by [30]

$$H\_{\rm MMSE} = R\_{HH\_p}(R\_{HH\_p} + \sigma^2 (\dot{diag}(X)\dot{diag}(X)^H)^{-1})^{-1} H\_{\rm ML} \tag{A14}$$

where *Hp* is the channel frequency response at the pilot subcarriers, *RHHp* is the cross-correlation between all the subcarriers and the pilot-subcarriers, and *RHpHp* is the autocorrelation between the pilot subcarriers.

The CRLB is referenced from [31], in which it is defined as follows:

$$
\sigma\_{CRLB}^2 = \sigma^2 \text{Tr}\{D^{-1}\},
\tag{A15}
$$

where <sup>1</sup> *<sup>σ</sup>*<sup>2</sup> is the effective signal-to-noise ratio after the signal power has been normalized to 1. The operator *Tr*{.} is the matrix trace. The matrix *D*, a function of the pilot locations is defined as *Dn*,*<sup>k</sup>* = *Np*−1 ∑ *m*=0 *<sup>e</sup>*−*j*2*π*(*n*−*k*)*im*/*<sup>N</sup>* <sup>0</sup> <sup>≤</sup> *<sup>n</sup>*, *<sup>k</sup>* <sup>≤</sup> *<sup>L</sup>* <sup>−</sup> 1, where {*im* : <sup>0</sup> <sup>&</sup>lt; *<sup>m</sup>* <sup>&</sup>lt; *Np* <sup>−</sup> <sup>1</sup>} represents the indices of the pilot locations.

#### **References**


**Publisher's Note:** MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
