A unified messagepassing algorithm for MIMOSDMA in softwaredefined radio
 Alexander Kocian^{1}Email authorView ORCID ID profile,
 MihaiAlin Badiu^{2},
 Bernard Henri Fleury^{2},
 Francesca Martelli^{3} and
 Paolo Santi^{3, 4}
https://doi.org/10.1186/s136380160786y
© The Author(s) 2017
Received: 11 September 2015
Accepted: 6 December 2016
Published: 3 January 2017
Abstract
This paper presents a novel software radio implementation for joint channel estimation, data decoding, and noise variance estimation in multipleinput multipleoutput (MIMO) space division multiple access (SDMA). In contrast to many other iterative solutions, the proposed receiver is derived within the theoretical framework of a unified messagepassing algorithm, combining belief propagation (BP) and the mean field approximation (MF) on the corresponding factor graph. The algorithm minimizes the regionbased variational free energy in the system under appropriate conditions and, hence, converges to a fixpoint. As a usecase, we consider the highrate packetoriented IEEE 802.11n standard. Our receiver is implemented on a softwaredefined radio platform dubbed MIMONet, composed of a GNU radio software component and a universal software radio peripheral (USRP). The receiver was evaluated in real indoor environments. The results of our study clearly show that, once synchronization issues are properly addressed, the BPMF receiver provides a substantial performance improvement compared to a conventional receiver also in realworld settings. Such improvement comes at the expense of an increase in running time that can be as high as 87. Therefore, the tradeoff between communication performance and receiver complexity should be carefully evaluated in practical settings.
Keywords
1 Introduction
Multipleinput multipleoutput (MIMO) technology is popular in wireless communications due to the increased spectrum efficiency brought along by the use of multiple antennas in transmission, reception, or both. A further performance improvement is possible when MIMO technology is used in combination with orthogonal frequency division multiplexing (OFDM) modulation, namely, when different streams of information bits are modulated on orthogonal subcarriers.
The basic role of the receiver is to decode the information bits from the received signal which is affected by various unknown factors, such as the channel response and receiver noise. Receivers were originally designed to process the received signal in a cascaded fashion, starting with synchronization, then channel estimation, equalization, and finally decoding. Building on the intuition that (soft) information generated by one module can actually be reused as a refined input to other modules, a multitude of receiver structures performing iterative, “turbo”like processing have been proposed in the literature. Results unequivocally show substantial performance gains compared to noniterative architectures. However, separate design of the individual modules cannot provide the guarantee of global optimality or convergence. Moreover, it is not clear what type of information the modules should exchange and how to combine/process it. In recent years, several works have looked at the receiver design from the perspective of Bayesian inference on graphical models [1]. The use of formal frameworks for approximate inference allows for a principled design of iterative receiver structures. Among the various algorithms for approximate inference [1], the belief propagation (BP) algorithm [2] (also referred to as sumproduct algorithm [3]) is the most celebrated one. The algorithm operates by passing messages on the socalled factor graph, which represents the factorization of the probabilistic model of the communication system. The algorithm is able to compute exact marginal probability density functions (pdfs) only when the factor graph is cycle free; otherwise, it outputs approximations of the marginal pdfs. Still, it was shown to work well in many graphs with cycles. This led to its widespread use in digital communications [3, 4]. However, BP usually yields intractable computations in probabilistic models with mixed discrete and continuous variables (see, e.g., [5]), which is also the case with our MIMO model. Different from BP, the mean field (MF) approximation [1] is a variational inference method that has been successfully applied to continuous probabilistic models. The algorithm also admits a messagepassing formulation [6], and typically has simple closedform message computation, especially for conjugateexponential models. Its main drawback is that, for some models, the provided solution is not accurate enough, due to the underlying approximation of the joint posterior pdf (see [1] for more details). When the probabilistic model contains both continuous and discrete variables and the dependencies between them are both deterministic and stochastic, it is advantageous to apply the BP and MF algorithms in those parts of the factor graph where they are most suitable. For this purpose, we employ the recently proposed unifying inference framework that combines BP and MF [7]. In a nutshell, the factor graph is divided into two parts, the BP part and the MF part, where, respectively, BPlike and MFlike messages are computed. The framework states clear message computation rules, including specific expressions for the messages to be passed between the two parts. The unified nature of the algorithm resides in the fact that it iteratively optimizes a single objective function. Having derived a BPMFbased MIMOspace division multiple access (SDMA) receiver in [8], we want to adapt and test it in real channels using softwaredefined radio (SDR).
SDR systems are becoming commonly used in the wireless networking research community due to their flexibility in rearranging different communication architectures with limited effort. Three key virtues of SDR are reconfigurability, intelligence, and flexibility [9]. To reduce hardware integration costs and to increase flexibility in implementing the physical layer at the same time, SDR systems run functional modules—such as synchronization, modulation/demodulation, coding/decoding, interleaving/deinterleaving, and channel parameter estimation—in a software that is executed on personal computers. Therefore, SDR technology facilitates implementation of reconfigurable radio systems where dynamic selection of parameters for the aforementioned modules is possible. The literature reports a number of SDR testbeds, designed to test networklevel protocols. Popular among them are the Wireless Open Access Research Platform (WARP) [10, 11] developed at Rice University and the Microsoft Research Software Radio (MSSORA) [12]. Hydra [13], developed at the University of Texas at Austin, is a SDR testbed comprising radio software by GNU (recursive acronym for “GNU’s Not Unix”) and universal software radio peripheral (USRP) by Ettus Research™ [14]. The media access control layer (MAC) and the physical layer (PHY) design of Hydra implements the IEEE 802.11 distributed coordination function and a 2×2 MIMOOFDM based on the IEEE 802.11a/g standard, respectively. Since then USRP hardware/GNU radio software was used to implement and test a series of heuristic receivers at PHY [15–17], other USRP/GNU radio implementations test a rate adaptation technique [18] and a random access protocol for MIMO networks [19]. To our best knowledge, there is only one publication related to a USRP hardware/GNU radio software implementation based on a theoretical framework: the expectationmaximization (EM) algorithm with a BP maximization step has been used in the context of OFDM physicallayer network coding (PNC) systems for phase tracking and singleuser channel decoding [20].
This paper assesses the real performance of a MIMOSDMA receiver, performing joint multiuser data decoding, multichannel, and noise variance estimation (JDE), implemented on a selfmade USRP/GNU radio testbed dubbed MIMONet [21]. In contrast to many existing receiver implementations, ours is based on principled design, namely the combined BPMF messagepassing framework [7], where the virtues of BP and MF are kept but their respective drawbacks are avoided. Furthermore, the paper examines synchronization of (i) the USRP hardware, (ii) PHY burst and carrier at sample rate, and (iii) the CPU cores to process the individual data streams in parallel.
The rest of the paper is organized as follows. Section 2 presents an overview of the system under consideration, focusing on the PHY and MAC. As an example, we consider the highrate packetoriented IEEE 802.11n standard [22]. Section 3 presents the testbed setup and addresses three levels of synchronization. Section 4 applies the combined BPMF message passing to JDE. Section 5 evaluates the performance of the proposed scheme in real environments. A conventional MIMO receiver comprising a MIMO zeroforcing channel estimator and a maximumlikelihood sequence decoder is used as a benchmarking reference. We investigate the biterror rate (BER), packeterror rate (PER), and the execution time per uncoded bit in both lineofsight (LOS) and nonelineofsight (NLOS) conditions. The results of our experiments clearly demonstrate the receiver complexity vs. performance tradeoff: if BPMF is executed with a single iteration, its performance is worse than that of the conventional receiver. However, the performance of the BPMF drastically improves with the number of iterations: with five iterations, its performance is already consistently better than the conventional receiver, while up to 4 dB performance gain can be achieved after about 20 iterations when BPMF has converged.
Notation: In the following, (·)^{ † }, \(\mathfrak {R}(\cdot)\), and \(\mathfrak {I}(\cdot)\) denote the conjugate transpose and the real and the imaginary parts of a complex argument, respectively. The symbol ∠ is the argument of a complex number. The symbol diag{·} denotes a square matrix with the argument along its main diagonal. The Hadamard product of two vectors is denoted by ⊙. Moreover, ∥·∥ is the two norm of the argument. Vectors and matrices in the frequency domain (time domain) are represented by boldface lowercase and uppercase Latin (Greek) letters, respectively, unless otherwise stated. The notation col{·} represents the column vector with the elements in the argument as its entries. The symbol 0 _{ m×n } denotes the m×ndimensional allzero matrix, whereas I _{ n } represents the identity matrix of size n×n. The pdf of a multivariate Gaussian random vector with mean μ and covariance matrix Σ is denoted by CN(·;μ,Σ). The pdf of a Gamma distribution with scale a and rate b is denoted by Ga(·;a,b).
2 System description
We consider a packetoriented multistream MIMOOFDM WLAN system with N _{ T } transmit (Tx) antennas and N _{ R } receive (Rx) antennas that implements multiple parallel, spatially segregated channels. As a working example, we refer to the IEEE 802.11n standard [22]. Each channel may support a separate data stream k∈ [ 1,K], \(K \triangleq \min \{ N_{T},N_{R}\}\).
This TO is mainly caused by the signal buffers in the receiving USRPs. Finally, the entries of the vector \(\boldsymbol {\omega }_{r} \in \mathbb {C}^{N}\) are independent circularly symmetric Gaussian random variables with variance \({\sigma ^{2}_{w}}\).
r=1,…,N _{ R }.
2.1 Probabilistic model of the MIMO system
While the assumption we make does not model/take into account spatial correlation, it leads to lower complexity channel estimation [8]. We thus prefer low complexity over performance of the algorithm. In (5), the frequencydomain noise vector w _{ r } has the pdf \(p(\boldsymbol {w}_{r}) = \text {CN}(\boldsymbol {w}_{r};\boldsymbol {0}, \lambda _{r}^{1}\boldsymbol {I}_{N})\) with \(\lambda _{r}\triangleq 1/N_{0}\) being the noise precision.
where \(p(u_{k}(i)\mathcal {Y})\) is the marginal posterior pdf of bit u _{ k }(i) and \(\mathcal {Y}\) contains the observation vectors of all receive antennas referring to all OFDM symbols of a packet: \(\mathcal {Y}\triangleq \{\boldsymbol {y}_{r}[\!n] \mid r\in \,[\!1,N_{R}], \, n\in \,[\!1,Q] \}\).
For the prior pdf of the channel vector h _{ rk }, we write \(f_{\text {H}_{rk}}(\boldsymbol {h}_{rk}) \triangleq p(\boldsymbol {h}_{rk})\), with p(h _{ rk }) given by (6). The factor p(d _{ k }[ 1],…,d _{ k }[ Q]u _{ k }) is denoted by \(\phantom {\dot {i}\!}f_{\text {C}_{k}}\) and stands for the deterministic operations of coding, interleaving, and modulation mapping performed in transmitter k. Finally, \(f_{\text {U}_{k,i}}(u_{k}(i))\triangleq p(u_{k}(i))\) is the prior probability mass function of the ith information bit of transmitter k. We assume a uniform prior, i.e., the bit values are a priori equally probable.
Now that we have defined the probabilistic model, it is important to note that exact marginalization of (8) requires evaluation of highdimensional integrals that do not admit closedformed expressions. That is, direct marginalization is computationally intractable. Therefore, we use an approximate inference framework to compute the estimates of the marginal pdfs of the variables, called beliefs. Then, the MAP decision in (7) will be applied to the beliefs \(b(u_{k}(i)) \approx p(u_{k}(i)\mathcal {Y})\) of the information bits.
2.2 Physical layer convergence protocol
To facilitate synchronization and automatic gain control, a preamble of length L _{ i } symbols with L _{ i } mod N=0, is prepended to each OFDM packet.
The offset binary phaseshift keying (BPSK)modulated short training field (STF) of the kth Tx antenna comprises a sequence of identical training symbols each of length N/4, extending over two OFDM symbols [22] Section 20.3.9. The periodic structure of the STF is ideally suited for FO estimation. A subsequent BPSKmodulated first long training field (LTF), composed of two identical training symbols each of length N, assists the receiver in estimating the TO and the CIR of the channel between the Tx antenna k and Rx antenna r. The following legacy signal field (SIG) carries information on the HT packet format. Additional N _{ T }−1 highthroughput LTFs \(\in \mathbb {C}^{N_{T}(N+P)}\) are based on the same long training symbol as the first LTF in the preamble.
For the other Tx antennas k ^{′},k ^{′}≠k, cyclic shift is applied to the above preamble structure to prevent beamforming when similar signals are transmitted on different spatial streams [22].
The receiver is unsynchronized and does not know the channel coefficients and the data sequences.
3 Testbed setup and synchronization
Hardware components constituting one node
Type  Model 

