This code package is related to the following scientific article:
Peter Händel, Özlem Tugfe Demir, Emil Björnson, Daniel Rönnow, “Impact of Backward Crosstalk in 2x2 MIMO Transmitters on NMSE and Spectral Efficiency,” IEEE Transactions on Communications, vol. 68, no. 7, pp. 4277-4292, July 2020.
The package contains a simulation environment, based on Matlab, that reproduces some of the numerical results and figures in the article. We encourage you to also perform reproducible research!
We consider backward crosstalk in 2 x 2 transmitters, which is caused by crosstalk from the outputs of the transmitter to the inputs or by the combination of output crosstalk and impedance mismatch. We analyze its impact via feedback networks together with third-order power amplifier non-linearities. We utilize the Bussgang decomposition to express the distorted output signals of the transmitter as a linear transformation of the input plus uncorrelated distortion. The normalized mean-square errors (NMSEs) between the distorted and desired amplified signals are expressed analytically and the optimal closed-form power back-off that minimizes the worst NMSE of the two branches is derived. In the second part of the paper, an achievable spectral efficiency (SE) is presented for the communication from this “dirty” transmitter to another single-antenna receiver. The SE-maximizing precoder is optimally found by exploiting the hardware characteristics. Furthermore, the optimal power back-off is analyzed for two sub-optimal precoders, which either do not exploit any hardware knowledge or only partial knowledge. The simulation results show that the performance of these sub-optimal precoders is close-to-optimal. We also discuss how the analysis in this paper can be extended to transmitters with an arbitrary number of antenna branches.
The article contains 10 simulation figures, numbered 2-11. Figure 2 is generated by the Matlab script Fig2_comparison_analytical_simulation.m. Figure 3 is generated by the Matlab script Fig3_NMSE_symmetric.m. Figure 4 is generated by the Matlab script Fig4_NMSE_optimal_power_symmetric.m by properly selecting the crosstalk parameter. Figure 5 and Figure 6 are generated by the Matlab scripts Fig5_NMSE_asymmetric.m and Fig6_NMSE_optimal_power_asymmetric.m, respectively. Figures 7, 8, and 9 are generated by the Matlab script Fig7_8_9_SE. Figure 10 and Figure 11 are generated by the Matlab scripts Fig10_channel_gain and Fig11_crosstalk, respectively. The package also contains the Matlab scripts backward_crosstalk.m, nmse_evaluate_m, nmse_optimize.m, se_evaluate.m, and se_optimize.m that are MATLAB functions used by some of the scripts.
You can run the code in MATLAB online without a license by clicking on the link above.
See each file for further documentation.
The work of Ö. T. Demir and E. Björnson was partially supported by ELLIIT and the Wallenberg AI, Autonomous Systems and Software Program (WASP) funded by the Knut and Alice Wallenberg Foundation. The work of D. Rönnow was partially financed by the European Commission within the European Regional Development Fund, the Swedish Agency for Economic and Regional Growth, and Region Gävleborg.
This code package is licensed under the GPLv2 license. If you in any way use this code for research that results in publications, please cite our original article listed above.