PC  Intel^{®;}Core™ i72600 @ 3.4GHz 
USRP body  Ettus Research™ N210 
USRP radio front end  Ettus Research™ XCVR2450 
Synchronizer  Spectracom Corp.^{®;} EC20S 
The open source software framework GNU radio under GNU general public license (GPL) was adopted to realize the transceiver chain depicted in Fig. 4. The choice of GNU radio was motivated by its scalability, its flexibility in setting the signal processing components, and its wide user base.
Three different levels of synchronization are needed to realize MIMO communications on computerhosted hardware: (i) synchronization of the USRPs; (ii) burst synchronization at sample level; (iii) synchronization of the CPU cores to process the individual data streams simultaneously.
In the sequel, we describe how we addressed synchronization at each level.
3.1 USRP hardware synchronization
To enable MIMO communications, the transceiver must incorporate the following two functionalities: (i) each USRP hardware requires clock synchronization to derive the local oscillator frequency and timing synchronization to align the analogtodigital converter/digitaltoanalog converter (ADC/DAC) samples; (ii) all CPU cores have to align the digital signal streams in frequency [23] by the 10 MHz singleton and in time by the pulsepersecond (PPS) timing references. Our synchronizer, listed in Table 1, derives these references from GPS signals. In this way, PPS signals can be derived with an accuracy better than ± 50 ns.
When two USRPs are located next to each other, the internal 10 MHz /1 PPS reference of one USRP can be used to synchronize the other with a MIMO cable.
3.2 PHY joint burst and carrier synchronization
3.2.1 Methodology
Subsequently, we present a lowcomplex closedform solution to joint ML timeoffset and fractional frequencyoffset estimation.
3.2.2 Synchronizer design
Notice that the likelihood function in (11) exhibits a unique maximum in contrast to that in the work by [24].
The above burst synchronization algorithm is implemented in GNU radio software at the host PC. The resulting synchronized observation vector \(\boldsymbol {y}[\!n,i] \triangleq \text {col} \left \{y_{1}[\!n,i] \ldots y_{N_{R}}[\!n,i] \right \}\), n=1,…,Q, i=1,…,N (cf. (4)) is postprocessed by MATLAB^{®;}.
3.3 Core synchronization
GNU radio 3.6.0 has an incorporated threadperblock scheduler that allows for each signal processing block in the flow graph to run in an independent thread. The thread, associated to one block, loops until GNU radio code is terminated. In each loop, the thread calls the block’s executer. If the block has available output buffer and sufficient data in the input buffer, the executor asks for signal processing on that block and then informs neighboring block(s) about its new status. Thus, all blocks in the flow graph process incoming data chunkbychunk [25].
4 Iterative channel estimation and data decoding
In this section, we describe our proposed MIMO receiver algorithm, which recovers the information bits of the K data streams. The various receiver tasks—channel estimation, MIMO detection, and decoding—are jointly designed by formulating the bit recovery process as Bayesian inference on the probabilistic model of the underlying OFDM system. The resulting algorithm iteratively computes and passes messages on the factor graph representing the probabilistic model. After a fixed number of iterations (tunable parameter), the algorithm returns the most probable configuration of the bits transmitted in the K data streams, along with estimates of other unknown quantities, such as the channel responses and the noise power.
4.1 Application to MIMO receiver design
The factor graph in Fig. 2 is split into the MF and BP parts by taking into account the functional forms of the factors and the specificities of the MF and BP algorithms. The factors \(\phantom {\dot {i}\!}f_{\text {Y}_{r}}\), \(f_{\Lambda _{r}}\), and \(\phantom {\dot {i}\!}f_{\text {H}_{rk}}\), r∈ [ 1,N _{ R }], k∈ [ 1,N _{ T }], and all variable nodes connected to them are placed in the MF part as they form a conjugateexponential model. Given that BP has successfully been used for demapping and decoding, the rest of the factor nodes and the variable nodes connected to them represent the BP part.
4.1.1 Computation of messages and beliefs

The mean \(\hat {d}_{k}[\!n,i] \triangleq \langle d_{k}[\!n,i] \rangle _{b(\boldsymbol {d}_{k}[\!n])}\) and variance \(\sigma ^{2}_{{d}_{k}}[\!n,i] \triangleq \langle d_{k}[\!n,i]  \hat {d}_{k}[\!n,i]^{2} \rangle _{b(\boldsymbol {d}_{k}[\!n])}\) represent the (soft) estimate and uncertainty, respectively, of the symbol on the ith subcarrier of the nth OFDM symbol transmitted by kth antenna. Note that for pilot subcarriers (i.e., \(i\in \mathcal {P}\)), we have \(\hat {d}_{k}[\!n,i] = d_{k}[\!n,i]\) and \(\sigma ^{2}_{{d}_{k}}[\!n,i] = 0\).

The mean and covariance matrix of the belief b(h _{ rk }) of the respective vector of channel weights are denoted by \(\boldsymbol {\hat {h}}_{rk} \triangleq \langle \boldsymbol {h}_{rk} \rangle _{b(\boldsymbol {h}_{rk})}\phantom {\dot {i}\!}\) and \(\phantom {\dot {i}\!}\boldsymbol {\Sigma }_{{\boldsymbol {h}}_{rk}} \triangleq \langle (\boldsymbol {h}_{rk}  \boldsymbol {\hat {h}}_{rk})(\boldsymbol {h}_{rk}  \boldsymbol {\hat {h}}_{rk})^{{H}}\rangle _{b(\boldsymbol {h}_{rk})}\). The (i,i)th entry of \(\phantom {\dot {i}\!}\boldsymbol {\Sigma }_{{\boldsymbol {h}}_{rk}}\) is denoted by \(\sigma ^{2}_{h_{rk}}[\!i]\).

The mean \(\hat {\lambda }_{r} \triangleq \langle \lambda _{r} \rangle _{b(\lambda _{r})}\) represents the estimate of the precision of the rth receiver’s noise.
4.1.1.1 Channel estimation
4.1.1.2 Estimation of the noise precision
The estimates of the noise precisions are \(\hat \lambda _{r} = \frac {Q L_{d}}{\beta _{r}}\), r∈[ 1,N _{ R }].
4.1.1.3 MIMO detection and decoding
Note that the righthand side of (20) is evaluated at the symbol constellation points. When normalized, those discrete messages “carry” extrinsic information on the different constellation points.
k∈ [ 1,N _{ T }], n∈ [ 1,Q], represent approximations of the a posteriori probabilities (APPs) of the symbols. These values are further passed to the MF part.
4.1.2 Outline of the iterative algorithm
We now define the iterative algorithm by specifying a schedule for the message computations.
The BPMF algorithm needs to be initialized. First, the algorithm sets the conditional expectations \(\hat {\lambda }_{r} = Q L_{d}/\sum _{n=1}^{Q} \\boldsymbol {y}_{r}[\!n]\^{2}\) and \(\boldsymbol {\hat {h}}_{rk} = 0\), k∈ [ 1,N _{ T }], r∈ [ 1,N _{ R }]. Then, the beliefs of those subvectors of h _{ rk }, corresponding to the pilot indices \(\mathcal {P}\), are computed successively for each k. Next, \(\hat h^{\text {obs}}_{rk}[\!i] = 0\) and \(\sigma ^{2}_{h^{\text {obs}}_{rk}}[\!i] = 0\), for all \(i\in \mathcal {D}\), and the beliefs of the channel vectors are computed as h _{ rk }, r∈ [ 1,N _{ R }], k∈ [ 1,N _{ T }]. Having obtained the initial estimates of the beliefs of the channel weights and noise precision, the algorithm then performs MIMO detection with the initial parameter setting \(\hat {d}_{k}[\!n,i] = 0\) and variance \(\sigma ^{2}_{{d}_{k}}[\!n,i] = 1\), k∈ [ 1,N _{ T }], n∈ [ 1,Q], \(i\in \,[\!1,I_{N_{k}}]\). The beliefs b(d _{ k }[ n]), n∈ [ 1,Q] are computed sequentially for each k∈ [ 1,N _{ T }], a scheme which resembles successive interference cancelation. The initial stage ends with demapping and decoding.
During subsequent iterations, messages for soft mapping, channel and noise precision estimation, MIMO detection, and demapping and decoding are computed.
After convergence, the information bits are determined by taking hard decisions based on the beliefs b(u _{ k }[ i]), k∈[ 1,N _{ T }], \(i\in \,[\!1,I_{N_{k}}]\).
5 Performance evaluation in real environments
Parameter settings of the considered OFDMSDMA system
Parameters  Value 

Number of streams  K=2 
Number of antennas  N _{ T }=2,N _{ R }=2 
Tx antenna gain  G _{ k }={10,20,30}dB 
Rx antenna gain  G _{ r }={10,20,…,60}dB 
Center frequency  2.4 GHz 
Sampling frequency  200 kHz 
FFT size  N=64 
Number of active subcarriers  N _{ a }=52 
Number of pilot symbols  N _{ p }=4 
FEC  R=1/2, G=(171,133)_{8} 
Number of preamble OFDM symbols  Q=7 
Modulation  BPSK 
Payload size  L _{ u }={96,512,1032}bytes 
Number of transmitted packets for gain tuple {G _{ k },G _{ r }}  2000 
The BPMF receiver was benchmarked against a (lowcomplex) conventional MIMO receiver, composed of a linear MIMO channel filter using pilotbased channel estimates and a bank of individual MLsequence decoders. Specifically, the MIMO channel estimate is based on the least squares technique given the WalshHadamard pilot matrix and the synchronized observation matrix y. The composite MIMO channel estimates at all active tones, \(\hat {\boldsymbol H}\), is obtained by piecewise linear interpolation. The decorrelating MIMO multiuser detector outputs the signal \(\hat {\boldsymbol {x}} \triangleq \hat {\boldsymbol H}^{1} \boldsymbol {y}\).
To construct a histogram from \(\hat {\gamma }_{\mathrm {b},k}\), the data is split into bins of width 0.5 dB. Each bin contains the number of occurrences of scores in the data set \(\hat {\gamma }_{\mathrm {b},k}[\!n]\), n∈ [ 1,Q], which fall within that bin. For the sake of fair comparison, both conventional MIMO and BPMF receivers compute the SNR in the same way.
Experiments were conducted during nights or weekends, to avoid as much as possible dynamic interference with employees’ movements and devices.
5.1 NLOS scenario
We first present the experimental results obtained in NLOS conditions. Without loss of generality, we focus on stream 1. Surprisingly, the BPMF receiver was initially not able to decode the individual data streams at the output of the MIMO synchronizer (4) while it had done so in synthetic channels [8]. Closer examination revealed that the real channel is strongly correlated in space, a property that had not been accounted in the underlying channel model of the BPMF receiver. When it is included in the system model, spatial channel correlation can be jointly estimated and exploited to improve the accuracy of the estimates of the other system parameters and vice versa [8]. As this estimation problem is outside the scope of the paper, spatial correlation is subsequently suppressed by an equalizer with transfer function \(\hat {\boldsymbol H}^{1}\) prior to MIMO reception. The same approach is pursued in the conventional MIMO receiver.
5.2 LOS scenario
6 Discussion and conclusions
In this paper, we investigated for the first time the tradeoff between complexity, running time, and performance for an advanced, iterative MIMOSDMA receiver operating in real world conditions. The receiver was derived within a unified messagepassing framework that combines belief propagation and meanfield approximation. At each iteration, messages related to the channel parameters and noise precision are passed from the mean field part to the belief propagation part of the factor graph for the belief of the data and vice versa. The latter part represents the probabilistic model of the communication system. The proposed receiver was implemented in USRP/GNU radio.
The study showed that while substantial performance improvements with respect to a conventional receiver can be achieved—ranging from 2 to 4 dB depending on packet size and LOS conditions—these benefits come at an increase in perbit decoding running time that increases linearly with the number of performed iterations. If full convergence (i.e., best performance) is sought, decoding running time can be as much as 2 orders of magnitude larger than that of a conventional receiver. However, substantial performance improvements can be achieved also with a smaller number of iterations, especially in a rich scattering environment (NLOS scenario). Summarizing, our study clearly shows that in practical settings the tradeoff between receiver complexity, running time, and performance should be carefully evaluated to strike the best compromise between these metrics.
The results presented in this paper should be considered as a first step towards gaining an understanding of the feasibility of deploying advanced, iterative MIMOSDMA receivers performance in realworld conditions. Future work includes considering higherorder modulations, as well as more complex MIMO configurations, including distributed MIMO channels.
Declarations
Authors’ contributions
The paper presents a novel software radio implementation of a MIMOSDMA receiver based on a recently developed unified messagepassing framework. All authors read and approved the final manuscript.
Competing interests
The authors declare that they have no competing interests.
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
 CM Bishop, Pattern Recognition and Machine Learning (Springer, Secaucus, 2006).MATHGoogle Scholar
 J Pearl, Probabilistic Reasoning in Intelligent Systems: Networks of Plausible Inference (Morgan Kaufmann Publishers Inc., San Francisco, 1988).MATHGoogle Scholar
 FR Kschischang, BJ Frey, HA Loeliger, Factor graphs and the sumproduct algorithm. IEEE Trans. Inform. Theory. 47(2), 498–519 (2001).MathSciNetView ArticleMATHGoogle Scholar
 HA Loeliger, J Dauwels, J Hu, S Korl, L Ping, FR Kschischang, The factor graph approach to modelbased signal processing. Proc. IEEE. 95(6), 1295–1322 (2007). doi:10.1109/JPROC.2007.896497.View ArticleGoogle Scholar
 MA Badiu, GE Kirkelund, C Navarro Manchón, E Riegler, BH Fleury, in Proc. IEEE Int. Symp. Inf. Th. (ISIT 2012). Messagepassing algorithms for channel estimation and decoding using approximate inference (Cambridge, 2012), pp. 2386–2390.Google Scholar
 J Winn, CM Bishop, Variational message passing. J. Mach. Learn. Res. 6:, 661–694 (2005).MathSciNetMATHGoogle Scholar
 E Riegler, GE Kirkelund, C Navarro Manchón, MA Badiu, BH Fleury, Merging belief propagation and the mean field approximation: a free energy approach. IEEE Trans. Inform. Theory. 59(1), 588–602 (2013).MathSciNetView ArticleGoogle Scholar
 C Navarro Manchón, GE Kirkelund, E Riegler, L Christensen, BH Fleury, Receiver architectures for MIMOOFDM based on a combined VMPSP algorithm (2011). arXiv:1111.5848 [stat.ML]. http://arxiv.org/pdf/1111.5848.pdf.
 M Dillinger, K Madani, N Alonistioti, Software Defined Radio: Architectures, Systems and Functions (John Wiley & Sons, NJ, 2003).Google Scholar
 H Yu, L Zhong, A Subharwal, D Kao, in Proc. ACM Mobicom. Beamforming on mobile devices: a first study (Las Vegas, 2011).Google Scholar
 E Aryafar, N Anand, T Salonidis, E Knightly, in Proc. ACM Mobicom. Design and experimental evaluation of multiuser beamforming in wireless lans (Chicago, 2010).Google Scholar
 K Tan, H Liu, J Fang, W Wang, J Zhang, M Chen, GM Voelker, in Proc. ACM Mobicom. SAM: enabling practical spatial multiple access in wireless LAN (Beijing, 2009).Google Scholar
 K Mandke, SH Choi, G Kim, R Grant, RC Daniels, W Kim, RWJ Heath, SM Nettles, in Proc. IEEE 65th Vehicular Technology Conference (VTC2007Spring). Early results on Hydra: A flexible MAC/PHY multihop testbed (Dublin, 2007), pp. 1896–1900.Google Scholar
 EttusResearch: http://www.ettus.com/. Accessed 14 Dec 2016.
 S Gollakota, SD Perli, D Katabi, in Proc. ACM SIGCOMM. Interference alignment and cancellation (Barcelona, 2009), pp. 159–170.Google Scholar
 P Zetterberg, NN Moghadam, in Systems, Signals and Image Processing (IWSSIP), 2012 19th International Conference On. An experimental investigation of SIMO, MIMO, interferencealignment (IA) and coordinated multipoint (CoMP) (Vienna, 2012), pp. 211–216.Google Scholar
 P Eliardsson, U Uppman, in Proc. 7th Karlsruhe Workshop on Software Radios (WSR’12). An SDR implementation of a MIMO communication testbed (Karlsruhe, 2012).Google Scholar
 WL Shen, YC Tung, KC Lee, KC Lin, S Gollakota, D Katabi, MS Chen, in Proc. ACM Mobicom. Rate adaptation for 802.11 multiuser MIMO networks (Istanbul, 2012).Google Scholar
 KC Lin, S Gollakota, D Katabi, in Proc. ACM SIGCOMM. Random access heterogeneous MIMO networks (Toronto, 2011), pp. 146–157.Google Scholar
 T Wang, SC Liew, L You, in Proc. of the 2014 ACM Workshop on Software Radio Implementation Forum. SRIF ’14. Joint phase tracking and channel decoding for OFDM PNC: algorithm and experimental evaluation (ACMNew York, 2014), pp. 69–76, doi:10.1145/2627788.2627792.Google Scholar
 F Martelli, A Kocian, P Santi, V Gardellin, in Proceedings of the 2014 ACM Software Radio Implementation Forum. SRIF ’14. MIMOOFDM spatial multiplexing technique implementation for GNU radio (ACMChicago, 2014), pp. 85–92, doi:10.1145/2627788.2627795.Google Scholar
 IEEE 802.112012 (Clause 20), Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications (2012). doi:10.1109/IEEESTD.2012.6178212.
 EttusResearch: Application note on synchronization and MIMO capability with USRP devices. http://www.ettus.com/content/files/kb/mimo_and_sync_with_usrp_updated.pdf. Accessed 14 Dec 2016.
 A Saemi, V Meghadi, PJ Cances, MR Zahabi, Joint ML timefrequency synchronization and channel estimation algorithm for MIMOOFDM systems. IET Circuits, Devices and Systems, 103–111 (2008). doi:10.1049/ietcds:20070024.
 F Ge, CYJ Chiang, Y Gottlieb, R Chadha, in Proc. IEEE Global Telecommunications Conference 2011 (GLOBECOM 2011). GNU radiobased digital communications: computational analysis of a GMSK transceiver (Houston, 2011), pp. 1–6.Google Scholar
 L Bahl, J Cocke, F Jelinek, J Raviv, Optimal decoding of linear codes for minimizing symbol error rate. IEEE Trans. Inform. Theory. 20(3), 284–287 (1974).MathSciNetView ArticleMATHGoogle Scholar