# Performance and Complexity Evaluation of Iterative Receiver for Coded MIMO-OFDM Systems

Authors: Rida El Chall; Fabienne Nouvel; Maryline Hélard; Ming Liu
Journal: Mobile Information Systems
 (2016)

---

## Abstract

Multiple-input multiple-output (MIMO) technology in combination with channel coding technique is a promising solution for reliable high data rate transmission in future wireless communication systems. However, these technologies pose significant challenges for the design of an iterative receiver. In this paper, an efficient receiver combining soft-input soft-output (SISO) detection based on low-complexityK-Best (LC-K-Best) decoder with various forward error correction codes, namely, LTE turbo decoder and LDPC decoder, is investigated. We first investigate the convergence behaviors of the iterative MIMO receivers to determine the required inner and outer iterations. Consequently, the performance of LC-K-Best based receiver is evaluated in various LTE channel environments and compared with other MIMO detection schemes. Moreover, the computational complexity of the iterative receiver with different channel coding techniques is evaluated and compared with different modulation orders and coding rates. Simulation results show that LC-K-Best based receiver achieves satisfactory performance-complexity trade-offs.


---

## Body

## 1. Introduction

The ever increasing demand for higher data rate and better link reliability poses challenges for the modern wireless communication systems such as IEEE 802.11, 802.16, DVB-NGH, 3GPP long term evolution (LTE), and LTE-Advanced (LTE-A). The combination of multiple antennas at transmitter and/or receiver, orthogonal frequency-division multiplexing (OFDM) technique, state-of-the-art channel coding schemes, and iterative reception techniques has been seen as the promising solution for the future wireless systems.MIMO technology which utilizes multiple antennas at transmitter and/or receiver is able to achieve high diversity through space-time coding and high data rate through spatial multiplexing [1]. It is commonly used in combination with OFDM technique to combat intersymbol interference (ISI) and therefore achieve better spectral efficiency. Modern channel coding schemes such as turbo codes or LDPC codes are powerful forward error correction (FEC) codes that are able to protect the integrity of the transmitted data and to approach the channel capacity. Therefore, the coded MIMO-OFDM systems are recognized as attractive solutions for the future high speed wireless communication systems. However, the practical design of such coded MIMO-OFDM systems involves numerous challenges at the receiver.The reception strategy that offers best performance is to jointly detect and decode the received symbols. However, this joint detection scheme has been shown to be very complex and infeasible for practical implementation [2]. Alternatively, the optimal performance can be approached by the iterative processing or commonly referred to as turbo processing [3–6] which replaces the joint detection by iteratively performing independent detection and decoding processing. It consists of soft-input soft-output (SISO) detector and channel decoder that exchange “soft” information [7].Regarding the MIMO detection method, the optimal way relies on maximuma posteriori probability (MAP) algorithm. However, it presents a complexity that exponentially increases with respect to the number of transmit antennas and modulation orders. Hence, several suboptimal but low-complexity detectors have been proposed in the literature. These solutions include the family of linear equalizer, interference canceller, and tree-search detector. To achieve better performance, the design and the implementation of SISO MIMO detectors have been also widely investigated, such as the minimum mean square error-interference cancellation (MMSE-IC) [8, 9], improved VBLAST (I-VBLAST) [10, 11], list sphere decoder (LSD) [12], single tree-search sphere decoder (STS-SD) [13–15],K-Best decoder [16–20], and fixed sphere decoder (FSD) [21–23]. Among them, MMSE-IC and I-VBLAST present low computational complexity, but they are not able to fully exploit the spatial diversity of MIMO system. Meanwhile, the sphere decoder is able to achieve superior performance. However, the sphere decoder uses a depth-first search method. Therefore, its computational complexity varies significantly with respect to the channel condition, yielding prohibitive worst-case complexity. Moreover, the sphere decoder suffers from variable throughput due to its sequential tree-search strategy, which makes it unsuitable for parallel implementation. In contrast, the breadth-first search basedK-Best and FSD algorithms are hence more attractive for practical implementation than sphere decoding, as they can offer stable throughput at a cost of acceptable performance loss.Despite these efforts, it is still very challenging to develop a high speed iterative MIMO receiver to meet the high throughput requirements of future wireless communication systems at affordable complexity and implementation cost. In [24], the performance-complexity trade-offs of iterative MIMO receiver have been investigated. However, the investigation is limited to the turbo channel coding and theoretical channel cases. In this contribution, the performance and the complexity of iterative MIMO receiver are evaluated in a much broader and more practical scope. We investigate in depth the soft joint iterative detection schemes with various symbol detection schemes, various soft-input soft-output channel decoders, and various ways of constructing joint loops, under different channel conditions. In particular, the most representative modern channel coding schemes, including LTE turbo code and LDPC code, are considered. Several LTE multipath channel models are employed in the simulation to evaluate the performance in real propagation scenarios. Consequently, a detailed comparative study is conducted among iterative receivers with different modulations and channel coding schemes (turbo, LDPC). It has been demonstrated through the comparison that LC-K-Best based receiver achieves a best trade-off between performance and complexity among the iterative MIMO receivers considered in this work.The remainder of this paper is organized as follows. Section2 presents the MIMO-OFDM system model and the concept of iterative detection-decoding process. Channel decoding based on turbo decoder and LDPC decoder is described in Section 3. Section 4 briefly reviews the most relevant SISO MIMO detection algorithms based on sphere decoder, LC-K-Best decoder, and interference canceller. In Section 5, the convergence behavior of the iterative receivers is discussed using extrinsic information transfer (EXIT) chart to retrieve to required number of inner and outer iterations. Section 6 illustrates the performance of our proposed approaches in LTE-based channel environments. Then, the computational complexity of the receivers with both turbo and LDPC coding techniques is evaluated and compared with different modulation orders and coding rates. Section 7 concludes the paper.


## 2. System Model

### 2.1. MIMO-OFDM System Model

We consider a MIMO-OFDM system based on bit-interleaved coded modulation (BICM) scheme [25] with Nt transmit antennas and Nr receive antennas (Nr≥Nt) as depicted in Figure 1.Figure 1
Block diagram of MIMO-OFDM system using bit-interleaved coded modulation with iterative detection and decoding.At the transmitter, the information bits of lengthKb are first encoded by a channel encoder which outputs a codeword c of length Nb with a coding rate Rc=Kb/Nb. The channel encoder can be a turbo encoder or an LDPC encoder. The encoded bits are then randomly interleaved and mapped into complex symbols of 2Q quadrature amplitude modulation (QAM) constellation, where Q is the number of bits per symbol. The symbols are mapped into Nt transmit antennas using either space-time block coding (STBC) schemes or spatial multiplexing (SM) schemes offering different diversity gain and multiplexing gain trade-offs. Herein, the SM-based MIMO system is considered without loss of generality. IFFT is applied to Nc parallel symbols to obtain the time domain OFDM symbols, where Nc is the number of useful subcarriers. The symbols are then sent though the radio channel after the addition of the cyclic prefix (CP) which is assumed larger than the maximum delay spread of the channel. The time domain symbol transmitted by the ith antenna is expressed as (1)sin=1NFFT∑k=0NFFT-1Sikej2πkn/NFFT,-Ng≤n≤NFFT-1,where Si(k) is the symbol in the frequency domain before IFFT, NFFT is the size of the FFT, and Ng is the length of the CP. The transmit power is normalized so that EssH=Es/NtINt, where INt is the Nt×Nt identity matrix. The transmission information rate is Rc·Nt·Q bits per channel use.Using the OFDM technique, the frequency-selective fading channel is divided into a series of orthogonal and flat-fading subchannels. The signal equalization is performed by a simple one-tap equalizer at the receiver. Therefore, after the removal of CP, FFT is performed to get the frequency domain signal vectoryk=[y1,y2,…,yNr]T that can be expressed as (2)yk=Hksk+nk,where k=1,…,Nc is the index of subcarriers. For simplicity, the subcarrier index k is omitted in the sequel. H is the Nr×Nt channel matrix with its (i,j)th element hi,j, the channel frequency response of the channel link from jth transmit antenna to ith receive antenna. The coefficients of the channel matrix H are assumed to be perfectly known at the receiver. n=[n1,n2,…,nNr]T is the independent and identically distributed (i.i.d.) additive white Gaussian noise (AWGN) vector with zero mean and variance of N0=σn2.


### 2.2. Iterative Detection-Decoding Principle

At the receiver, to recover the transmitted signal from interferences, an iterative detection-decoding process based on the turbo principle is applied as depicted in Figure1. The MIMO detector and the channel decoder exchange soft information, that is, log likelihood ratio (LLR), in each iteration.The MIMO detector takes the received symbol vectory and thea priori information LA1 of the coded bits from the channel decoder and computes the extrinsic information LE1. The MIMO detection algorithm can be the MAP algorithm or other suboptimal algorithms like STS-SD,K-Best decoder, I-VBLAST, or MMSE-IC. The extrinsic information is deinterleaved and becomes thea priori information LA2 for the channel decoder. The channel decoder computes the extrinsic information LE2 that is reinterleaved and fed back to the detector as thea priori information LA1.The channel decoding is performed either by an LTE turbo decoder or by an LDPC decoder, which exchanges soft information between their component decoders as described in the next section. In our iterative process, we denote the number of outer iterations between the MIMO detector and the channel decoder byIout and the number of iterations within the turbo decoder or LDPC decoder by Iin.For QAM, the mapping process can be done independently for real and imaginary part. The system model expressed in (2) can be converted into an equivalent real-valued model: (3)Re⁡yIm⁡y=ReH-Im⁡HIm⁡HReHResIm⁡s+RenIm⁡n,where Re· and Im⁡· represent the real and imaginary parts of a complex number, respectively. Each QAM constellation point is treated as two PAM symbols, and the matrix dimension is doubled. However, as shown in [17], the real-valued model is more efficient for the implementation of the sphere decoder. Hence, it will be used as the system model in case of sphere decoding in the following sections.


## 2.1. MIMO-OFDM System Model

We consider a MIMO-OFDM system based on bit-interleaved coded modulation (BICM) scheme [25] with Nt transmit antennas and Nr receive antennas (Nr≥Nt) as depicted in Figure 1.Figure 1
Block diagram of MIMO-OFDM system using bit-interleaved coded modulation with iterative detection and decoding.At the transmitter, the information bits of lengthKb are first encoded by a channel encoder which outputs a codeword c of length Nb with a coding rate Rc=Kb/Nb. The channel encoder can be a turbo encoder or an LDPC encoder. The encoded bits are then randomly interleaved and mapped into complex symbols of 2Q quadrature amplitude modulation (QAM) constellation, where Q is the number of bits per symbol. The symbols are mapped into Nt transmit antennas using either space-time block coding (STBC) schemes or spatial multiplexing (SM) schemes offering different diversity gain and multiplexing gain trade-offs. Herein, the SM-based MIMO system is considered without loss of generality. IFFT is applied to Nc parallel symbols to obtain the time domain OFDM symbols, where Nc is the number of useful subcarriers. The symbols are then sent though the radio channel after the addition of the cyclic prefix (CP) which is assumed larger than the maximum delay spread of the channel. The time domain symbol transmitted by the ith antenna is expressed as (1)sin=1NFFT∑k=0NFFT-1Sikej2πkn/NFFT,-Ng≤n≤NFFT-1,where Si(k) is the symbol in the frequency domain before IFFT, NFFT is the size of the FFT, and Ng is the length of the CP. The transmit power is normalized so that EssH=Es/NtINt, where INt is the Nt×Nt identity matrix. The transmission information rate is Rc·Nt·Q bits per channel use.Using the OFDM technique, the frequency-selective fading channel is divided into a series of orthogonal and flat-fading subchannels. The signal equalization is performed by a simple one-tap equalizer at the receiver. Therefore, after the removal of CP, FFT is performed to get the frequency domain signal vectoryk=[y1,y2,…,yNr]T that can be expressed as (2)yk=Hksk+nk,where k=1,…,Nc is the index of subcarriers. For simplicity, the subcarrier index k is omitted in the sequel. H is the Nr×Nt channel matrix with its (i,j)th element hi,j, the channel frequency response of the channel link from jth transmit antenna to ith receive antenna. The coefficients of the channel matrix H are assumed to be perfectly known at the receiver. n=[n1,n2,…,nNr]T is the independent and identically distributed (i.i.d.) additive white Gaussian noise (AWGN) vector with zero mean and variance of N0=σn2.


## 2.2. Iterative Detection-Decoding Principle

At the receiver, to recover the transmitted signal from interferences, an iterative detection-decoding process based on the turbo principle is applied as depicted in Figure1. The MIMO detector and the channel decoder exchange soft information, that is, log likelihood ratio (LLR), in each iteration.The MIMO detector takes the received symbol vectory and thea priori information LA1 of the coded bits from the channel decoder and computes the extrinsic information LE1. The MIMO detection algorithm can be the MAP algorithm or other suboptimal algorithms like STS-SD,K-Best decoder, I-VBLAST, or MMSE-IC. The extrinsic information is deinterleaved and becomes thea priori information LA2 for the channel decoder. The channel decoder computes the extrinsic information LE2 that is reinterleaved and fed back to the detector as thea priori information LA1.The channel decoding is performed either by an LTE turbo decoder or by an LDPC decoder, which exchanges soft information between their component decoders as described in the next section. In our iterative process, we denote the number of outer iterations between the MIMO detector and the channel decoder byIout and the number of iterations within the turbo decoder or LDPC decoder by Iin.For QAM, the mapping process can be done independently for real and imaginary part. The system model expressed in (2) can be converted into an equivalent real-valued model: (3)Re⁡yIm⁡y=ReH-Im⁡HIm⁡HReHResIm⁡s+RenIm⁡n,where Re· and Im⁡· represent the real and imaginary parts of a complex number, respectively. Each QAM constellation point is treated as two PAM symbols, and the matrix dimension is doubled. However, as shown in [17], the real-valued model is more efficient for the implementation of the sphere decoder. Hence, it will be used as the system model in case of sphere decoding in the following sections.


## 3. Soft-Input Soft-Output Channel Decoder

Channel coding is used to protect the useful information from channel distortion and noise by introducing some redundancy. The state-of-the-art channel coding schemes such as the LDPC [26] and turbo codes [3] can effectively approach the Shannon bound. LDPC codes are nowadays adopted in many standards including IEEE 802.11 and DVB-T2, as they achieve very high throughput due to inherent parallelism of the decoding algorithm. In the meantime, the turbo codes are also adopted in LTE, LTE-A (binary turbo codes), and WiMAX (double binary turbo codes). In this paper, LDPC codes and LTE turbo codes are considered.


### 3.1. Turbo Decoder

Initially proposed in 1993 [3], turbo codes have attracted great attention due to the capacity-approaching performance. The turbo encoder is constituted by a parallel concatenation of two recursive systematic convolutional encoders separated by an interleaver. The first encoder processes the original data while the second processes the interleaved version of data. The main role of the interleaver is to reduce the degree of correlation between the outputs of the component encoders.In LTE system, the recursive systematic encoders with 8 states and[13,15]o polynomial generators are adopted. A quadratic polynomial permutation (QPP) interleaver is used as a contention free interleaver and it is suitable for parallel decoding of turbo codes as illustrated in Figure 2(a). The mother coding rate is 1/3. Coding rates other than the mother rate can be achieved by puncturing or repetition using the rate matching technique.Figure 2
Structure of LTE turbo code withRc=1/3, (a) turbo encoder and (b) turbo decoder.
(a)
Turbo encoder
(b)
Turbo decoderThe turbo decoding is performed by two SISO component decoders that exchange soft information of their data substreams. Each component decoder takes systematic or interleaved information, the corresponding parity information, and thea priori information from the other decoder to compute the extrinsic information as shown in Figure 2(b). Two families of decoding algorithms can be used: soft-output Viterbi algorithms (SOVA) [27, 28] and maximuma posteriori (MAP) algorithm [29]. The MAP algorithm offers superior performance but suffers from high computational complexity. Two suboptimal algorithms, namely, log-MAP and max-log-MAP, are practically used [30]. Herein, log-MAP algorithm is considered by using the Jacobian logarithm [30]: (4)log⁡x+y=max⁡x,y+log⁡1+e-x-y=max⁡x,y+fcx-y=max∗⁡x,y,where fc(x-y) is a correction function that can be computed using a small look-up table (LUT).The decoder computes the branch metrics (γ) and the forward (α) and the backward (β) metrics between two states in the trellis as follows: (5)γksk-1,sk=psk,yk∣sk-1,αksk=maxsk-1∗αk-1sk-1+γksk-1,sk,βksk=maxsk+1∗βk+1sk+1+γksk,sk+1.Thea posteriori LLRs of the information bits are computed as (6)Luk=maxuk=0∗⁡αk-1sk-1+γksk-1,sk+βksk-maxuk=1∗αk-1sk-1+γksk-1,sk+βksk.The component decoders exchange only the extrinsic LLR which is defined by (7)Leuk=Luk-Lauk-Lsuk,where Lauk and Lsuk correspond to thea priori information from the other decoder and the systematic information bits, respectively.


### 3.2. LDPC Decoder

LDPC codes belong to a class of linear error correcting block codes, first proposed by Gallager [26]. Their main advantages lie in their capacity-approaching performance and their low-complexity parallel implementations [31]. LDPC codes can be represented by a parity check matrix HLDPC, or intuitively through Tanner graph [32]. Tanner graphs are bipartite graphs containing two types of nodes: the check nodes and the variable nodes as illustrated in Figure 3(a). It consists of M check nodes (CN) which correspond to the number of parity bits (i.e., number of rows of HLDPC) and N variable nodes (VN) corresponding to the number of bits in a codeword (i.e., number of columns of HLDPC).Figure 3
LDPC decoder, (a) matrix representation and Tanner graph and (b) iterative decoding between VNs and CNs.
(a)
(b)The optimal maximuma posteriori decoding of LDPC codes is infeasible from the practical implementation point of view. Alternatively, LDPC decoding is done using the message passing or belief propagation algorithms which iteratively pass messages between check nodes and variable nodes as shown in Figure 3(b). The belief propagation is denoted as the sum-product decoding because probabilities can be represented as LLRs which allow the calculation of messages using sum and product operations.LetLvij be the message from variable node i to check node j and Lcji the message from check node j to variable node i. Let Vj and Ci denote the set of adjacent variable nodes connected to the check node j and the set of adjacent check nodes connected to the variable node i, respectively, where 0≤j≤M and 0≤i≤N. For the first iteration, the input to the LDPC decoder is the LLRs L(ci) of the codeword c which are used as an initial value of the extrinsic variable node messages; that is, Lvij=L(ci). For the kth iteration, the algorithm can be summarized as follows:(1)
Each check nodej computes the extrinsic message to its neighboring variable node i: (8)Lcji=2tanh-1∏i′∈Vj∖itanh⁡Lvi′j2.(2)
Each variable nodei updates its extrinsic information to the check node j in the next iteration: (9)Lvij=Lci+∑j′∈Ci∖jLcj′i.(3)
Thea posteriori LLR of each codeword bit is computed as (10)Lpci=Lci+∑j′∈CiLcj′i.The decoding algorithm alternates between check node processing and variable node processing until a maximum number of iterations are achieved, or until the parity check condition is satisfied. When the decoding process is terminated, the decoder outputs thea posteriori LLR.


## 3.1. Turbo Decoder

Initially proposed in 1993 [3], turbo codes have attracted great attention due to the capacity-approaching performance. The turbo encoder is constituted by a parallel concatenation of two recursive systematic convolutional encoders separated by an interleaver. The first encoder processes the original data while the second processes the interleaved version of data. The main role of the interleaver is to reduce the degree of correlation between the outputs of the component encoders.In LTE system, the recursive systematic encoders with 8 states and[13,15]o polynomial generators are adopted. A quadratic polynomial permutation (QPP) interleaver is used as a contention free interleaver and it is suitable for parallel decoding of turbo codes as illustrated in Figure 2(a). The mother coding rate is 1/3. Coding rates other than the mother rate can be achieved by puncturing or repetition using the rate matching technique.Figure 2
Structure of LTE turbo code withRc=1/3, (a) turbo encoder and (b) turbo decoder.
(a)
Turbo encoder
(b)
Turbo decoderThe turbo decoding is performed by two SISO component decoders that exchange soft information of their data substreams. Each component decoder takes systematic or interleaved information, the corresponding parity information, and thea priori information from the other decoder to compute the extrinsic information as shown in Figure 2(b). Two families of decoding algorithms can be used: soft-output Viterbi algorithms (SOVA) [27, 28] and maximuma posteriori (MAP) algorithm [29]. The MAP algorithm offers superior performance but suffers from high computational complexity. Two suboptimal algorithms, namely, log-MAP and max-log-MAP, are practically used [30]. Herein, log-MAP algorithm is considered by using the Jacobian logarithm [30]: (4)log⁡x+y=max⁡x,y+log⁡1+e-x-y=max⁡x,y+fcx-y=max∗⁡x,y,where fc(x-y) is a correction function that can be computed using a small look-up table (LUT).The decoder computes the branch metrics (γ) and the forward (α) and the backward (β) metrics between two states in the trellis as follows: (5)γksk-1,sk=psk,yk∣sk-1,αksk=maxsk-1∗αk-1sk-1+γksk-1,sk,βksk=maxsk+1∗βk+1sk+1+γksk,sk+1.Thea posteriori LLRs of the information bits are computed as (6)Luk=maxuk=0∗⁡αk-1sk-1+γksk-1,sk+βksk-maxuk=1∗αk-1sk-1+γksk-1,sk+βksk.The component decoders exchange only the extrinsic LLR which is defined by (7)Leuk=Luk-Lauk-Lsuk,where Lauk and Lsuk correspond to thea priori information from the other decoder and the systematic information bits, respectively.


## 3.2. LDPC Decoder

LDPC codes belong to a class of linear error correcting block codes, first proposed by Gallager [26]. Their main advantages lie in their capacity-approaching performance and their low-complexity parallel implementations [31]. LDPC codes can be represented by a parity check matrix HLDPC, or intuitively through Tanner graph [32]. Tanner graphs are bipartite graphs containing two types of nodes: the check nodes and the variable nodes as illustrated in Figure 3(a). It consists of M check nodes (CN) which correspond to the number of parity bits (i.e., number of rows of HLDPC) and N variable nodes (VN) corresponding to the number of bits in a codeword (i.e., number of columns of HLDPC).Figure 3
LDPC decoder, (a) matrix representation and Tanner graph and (b) iterative decoding between VNs and CNs.
(a)
(b)The optimal maximuma posteriori decoding of LDPC codes is infeasible from the practical implementation point of view. Alternatively, LDPC decoding is done using the message passing or belief propagation algorithms which iteratively pass messages between check nodes and variable nodes as shown in Figure 3(b). The belief propagation is denoted as the sum-product decoding because probabilities can be represented as LLRs which allow the calculation of messages using sum and product operations.LetLvij be the message from variable node i to check node j and Lcji the message from check node j to variable node i. Let Vj and Ci denote the set of adjacent variable nodes connected to the check node j and the set of adjacent check nodes connected to the variable node i, respectively, where 0≤j≤M and 0≤i≤N. For the first iteration, the input to the LDPC decoder is the LLRs L(ci) of the codeword c which are used as an initial value of the extrinsic variable node messages; that is, Lvij=L(ci). For the kth iteration, the algorithm can be summarized as follows:(1)
Each check nodej computes the extrinsic message to its neighboring variable node i: (8)Lcji=2tanh-1∏i′∈Vj∖itanh⁡Lvi′j2.(2)
Each variable nodei updates its extrinsic information to the check node j in the next iteration: (9)Lvij=Lci+∑j′∈Ci∖jLcj′i.(3)
Thea posteriori LLR of each codeword bit is computed as (10)Lpci=Lci+∑j′∈CiLcj′i.The decoding algorithm alternates between check node processing and variable node processing until a maximum number of iterations are achieved, or until the parity check condition is satisfied. When the decoding process is terminated, the decoder outputs thea posteriori LLR.


## 4. Soft-Input Soft-Output MIMO Detection

The aim of MIMO detection is to recover the transmitted vectors from the received vector y. The state-of-the-art MIMO detection algorithms have been presented in [24]. These algorithms can be divided into two main families, namely, the tree-search-based detection and the interference-cancellation-based detection. In this section, we briefly review the main existing SISO MIMO detection algorithms useful for the following sections.


### 4.1. MaximumA Posteriori Probability (MAP) Detection

The MAP algorithm achieves the optimum performance through the use of an exhaustive search over all2Q·Nt possible symbol combinations to compute the LLR of each bit. The LLR of the bth bit in the ith transmit symbol, xi,b, is given by (11)Lxi,b=log⁡Pxi,b=+1∣yPxi,b=-1∣y=log∑s∈χi,b+1py∣sPs∑s∈χi,b-1py∣sPs,where χi,b+1 and χi,b-1 denote the sets of symbol vectors in which the bth bit in the ith antenna is equal to +1 and -1, respectively. p(y∣s) is the conditioned probability density function given by (12)py∣s=1πN0Nrexp⁡-1N0y-Hs2.P(s) represents thea priori information provided by the channel decoder in the form ofa priori LLRs: (13)LAxi,b=log⁡Pxi,b=+1Pxi,b=-1,∀i,b,Ps=∏i=1NtPsi=∏i=1Nt∏b=1QPxi,b.The max-log-MAP approximation is commonly used in the LLR calculation with lower complexity [12]: (14)Lxi,b≈1N0minχi,b-1⁡d1-1N0minχi,b+1⁡d1,(15)d1=y-Hs2-N0∑i=1Nt∑b=1Qlog⁡Pxi,b,where d1 represents the Euclidean distance between the received vector y and lattice points Hs.Based on thea posteriori LLRs L(xi,b) and thea priori LLRs LA(xi,b), the detector computes the extrinsic LLRs LE(xi,b) as (16)LExi,b=Lxi,b-LAxi,b.The MAP algorithm is not feasible due to its exponential complexity since 2Q·Nt hypotheses have to be considered within each minimum term and for each bit. Therefore, several suboptimal MIMO detectors have been proposed with reduced complexity as will be briefly discussed in the following sections.


### 4.2. Tree-Search-Based Detection

The tree-search-based detection methods generally fall into two main categories, namely, depth-first search like the sphere decoder and breadth-first search like theK-Best decoder.


#### 4.2.1. List Sphere Decoder (LSD)

The basic idea of the sphere decoder is to limit the search space of the MAP solution to a hypersphere of radiusrs around the received vector. Instead of testing all the hypotheses of the transmitted signal, only the lattice points that lie inside the hypersphere are tested, reducing the computational complexity [33]:(17)s^SD=argmins∈2QNt⁡y-Hs2≤rs2.Using the QR decomposition in real-valued model, the channel matrix H can be decomposed into two matrixes Q and R (H=QR), where Q is 2Nr×2Nt orthogonal matrix (QHQ=I2Nt) and R is 2Nt×2Nt upper triangular matrix with real-positive diagonal elements [34]. Therefore, the distance in (17) can be computed as y-Hs2=y~-Rs2, where y~=QHy is the modified received symbol vector. Exploiting the triangular nature of R, the Euclidean distance metric d1 in (15) can be recursively evaluated through the accumulated partial Euclidean distance (PED) di with d2Nt+1=0 as [13] (18)di=di+1+y~i-∑j=i2NtRi,jsj2︸miC+N02∑b=1Q/2LAxi,b-xi,bLAxi,b︸miA,i=2Nt,…,1,where miC and miA denote the channel-based partial metric and thea priori-based partial metric at the ith level, respectively.This process can be illustrated by a tree with2Nt+1 levels as depicted in Figure 4(a). The tree search starts at the root level with the first child node at level 2Nt. The partial Euclidean distance d2Nt in (18) is then computed. If d2Nt is smaller than the sphere radius rs, the search continues at level 2Nt-1 and steps down the tree until finding a valid leaf node at level 1.Figure 4
Tree-search strategies, (a) depth-first search sphere decoder and (b) breadth-first searchK-Best decoder.
(a)
Depth-first search Sphere decoder
(b)
Breadth-first searchK-Best decoderList sphere decoder is proposed to approximate the MAP detector [12]. It generates a list L⊂2QNt that includes the best possible hypotheses. The LLR values are then computed from this list as (19)Lxi,b=1N0minL∩χi,b-1⁡d1-1N0minL∩χi,b+1⁡d1.The main issue of LSD is the missing counter-hypothesis problem depending on the list size. The use of limited list size causes inaccurate approximation of the LLR due to missing some counter hypotheses where no entry can be found in the list for a particular bit xi,b=+1,-1. Several solutions have been proposed to handle this issue. LLR clipping is a frequently used solution, which consists simply to set the LLR to a predefined maximum value [12, 35].Several methods can be considered to reduce the complexity of the sphere decoder such as Schnorr-Euchner (SE) enumeration [36], layer ordering technique [34], and channel regularization [37]. Layer ordering technique allows the selection of the most reliable symbols at a high layer using the sorted QR (SQR) decomposition. However channel regularization introduces a biasing factor in the metrics which should be removed in LLR computation to avoid performance degradation as discussed in [38]. In the sequel, the SQR decomposition is considered in the preprocessing step.


#### 4.2.2. Single Tree-Search Sphere Decoder (STS-SD)

One of the two minima in (14) corresponds to the MAP hypothesis sMAP, while the other corresponds to the counter hypothesis. The computation of LLR can be expressed by (20)
L
x
i
,
b
=
1
N
0
d
i
,
b
M
A
P
¯
-
d
M
A
P
,
i
f
x
i
,
b
M
A
P
=
+
1
1
N
0
d
M
A
P
-
d
i
,
b
M
A
P
¯
,
i
f
x
i
,
b
M
A
P
=
-
1with (21)dMAP=y~-RsMAP2-N0PsMAP,di,bMAP¯=mins∈χi,bMAP¯⁡y~-Rs2-N0Ps,sMAP=argmins∈2Q·M⁡y~-Rs2-N0Ps,where χi,bMAP¯ denotes the bitwise counter hypothesis of the MAP hypothesis, which is obtained by searching over all the solutions with the bth bit of the ith symbol opposite to the current MAP hypothesis. Originally, the MAP hypothesis and the counter hypotheses can be found through repeating the tree search [39]. The repeated tree search yields a large computational complexity cost. To overcome this, the single tree-search algorithm [13, 40] was developed to compute all the LLRs concurrently. The dMAP metric and the corresponding di,bMAP¯ metrics are updated through one tree-search process. Through the use of extrinsic LLR clipping method, the STS-SD algorithm can be tunable between the MAP performance and hard-output performance. The implementations of STS-SD have been reported in [14, 15].


#### 4.2.3. SISOK-Best Decoder

K-Best algorithm is a breadth-first search based algorithm, in which the tree is traversed only in the forward direction [41]. This approach searches only a fixed number K of paths with best metrics at each detection layer. Figure 4(b) shows an example of the tree search with Nt=2. The algorithm starts by extending the root node to all possible candidates. It then sorts the new paths according to their metrics and retains the K paths with smallest metrics for the next detection layer.K-Best algorithm is able to achieve near-optimal performance with a fixed and affordable complexity for parallel implementation. Yet, the major drawbacks ofK-Best decoder are the expansion and the sorting operations that are very time consuming. Several proposals have been drawn in the literature to approximate the sorting operations such as relaxed sorting [42], and distributed sorting [43], or even to avoid sorting using on-demand expansion scheme [44]. Moreover, similarly as LSD,K-Best decoder suffers from missing counter-hypothesis problem due to the limited list size. Numerous approaches have been proposed to address this problem such as smart candidates adding [45], bit flipping [46], and path augmentation and LLR clipping [12, 35].


### 4.3. Interference-Cancellation-Based Detection

Interference-cancellation-based detection can be carried out either in a parallel way as in MMSE-IC [8, 9] or in a successive way as in VBLAST [47].


#### 4.3.1. Minimum Mean Square Error-Interference Cancellation (MMSE-IC) Equalizer

MMSE-IC equalizer can be performed using two filters [4]. The first filter pi is applied to the received vector y, and the second filter qi is applied to the estimated vector s^ in order to cancel the interference from other layers. The equalized symbol s~i can be written as (22)s~i=piHy-qiHs^iwithi∈1,Nt,where s^i denotes the estimated vector given by the previous iteration with the ith symbol omitted: s^i=s^1⋯s^i-10s^i+1⋯s^Nt. s^i is calculated by the soft mapper as s^i=Esi=∑s∈2QsPsi=s [48]. The filters pi and qi are optimized using the MMSE criterion and are given in [6, 24].For the first iteration, since noa priori information is available, the equalization process is reduced to the classical MMSE solution: (23)s~i=HHH+σn2σs2INt-1HHy.The equalized symbols s~i are associated with a bias factor βi in addition to some residual noise plus interferences ηi: (24)s~i=βisi+ηi.These equalized symbols are then used by the soft demapper to compute the LLR values using the max-log-MAP approximation [48]: (25)Lxi,b=1σηi2minsi∈χi,b-1⁡s~i-βisi2-minsi∈χi,b+1⁡s~i-βisi2.MMSE-IC equalizer requires Nt matrix inversions for each symbol vector. For this reason, several approximations of MMSE-IC were proposed. For example, in [9], a low-complexity approach of MMSE-IC is described by performing a single matrix inversion without performance loss. This algorithm is referred to as LC-MMSE-IC.


#### 4.3.2. Successive Interference Cancellation (SIC) Equalizer

The SIC-based detector was initially used in the VBLAST systems. In VBLAST architecture [47], a successive cancellation step followed by an interference nulling step is used to detect the transmitted symbols. However, this method suffers from error propagation. An improved VBLAST for iterative detection and decoding is described in [49]. At the first iteration, an enhanced VBLAST which takes decision errors into account is employed [24]. When thea priori LLRs are available from the channel decoder, soft symbols are computed by a soft mapper and are used in the interference cancellation. To describe the enhanced VBLAST algorithm, we assume that the detection order has been made according to the optimal detection order [47]. For the ith step, the predetected symbol vector s^i-1 until step i-1 is canceled out from the received signal: (26)yi=y-H1:i-1s^i-1,where s^i-1=s^1s^2⋯s^i-1, and H1:i-1=h1h2⋯hi-1, with hi being the ith column of H. Then the estimated symbol s~i is obtained using a filtered matrix Wi based on the MMSE criterion that takes decision errors into account [11, 49]: (27)s~i=WiHyi=βisi+ηi,Wi=σs2HΣiHH+N0INr-1hi.Σi is the decision error covariance matrix defined as (28)Σi=∑j=1i-1ϵj2ejejT+∑j=iNt-i+1σs2ejejT,ϵj2=Esj-s^j2∣s^j-1,where ei denotes a unit vector having zero components except the ith component, which is one.A soft demapper is then used to compute LLRs according to (25). We refer to this algorithm as improved VBLAST (I-VBLAST) in the sequel.


### 4.4. Low-ComplexityK-Best Decoder

The low-complexityK-Best (LC-K-Best) decoder recently proposed in [20] uses two improvements over the classicalK-Best decoder for the sake of lower complexity and latency. The first improvement simplifies the hybrid enumeration of the constellation points in real-valued system model when thea priori information is incorporated into the tree search using two look-up tables. The second improvement is to use a relaxed on-demand expansion that reduces the need of exhaustive expansion and sorting operations. The LC-K-Best algorithm can be described as follows.The preprocessing step is as follows:(1)
Inputy, H, K.CalculateH=QR, y~=QHy.(2)
Enumerate the constellation symbols based onmA for all layers.The tree-search step is as follows:(1)
Set layer to2Nt; listL=∅, d2Nt+1=0:
(a)
expand all2Q possible constellation nodes,(b)
calculate the corresponding PEDs,(c)
if2Q>K, select the K best nodes and store them in the list L2Nt.(2)
For layeri=2Nt-1:1,
(a)
enumerate the constellation point according tomiC of the K surviving paths in the list Li+1,(b)
find the first child (FC) based onmiC and miA for each parent nodes,(c)
compute their PEDs,(d)
selectA best children with smallest PEDs among the K FCs and add them to the list Li,(e)
ifLi<K, find the next child (NC) of the selected parent nodes.Calculate their PEDs and go to step(2)(d),(f)
else move to the next layeri=i-1 and go to step (2).(3)
Ifi=1, calculate the LLR as in (19).In the case of missing counter hypothesis, LLR clipping method is used. It has been shown in [20] that the LC-K-Best decoder achieves almost the same performance as the classicalK-Best decoder with different modulations. Moreover, the computational complexity in terms of the number of visited nodes is significantly reduced specially in the case of high-order modulations.


## 4.1. MaximumA Posteriori Probability (MAP) Detection

The MAP algorithm achieves the optimum performance through the use of an exhaustive search over all2Q·Nt possible symbol combinations to compute the LLR of each bit. The LLR of the bth bit in the ith transmit symbol, xi,b, is given by (11)Lxi,b=log⁡Pxi,b=+1∣yPxi,b=-1∣y=log∑s∈χi,b+1py∣sPs∑s∈χi,b-1py∣sPs,where χi,b+1 and χi,b-1 denote the sets of symbol vectors in which the bth bit in the ith antenna is equal to +1 and -1, respectively. p(y∣s) is the conditioned probability density function given by (12)py∣s=1πN0Nrexp⁡-1N0y-Hs2.P(s) represents thea priori information provided by the channel decoder in the form ofa priori LLRs: (13)LAxi,b=log⁡Pxi,b=+1Pxi,b=-1,∀i,b,Ps=∏i=1NtPsi=∏i=1Nt∏b=1QPxi,b.The max-log-MAP approximation is commonly used in the LLR calculation with lower complexity [12]: (14)Lxi,b≈1N0minχi,b-1⁡d1-1N0minχi,b+1⁡d1,(15)d1=y-Hs2-N0∑i=1Nt∑b=1Qlog⁡Pxi,b,where d1 represents the Euclidean distance between the received vector y and lattice points Hs.Based on thea posteriori LLRs L(xi,b) and thea priori LLRs LA(xi,b), the detector computes the extrinsic LLRs LE(xi,b) as (16)LExi,b=Lxi,b-LAxi,b.The MAP algorithm is not feasible due to its exponential complexity since 2Q·Nt hypotheses have to be considered within each minimum term and for each bit. Therefore, several suboptimal MIMO detectors have been proposed with reduced complexity as will be briefly discussed in the following sections.


## 4.2. Tree-Search-Based Detection

The tree-search-based detection methods generally fall into two main categories, namely, depth-first search like the sphere decoder and breadth-first search like theK-Best decoder.


### 4.2.1. List Sphere Decoder (LSD)

The basic idea of the sphere decoder is to limit the search space of the MAP solution to a hypersphere of radiusrs around the received vector. Instead of testing all the hypotheses of the transmitted signal, only the lattice points that lie inside the hypersphere are tested, reducing the computational complexity [33]:(17)s^SD=argmins∈2QNt⁡y-Hs2≤rs2.Using the QR decomposition in real-valued model, the channel matrix H can be decomposed into two matrixes Q and R (H=QR), where Q is 2Nr×2Nt orthogonal matrix (QHQ=I2Nt) and R is 2Nt×2Nt upper triangular matrix with real-positive diagonal elements [34]. Therefore, the distance in (17) can be computed as y-Hs2=y~-Rs2, where y~=QHy is the modified received symbol vector. Exploiting the triangular nature of R, the Euclidean distance metric d1 in (15) can be recursively evaluated through the accumulated partial Euclidean distance (PED) di with d2Nt+1=0 as [13] (18)di=di+1+y~i-∑j=i2NtRi,jsj2︸miC+N02∑b=1Q/2LAxi,b-xi,bLAxi,b︸miA,i=2Nt,…,1,where miC and miA denote the channel-based partial metric and thea priori-based partial metric at the ith level, respectively.This process can be illustrated by a tree with2Nt+1 levels as depicted in Figure 4(a). The tree search starts at the root level with the first child node at level 2Nt. The partial Euclidean distance d2Nt in (18) is then computed. If d2Nt is smaller than the sphere radius rs, the search continues at level 2Nt-1 and steps down the tree until finding a valid leaf node at level 1.Figure 4
Tree-search strategies, (a) depth-first search sphere decoder and (b) breadth-first searchK-Best decoder.
(a)
Depth-first search Sphere decoder
(b)
Breadth-first searchK-Best decoderList sphere decoder is proposed to approximate the MAP detector [12]. It generates a list L⊂2QNt that includes the best possible hypotheses. The LLR values are then computed from this list as (19)Lxi,b=1N0minL∩χi,b-1⁡d1-1N0minL∩χi,b+1⁡d1.The main issue of LSD is the missing counter-hypothesis problem depending on the list size. The use of limited list size causes inaccurate approximation of the LLR due to missing some counter hypotheses where no entry can be found in the list for a particular bit xi,b=+1,-1. Several solutions have been proposed to handle this issue. LLR clipping is a frequently used solution, which consists simply to set the LLR to a predefined maximum value [12, 35].Several methods can be considered to reduce the complexity of the sphere decoder such as Schnorr-Euchner (SE) enumeration [36], layer ordering technique [34], and channel regularization [37]. Layer ordering technique allows the selection of the most reliable symbols at a high layer using the sorted QR (SQR) decomposition. However channel regularization introduces a biasing factor in the metrics which should be removed in LLR computation to avoid performance degradation as discussed in [38]. In the sequel, the SQR decomposition is considered in the preprocessing step.


### 4.2.2. Single Tree-Search Sphere Decoder (STS-SD)

One of the two minima in (14) corresponds to the MAP hypothesis sMAP, while the other corresponds to the counter hypothesis. The computation of LLR can be expressed by (20)
L
x
i
,
b
=
1
N
0
d
i
,
b
M
A
P
¯
-
d
M
A
P
,
i
f
x
i
,
b
M
A
P
=
+
1
1
N
0
d
M
A
P
-
d
i
,
b
M
A
P
¯
,
i
f
x
i
,
b
M
A
P
=
-
1with (21)dMAP=y~-RsMAP2-N0PsMAP,di,bMAP¯=mins∈χi,bMAP¯⁡y~-Rs2-N0Ps,sMAP=argmins∈2Q·M⁡y~-Rs2-N0Ps,where χi,bMAP¯ denotes the bitwise counter hypothesis of the MAP hypothesis, which is obtained by searching over all the solutions with the bth bit of the ith symbol opposite to the current MAP hypothesis. Originally, the MAP hypothesis and the counter hypotheses can be found through repeating the tree search [39]. The repeated tree search yields a large computational complexity cost. To overcome this, the single tree-search algorithm [13, 40] was developed to compute all the LLRs concurrently. The dMAP metric and the corresponding di,bMAP¯ metrics are updated through one tree-search process. Through the use of extrinsic LLR clipping method, the STS-SD algorithm can be tunable between the MAP performance and hard-output performance. The implementations of STS-SD have been reported in [14, 15].


### 4.2.3. SISOK-Best Decoder

K-Best algorithm is a breadth-first search based algorithm, in which the tree is traversed only in the forward direction [41]. This approach searches only a fixed number K of paths with best metrics at each detection layer. Figure 4(b) shows an example of the tree search with Nt=2. The algorithm starts by extending the root node to all possible candidates. It then sorts the new paths according to their metrics and retains the K paths with smallest metrics for the next detection layer.K-Best algorithm is able to achieve near-optimal performance with a fixed and affordable complexity for parallel implementation. Yet, the major drawbacks ofK-Best decoder are the expansion and the sorting operations that are very time consuming. Several proposals have been drawn in the literature to approximate the sorting operations such as relaxed sorting [42], and distributed sorting [43], or even to avoid sorting using on-demand expansion scheme [44]. Moreover, similarly as LSD,K-Best decoder suffers from missing counter-hypothesis problem due to the limited list size. Numerous approaches have been proposed to address this problem such as smart candidates adding [45], bit flipping [46], and path augmentation and LLR clipping [12, 35].


## 4.2.1. List Sphere Decoder (LSD)

The basic idea of the sphere decoder is to limit the search space of the MAP solution to a hypersphere of radiusrs around the received vector. Instead of testing all the hypotheses of the transmitted signal, only the lattice points that lie inside the hypersphere are tested, reducing the computational complexity [33]:(17)s^SD=argmins∈2QNt⁡y-Hs2≤rs2.Using the QR decomposition in real-valued model, the channel matrix H can be decomposed into two matrixes Q and R (H=QR), where Q is 2Nr×2Nt orthogonal matrix (QHQ=I2Nt) and R is 2Nt×2Nt upper triangular matrix with real-positive diagonal elements [34]. Therefore, the distance in (17) can be computed as y-Hs2=y~-Rs2, where y~=QHy is the modified received symbol vector. Exploiting the triangular nature of R, the Euclidean distance metric d1 in (15) can be recursively evaluated through the accumulated partial Euclidean distance (PED) di with d2Nt+1=0 as [13] (18)di=di+1+y~i-∑j=i2NtRi,jsj2︸miC+N02∑b=1Q/2LAxi,b-xi,bLAxi,b︸miA,i=2Nt,…,1,where miC and miA denote the channel-based partial metric and thea priori-based partial metric at the ith level, respectively.This process can be illustrated by a tree with2Nt+1 levels as depicted in Figure 4(a). The tree search starts at the root level with the first child node at level 2Nt. The partial Euclidean distance d2Nt in (18) is then computed. If d2Nt is smaller than the sphere radius rs, the search continues at level 2Nt-1 and steps down the tree until finding a valid leaf node at level 1.Figure 4
Tree-search strategies, (a) depth-first search sphere decoder and (b) breadth-first searchK-Best decoder.
(a)
Depth-first search Sphere decoder
(b)
Breadth-first searchK-Best decoderList sphere decoder is proposed to approximate the MAP detector [12]. It generates a list L⊂2QNt that includes the best possible hypotheses. The LLR values are then computed from this list as (19)Lxi,b=1N0minL∩χi,b-1⁡d1-1N0minL∩χi,b+1⁡d1.The main issue of LSD is the missing counter-hypothesis problem depending on the list size. The use of limited list size causes inaccurate approximation of the LLR due to missing some counter hypotheses where no entry can be found in the list for a particular bit xi,b=+1,-1. Several solutions have been proposed to handle this issue. LLR clipping is a frequently used solution, which consists simply to set the LLR to a predefined maximum value [12, 35].Several methods can be considered to reduce the complexity of the sphere decoder such as Schnorr-Euchner (SE) enumeration [36], layer ordering technique [34], and channel regularization [37]. Layer ordering technique allows the selection of the most reliable symbols at a high layer using the sorted QR (SQR) decomposition. However channel regularization introduces a biasing factor in the metrics which should be removed in LLR computation to avoid performance degradation as discussed in [38]. In the sequel, the SQR decomposition is considered in the preprocessing step.


## 4.2.2. Single Tree-Search Sphere Decoder (STS-SD)

One of the two minima in (14) corresponds to the MAP hypothesis sMAP, while the other corresponds to the counter hypothesis. The computation of LLR can be expressed by (20)
L
x
i
,
b
=
1
N
0
d
i
,
b
M
A
P
¯
-
d
M
A
P
,
i
f
x
i
,
b
M
A
P
=
+
1
1
N
0
d
M
A
P
-
d
i
,
b
M
A
P
¯
,
i
f
x
i
,
b
M
A
P
=
-
1with (21)dMAP=y~-RsMAP2-N0PsMAP,di,bMAP¯=mins∈χi,bMAP¯⁡y~-Rs2-N0Ps,sMAP=argmins∈2Q·M⁡y~-Rs2-N0Ps,where χi,bMAP¯ denotes the bitwise counter hypothesis of the MAP hypothesis, which is obtained by searching over all the solutions with the bth bit of the ith symbol opposite to the current MAP hypothesis. Originally, the MAP hypothesis and the counter hypotheses can be found through repeating the tree search [39]. The repeated tree search yields a large computational complexity cost. To overcome this, the single tree-search algorithm [13, 40] was developed to compute all the LLRs concurrently. The dMAP metric and the corresponding di,bMAP¯ metrics are updated through one tree-search process. Through the use of extrinsic LLR clipping method, the STS-SD algorithm can be tunable between the MAP performance and hard-output performance. The implementations of STS-SD have been reported in [14, 15].


## 4.2.3. SISOK-Best Decoder

K-Best algorithm is a breadth-first search based algorithm, in which the tree is traversed only in the forward direction [41]. This approach searches only a fixed number K of paths with best metrics at each detection layer. Figure 4(b) shows an example of the tree search with Nt=2. The algorithm starts by extending the root node to all possible candidates. It then sorts the new paths according to their metrics and retains the K paths with smallest metrics for the next detection layer.K-Best algorithm is able to achieve near-optimal performance with a fixed and affordable complexity for parallel implementation. Yet, the major drawbacks ofK-Best decoder are the expansion and the sorting operations that are very time consuming. Several proposals have been drawn in the literature to approximate the sorting operations such as relaxed sorting [42], and distributed sorting [43], or even to avoid sorting using on-demand expansion scheme [44]. Moreover, similarly as LSD,K-Best decoder suffers from missing counter-hypothesis problem due to the limited list size. Numerous approaches have been proposed to address this problem such as smart candidates adding [45], bit flipping [46], and path augmentation and LLR clipping [12, 35].


## 4.3. Interference-Cancellation-Based Detection

Interference-cancellation-based detection can be carried out either in a parallel way as in MMSE-IC [8, 9] or in a successive way as in VBLAST [47].


### 4.3.1. Minimum Mean Square Error-Interference Cancellation (MMSE-IC) Equalizer

MMSE-IC equalizer can be performed using two filters [4]. The first filter pi is applied to the received vector y, and the second filter qi is applied to the estimated vector s^ in order to cancel the interference from other layers. The equalized symbol s~i can be written as (22)s~i=piHy-qiHs^iwithi∈1,Nt,where s^i denotes the estimated vector given by the previous iteration with the ith symbol omitted: s^i=s^1⋯s^i-10s^i+1⋯s^Nt. s^i is calculated by the soft mapper as s^i=Esi=∑s∈2QsPsi=s [48]. The filters pi and qi are optimized using the MMSE criterion and are given in [6, 24].For the first iteration, since noa priori information is available, the equalization process is reduced to the classical MMSE solution: (23)s~i=HHH+σn2σs2INt-1HHy.The equalized symbols s~i are associated with a bias factor βi in addition to some residual noise plus interferences ηi: (24)s~i=βisi+ηi.These equalized symbols are then used by the soft demapper to compute the LLR values using the max-log-MAP approximation [48]: (25)Lxi,b=1σηi2minsi∈χi,b-1⁡s~i-βisi2-minsi∈χi,b+1⁡s~i-βisi2.MMSE-IC equalizer requires Nt matrix inversions for each symbol vector. For this reason, several approximations of MMSE-IC were proposed. For example, in [9], a low-complexity approach of MMSE-IC is described by performing a single matrix inversion without performance loss. This algorithm is referred to as LC-MMSE-IC.


### 4.3.2. Successive Interference Cancellation (SIC) Equalizer

The SIC-based detector was initially used in the VBLAST systems. In VBLAST architecture [47], a successive cancellation step followed by an interference nulling step is used to detect the transmitted symbols. However, this method suffers from error propagation. An improved VBLAST for iterative detection and decoding is described in [49]. At the first iteration, an enhanced VBLAST which takes decision errors into account is employed [24]. When thea priori LLRs are available from the channel decoder, soft symbols are computed by a soft mapper and are used in the interference cancellation. To describe the enhanced VBLAST algorithm, we assume that the detection order has been made according to the optimal detection order [47]. For the ith step, the predetected symbol vector s^i-1 until step i-1 is canceled out from the received signal: (26)yi=y-H1:i-1s^i-1,where s^i-1=s^1s^2⋯s^i-1, and H1:i-1=h1h2⋯hi-1, with hi being the ith column of H. Then the estimated symbol s~i is obtained using a filtered matrix Wi based on the MMSE criterion that takes decision errors into account [11, 49]: (27)s~i=WiHyi=βisi+ηi,Wi=σs2HΣiHH+N0INr-1hi.Σi is the decision error covariance matrix defined as (28)Σi=∑j=1i-1ϵj2ejejT+∑j=iNt-i+1σs2ejejT,ϵj2=Esj-s^j2∣s^j-1,where ei denotes a unit vector having zero components except the ith component, which is one.A soft demapper is then used to compute LLRs according to (25). We refer to this algorithm as improved VBLAST (I-VBLAST) in the sequel.


## 4.3.1. Minimum Mean Square Error-Interference Cancellation (MMSE-IC) Equalizer

MMSE-IC equalizer can be performed using two filters [4]. The first filter pi is applied to the received vector y, and the second filter qi is applied to the estimated vector s^ in order to cancel the interference from other layers. The equalized symbol s~i can be written as (22)s~i=piHy-qiHs^iwithi∈1,Nt,where s^i denotes the estimated vector given by the previous iteration with the ith symbol omitted: s^i=s^1⋯s^i-10s^i+1⋯s^Nt. s^i is calculated by the soft mapper as s^i=Esi=∑s∈2QsPsi=s [48]. The filters pi and qi are optimized using the MMSE criterion and are given in [6, 24].For the first iteration, since noa priori information is available, the equalization process is reduced to the classical MMSE solution: (23)s~i=HHH+σn2σs2INt-1HHy.The equalized symbols s~i are associated with a bias factor βi in addition to some residual noise plus interferences ηi: (24)s~i=βisi+ηi.These equalized symbols are then used by the soft demapper to compute the LLR values using the max-log-MAP approximation [48]: (25)Lxi,b=1σηi2minsi∈χi,b-1⁡s~i-βisi2-minsi∈χi,b+1⁡s~i-βisi2.MMSE-IC equalizer requires Nt matrix inversions for each symbol vector. For this reason, several approximations of MMSE-IC were proposed. For example, in [9], a low-complexity approach of MMSE-IC is described by performing a single matrix inversion without performance loss. This algorithm is referred to as LC-MMSE-IC.


## 4.3.2. Successive Interference Cancellation (SIC) Equalizer

The SIC-based detector was initially used in the VBLAST systems. In VBLAST architecture [47], a successive cancellation step followed by an interference nulling step is used to detect the transmitted symbols. However, this method suffers from error propagation. An improved VBLAST for iterative detection and decoding is described in [49]. At the first iteration, an enhanced VBLAST which takes decision errors into account is employed [24]. When thea priori LLRs are available from the channel decoder, soft symbols are computed by a soft mapper and are used in the interference cancellation. To describe the enhanced VBLAST algorithm, we assume that the detection order has been made according to the optimal detection order [47]. For the ith step, the predetected symbol vector s^i-1 until step i-1 is canceled out from the received signal: (26)yi=y-H1:i-1s^i-1,where s^i-1=s^1s^2⋯s^i-1, and H1:i-1=h1h2⋯hi-1, with hi being the ith column of H. Then the estimated symbol s~i is obtained using a filtered matrix Wi based on the MMSE criterion that takes decision errors into account [11, 49]: (27)s~i=WiHyi=βisi+ηi,Wi=σs2HΣiHH+N0INr-1hi.Σi is the decision error covariance matrix defined as (28)Σi=∑j=1i-1ϵj2ejejT+∑j=iNt-i+1σs2ejejT,ϵj2=Esj-s^j2∣s^j-1,where ei denotes a unit vector having zero components except the ith component, which is one.A soft demapper is then used to compute LLRs according to (25). We refer to this algorithm as improved VBLAST (I-VBLAST) in the sequel.


## 4.4. Low-ComplexityK-Best Decoder

The low-complexityK-Best (LC-K-Best) decoder recently proposed in [20] uses two improvements over the classicalK-Best decoder for the sake of lower complexity and latency. The first improvement simplifies the hybrid enumeration of the constellation points in real-valued system model when thea priori information is incorporated into the tree search using two look-up tables. The second improvement is to use a relaxed on-demand expansion that reduces the need of exhaustive expansion and sorting operations. The LC-K-Best algorithm can be described as follows.The preprocessing step is as follows:(1)
Inputy, H, K.CalculateH=QR, y~=QHy.(2)
Enumerate the constellation symbols based onmA for all layers.The tree-search step is as follows:(1)
Set layer to2Nt; listL=∅, d2Nt+1=0:
(a)
expand all2Q possible constellation nodes,(b)
calculate the corresponding PEDs,(c)
if2Q>K, select the K best nodes and store them in the list L2Nt.(2)
For layeri=2Nt-1:1,
(a)
enumerate the constellation point according tomiC of the K surviving paths in the list Li+1,(b)
find the first child (FC) based onmiC and miA for each parent nodes,(c)
compute their PEDs,(d)
selectA best children with smallest PEDs among the K FCs and add them to the list Li,(e)
ifLi<K, find the next child (NC) of the selected parent nodes.Calculate their PEDs and go to step(2)(d),(f)
else move to the next layeri=i-1 and go to step (2).(3)
Ifi=1, calculate the LLR as in (19).In the case of missing counter hypothesis, LLR clipping method is used. It has been shown in [20] that the LC-K-Best decoder achieves almost the same performance as the classicalK-Best decoder with different modulations. Moreover, the computational complexity in terms of the number of visited nodes is significantly reduced specially in the case of high-order modulations.


## 5. Convergence of Iterative Detection-Decoding

The EXtrinsic Information Transfer (EXIT) chart is a useful tool to study the convergence behavior of iterative decoding systems [50]. It describes the exchange of the mutual information in the iterative process in order to predict the required number of iterations, the convergence threshold (corresponding to the start of the waterfall region), and the average decoding trajectory.In the iterative receiver considered in our study, two iterative processes are performed, one inside the channel decoder (turbo or LDPC), and the other between the MIMO detector and the channel decoder. For simplicity, we separately study the convergence of the channel decoding and the MIMO detection. We denote byIA1 and IA2 thea priori mutual input information of the MIMO detector and the channel decoder, respectively, and by IE1 and IE2 their corresponding extrinsic mutual output information.The mutual informationIx (IA or IE) can be computed through Monte Carlo simulation using the probability density function pLx [50]: (29)Ix=12∑x∈-1,1∫-∞+∞pLxLx∣xlog2⁡2pLxLx∣xpLxLx∣-1pLxLx∣+1dLx.A simple approximation of the mutual information is used in our analysis [51]: (30)Ix≈1-1Lb∑n=0Lb-1log21+exp⁡-xLx,where Lb is the number of transmitted bits and Lx is the LLR associated with the bit x∈-1,+1.Thea priori information LA can be modeled by applying an independent Gaussian random variable nA with zero mean and variance σA2 in conjunction with the known transmitted information bits x [50]: (31)LA=μAx+nA,whereμA=σA22.For each given mutual information value IA∈0,1, σA2 can be computed using the following equation [52]: (32)σA≈-1H1log21-IA1/H31/2H2,where H1=0.3073, H2=0.8935, and H3=1.1064.At the beginning, thea priori mutual information is as follows: IA1=0 and IA2=0. Then, the extrinsic mutual information IE1 of the MIMO detector becomes thea priori mutual information IA2 of the channel decoder, and so on, and so forth (i.e, IE1=IA2 and IE2=IA1). For a successful decoding, there must be an open tunnel between the curves; the exchange of extrinsic information can be visualized as a “zigzag” decoding trajectory in the EXIT chart.To visualize the exchange of extrinsic information of the iterative receiver, we present the MIMO detector and the channel decoder characteristics into a single chart. For our convergence analysis, a4×4 MIMO system with 16-QAM constellation, turbo decoder, and LDPC decoder (Rc=1/2) is considered. Table 1 summarizes the main parameters for the convergence analysis.Table 1
Simulation parameters for convergence analysis.
MIMO system
4
×
4 spatial multiplexing
Modulation
16-QAM, Gray mapping
Channel
Flat Rayleigh fading
Detector
STS-SDLclip=±8
LC-K-Best, K=16  Lclip=±3
MMSE-IC
Channel decoder
LTE turbo code[13,15]o
Block lengthKb= 1,024, Rc=1/2
LDPC code (IEEE 802.11n)
Codeword lengthNb= 1,944, Rc=1/2
Interleaver
Random size = 1,024 (turbo code case)Figure5 shows the extrinsic information transfer characteristics of MIMO detectors at different Eb/N0 values. As the I-VBLAST detector performs successive interference cancellation at the first iteration and parallel interference cancellation of the soft estimated symbols for the rest iterations, it is less intuitive to present its convergence in the EXIT chart. Therefore, the convergence analysis of VBLAST is not considered.Figure 5
Extrinsic information transfer characteristics of MIMO detectors (STS-SD, LC-K-Best, and MMSE-IC) at Eb/N0=0,2,5dB in a 4×4 MIMO system using 16-QAM.It is obvious that the characteristics of the detectors are shifted upward with the increase ofEb/N0. We show that, for low Eb/N0 (0 dB) and for low mutual information (<0.1), MMSE-IC performs better than LC-K-Best decoder. However, with larger mutual information, its performance is lower. Moreover, the mutual information of STS-SD is higher than LC-K-Best decoder and MMSE-IC for different Eb/N0. For higher Eb/N0 (5 dB), MMSE-IC presents lower mutual information than other decoders when IA1<0.9.Figure6 shows the EXIT chart for Eb/N0=2dB with several MIMO detectors, namely, STS-SD, LC-K-Best, and MMSE-IC. We note that the characteristic of the channel decoder is independent of Eb/N0 values. It is obvious that the extrinsic mutual information of the channel decoder increases with the number of iterations. We see that after 6 to 8 iterations in the case of turbo decoder (Figure 6(a)), there is no significant improvement on the mutual information. Meanwhile, in the case of LDPC decoder in Figure 6(b), 20 iterations are enough for LDPC decoder to converge.Figure 6
EXIT chart for MIMO detectors (STS-SD, LC-K-Best, and MMSE-IC) and channel decoder: (a) LTE turbo decoder, Kb=1,024, Rc=1/2, and (b) LDPC decoder Nb=1,944, Rc=1/2, at Eb/N0=2 dB in a 4×4 MIMO system using 16-QAM.
(a)
(b)By comparing the characteristics of STS-SD, LC-K-Best decoder, and MMSE-IC equalizer with both coding schemes, we notice that STS-SD has a larger mutual information at its output. LC-K-Best decoder has slightly less mutual information than STS-SD. MMSE-IC shows low mutual information levels at its output compared to other algorithms when IA1<0.9, while for IA1>0.9 the extrinsic mutual information is comparable to others.In the case of turbo decoder (Figure6(a)) with Iin=8, 3 outer iterations are sufficient for STS-SD to converge at Eb/N0=2dB. However, the same performance can be attained by performing 4 outer iterations with only 2 inner iterations. Similarly, LC-K-Best decoder shows an equivalent performance but slightly higher Eb/N0 is required. The convergence speed of LC-K-Best decoder is a bit lower than STS-SD, which requires more iterations to get the same performance. The reason is mainly due to the unreliability of LLRs caused by the small list size (L=16). In the case of MMSE-IC, the characteristic presents a lower mutual information than the LC-K-Best decoder when IA1<0.9. Therefore, an equivalent performance can be obtained at higher Eb/N0 or by performing more iterations.In a similar way, we study the convergence of MIMO detection algorithms with LDPC decoder. Figure6(b) shows the EXIT chart at Eb/N0=2 dB. The same conclusion can be retrieved as in the case of turbo decoder. We can see that, at Eb/N0=2 dB, a clear tunnel is observed between the MIMO detector and the channel decoder characteristics allowing iterations to bring improvement to the system. Similarly, STS-SD offers higher mutual information than LC-K-Best decoder and MMSE-IC equalizer, which suggests its superior symbol detection performance.Additionally, the average decoding trajectory resulting from the free-run iterative detection-decoding simulations is illustrated in Figure6 at Eb/N0=2dB, with Iout=4, Iin=2, and Iout=4, Iin=5 in the case of turbo decoder and LDPC decoder, respectively. The decoding trajectory closely matches the characteristics in the case of STS-SD and LC-K-Best decoders. The little difference from the characteristics after a few iterations is due to the correlation of extrinsic information caused by the limited interleaver depth. In the case of MMSE-IC, the decoding trajectory diverges from the characteristics for high mutual information because the equalizer uses thea posteriori information to compute soft symbols instead of the extrinsic information.The best trade-off scheduling of the required number of iterations is thereforeIout iterations in the outer loop and a total of 8 iterations inside the turbo decoder and 20 iterations inside the LDPC decoder distributed across these Iout iterations.


## 6. Performance and Complexity Evaluation of Iterative Detection-Decoding

In this section, we evaluate and compare the performance and the complexity of different MIMO detectors, namely, STS-SD, LC-K-Best decoder, MMSE-IC, and I-VBLAST equalizers, with different channel coding techniques (turbo, LDPC). A detailed analysis of the performance and the complexity trade-off of MIMO detection with LTE turbo decoder and 16-QAM modulation in a Rayleigh channel has been discussed in [24]. Herein, the performance and the complexity of the receiver with LDPC decoder are investigated. Moreover, several modulations and coding schemes are considered to quantify the gain achieved by such iterative receiver in different channel environments. Consequently, a comparative study is conducted in iterative receiver with both coding schemes (turbo, LDPC).For the turbo code, the rate1/3 turbo encoder specified in 3GPP LTE with a block length Kb=1,024 is used in the simulations. Puncturing is performed in the rate matching module to achieve an arbitrary coding rate Rc (e.g., Rc=1/2, 3/4). Meanwhile, the LDPC encoder specified in IEEE 802.11n is considered. The encoder is defined by a parity check matrix that is formed out of square submatrices of sizes 27, 54, or 81. Herein, the codeword length of size Nb=1,944 with coding rate of Rc=1/2 and 3/4 is considered.


### 6.1. Performance Evaluation

The simulations are first carried out in Rayleigh fading channel to view general performance of the iterative receivers. Real channel models will be considered to evaluate the performance in more realistic scenarios. Therefore, the 3GPP LTE-(A) channel environments with low, medium, and large delay spread values and Doppler frequencies are considered. The low spread channel is the Extended Pedestrian A (EPA) model which emulates the urban environment with small cell sizes (τrms=43 ns). The medium spread channel (τrms=357 ns) is the Extended Vehicular A (EVA) model. The Extended Typical Urban (ETU) model is the large spread channel which has a larger excess delay (τrms=991 ns) and simulates extreme urban, suburban, and rural cases. Table 2 summarizes the characteristic parameters of these channel environments. For all cases, the channel is assumed to be perfectly known at the receiver. Table 3 gives the principle parameters of the simulations. The performance is measured in terms of bit error rate (BER) with respect to signal-to-noise ratio (SNR) per bit Eb/N0: (33)EbN0=EsN0+10·log101RcQNtdB.In our previous study [24], the performance of MIMO detectors with LTE turbo decoder is evaluated in a Rayleigh channel with various outer and inner iterations. It has been shown that the performance is improved by about 1.5 dB at a BER level of 1×10-5 with 4 outer iterations. It has been also shown that no significant improvement can be achieved after 4 outer iterations; this improvement is less than 0.2 dB with 8 outer iterations.Table 2
Characteristic parameters of the investigated channel models.
τ
max
⁡
τ
rms
f
d
,
max
⁡
v
EPA
410 ns
43 ns
5 Hz
2 Km/h
EVA
2510 ns
357 ns
70 Hz
30 Km/h
ETU
5000 ns
991 ns
300 Hz
130 Km/hTable 3
Simulation parameters.
MIMO system
4
×
4 spatial multiplexing
Modulation
16-QAM, 64-QAM with Gray mapping
Channel type
Flat Rayleigh fading
EPA, EVA, and ETU
Number of subcarriersNFFT (Nc)
1024 (600 active)
Cyclic prefix (CP)
Normal5.2 μs–4.7 μs
Bandwidth
10 MHz
Carrier frequencyfc
2.4 GHz
Detector
Single tree search (STS-SD)Lclip=±8
LC-K-Best (K= 16, 32) Lclip=±3
I-VBLAST
MMSE-IC
Channel decoder
LTE turbo codeK=4  [13,15]o
R
c
= 1/2, 3/4
Block lengthKb = 1,024 bits
LDPC code (IEEE 802.11n)
R
c
= 1/2, 3/4
Codeword lengthNb= 1,944 bits
Interleaver
Random, size = 1,024 (turbo)
Inner iteration
I
in
=
2 (turbo) Iin=[3,4,6,7] (LDPC)
Outer iteration
I
out
=
4Similarly to turbo decoder, we fix the number of inner iterations inside LDPC decoder to 20 while varying the number of outer iterations. Figure7 shows BER performance of MIMO detectors with LDPC decoder in Rayleigh channel with Iin=20 iterations and Iout=1,2,4, or 8 iterations. STS-SD is used with a LLR clipping level of 8 which gives close to MAP performance with considerable reduction in the complexity. For LC-K-Best decoder, a LLR clipping level of 3 is used in the case of missing counter hypothesis. We show that performance improvement of 1.5 dB is observed with 4 outer iterations. For Iout=8 iterations, the improvement is less than 0.2 dB. Therefore Iout=4 iterations will be considered in the sequel.Figure 7
BER performance of a4×4 spatial multiplexing system with 16-QAM using several MIMO detectors (STS-SD, LC-K-Best, and MMSE-IC) in a Rayleigh fading channel, Iout=1,2,4,8Iin=20, LDPC decoder Nb=1,944, and Rc=1/2.Figure8 shows the BER performance of 4×4 16-QAM system in a Rayleigh fading channel with Iout=4 and Iin=2 in the case of turbo decoder and Iin=[3,4,6,7] in the case of LDPC decoder. The notation Iin=[3,4,6,7] denotes that 3 inner iterations are performed in the 1st outer iteration, 4 inner iterations in the 2nd outer iteration, and so on. The performances of STS-SD with Iin=8 and Iin=20 for each outer iteration in the case of turbo decoder and LDPC decoder are also plotted as a reference. In the case of turbo decoder, we show that performing Iin=8 and Iout=4 iterations does not bring significant improvement on the performance compared to the case when Iin=2 and Iout=4 iterations are performed. Similarly, in the case of LDPC decoder, the performance of Iin=20 and Iout=4 iterations is comparable to the performance of Iin=[3,4,6,7] and Iout=4 iterations. Hence, using a large number of iterations does not seem to be efficient which proves the results obtained in the convergence analysis of Section 5.Figure 8
BER performance of a4×4 spatial multiplexing system with 16-QAM using several MIMO detectors (STS-SD, LC-K-Best, I-VBLAST, and MMSE-IC) in a Rayleigh fading channel, (a) LTE turbo decoder, Kb = 1,024; Rc=1/2; Iout=4, Iin=2 and (b) LDPC decoder Nb=1,944; Rc=1/2; Iout=4, Iin=[3,4,6,7].
(a)
LTE turbo decoder
(b)
LDPC decoderBy comparing the algorithms, LC-K-Best decoder shows a degradation of less than 0.2 dB compared to STS-SD at a BER level of 2×10-5. However, it outperforms MMSE-IC and I-VBLAST equalizer by about 0.2 dB at a BER level of 2×10-5. MMSE-IC and I-VBLAST show almost the same performance. In addition, in the case of LDPC decoder (Figure 8(b)), we notice that increasing the number of inner iterations for each outer iteration Iin=[3,4,6,7] shows slightly better performance than performing an equal number of iterations Iin=5 for each outer iteration.In the case of high-order modulation, higher spectral efficiency can be achieved at a cost of increased symbol detection difficulty. Figure9 shows the BER performance of 64-QAM with Rc=3/4. We see that LC-K-Best decoder with a list size of 32 presents the similar performance as STS-SD. However, I-VLAST equalizer and MMSE-IC equalizer present degradation of more than 2 dB at a BER level of 1×10-5 compared to LC-K-Best decoder. Therefore, LC-K-Best decoder is more robust in the case of high-order modulations and high coding rates. The figure also shows that the BER performance of LDPC decoder is almost identical to that of the turbo decoder.Figure 9
BER performance of a4×4 spatial multiplexing system with 64-QAM using several MIMO detectors (STS-SD, LC-K-Best, I-VBLAST, and MMSE-IC) in a Rayleigh fading channel, (a) LTE turbo decoder, Kb=1,024; Rc=3/4; Iout=4, Iin=2 and (b) LDPC decoder Nb=1,944; Rc=3/4; Iout=4, Iin=[3,4,6,7].
(a)
LTE turbo decoder
(b)
LDPC decoderIn order to summarize the performance of different detectors with different channel decoders, we provide theEb/N0 values achieving a BER level of 1×10-5 in Table 4. The values given in the parentheses of the table represent the performance loss compared to STS-SD.Table 4
E
b
/
N
0 values achieving a BER level of 1 × 10−5 for different detectors and channel decoders (turbo, LDPC) in 4 × 4 spatial multiplexing system with 16-QAM Rc=1/2, and 64-QAM Rc=3/4.∗
Turbo code
LDPC code
16-QAM
64-QAM
16-QAM
64-QAM
STS-SD
2.5 dB
10.2 dB
2.7 dB
9.6 dB
LC-K-Best
2.6 dB (-0.1)
10.2 dB (0.0)
2.8 dB (-0.1)
9.6 dB (0.0)
I-VBLAST
2.8 dB (-0.3)
12.8 dB (-2.6)
2.9 dB (-0.2)
12 dB (-2.4)
MMSE-IC
2.8 dB (-0.3)
12.8 dB (-2.6)
3.0 dB (-0.3)
12 dB (-2.4)
∗The number in the parenthesis corresponds to the performance loss in dB compared to STS-SD.Next, we evaluate the performance of the iterative receiver in more realistic channel environments. Figures10, 11, and 12 show the BER performance of the detectors with the channel decoders on EPA, EVA, and ETU channels, receptively. Similar behaviors can be observed with LTE turbo decoder and with LDPC decoder.Figure 10
BER performance of a4×4 spatial multiplexing with 16-QAM and 64-QAM using several MIMO detectors, (STS-SD, LC-K-Best, and MMSE-IC) on EPA channel model, (a) LTE turbo decoder, Kb=1,024 and Iout=4, Iin=2 and (b) LDPC decoder Nb=1,944, Iout=4, Iin=[3,4,6,7].
(a)
EPA, turbo,Iout=4, Iin=2
(b)
EPA, LDPC,Iout=4, Iin=[3,4,6,7]Figure 11
BER performance of a4×4 spatial multiplexing system with 16-QAM and 64-QAM using several MIMO detectors (STS-SD, LC-K-Best, and MMSE-IC) on EVA channel model, (a) LTE turbo decoder, Kb=1,024 and Iout=4, Iin=2 and (b) LDPC decoder Nb=1,944 and Iout=4, Iin=[3,4,6,7].
(a)
EVA, turbo,Iout=4, Iin=2
(b)
EVA, LDPC,Iout=4, Iin=[3,4,6,7]Figure 12
BER performance of a4×4 spatial multiplexing system with 16-QAM and 64-QAM using several MIMO detectors (STS-SD, LC-K-Best, and MMSE-IC) on ETU channel model, (a) LTE turbo decoder, Kb=1,024, Iout=4, Iin=2 and (b) LDPC decoder Nb=1,944 and Iout=4, Iin=[3,4,6,7].
(a)
ETU, turbo,Iout=4, Iin=2
(b)
ETU, LDPC,Iout=4, Iin=[3,4,6,7]In EPA channel (Figure10), we see that LC-K-Best decoder achieves similar performance as STS-SD in the case of 64-AQM and presents a degradation less than 0.2 dB in the case of 16-QAM. Meanwhile, MMSE-IC presents significant performance loss of more than 6 dB in the case of 64-QAM and Rc=3/4. With 16-QAM and Rc=1/2, the degradation of MMSE-IC compared to LC-K-Best decoder is about 1 dB at a BER level of 1×10-4.In EVA channel (Figure11), the performance loss of MMSE-IC compared to LC-K-Best decoder is reduced to approximately 5 dB with 64-QAM and 0.5 dB with 16-QAM. LC-K-Best decoder presents a degradation of about 0.1~0.3 dB compared to STS-SD in the case of 16-QAM and 64-QAM.Similarly in ETU channel (Figure12), MMSE-IC presents a performance degradation compared to LC-K-Best decoder. This degradation is less than 4 dB in the case of 64-QAM and less than 0.5 dB in the case of 16-QAM. We notice also that the LC-K-Best decoder is comparable to STS-SD in the case of 64-QAM and has a degradation of 0.2 dB in the case of 16-QAM.Comparing the performance of the iterative receiver in different channels, it can be seen that iterative receivers present the best performance in ETU channel compared to EPA and EVA channels. This is due to the high diversity of ETU channel. At a BER level of1×10-4, the performance gain in ETU channel in the case of LTE turbo decoder is about 0.8 dB, 1.3 dB compared to EVA channel with 16-QAM and 64-QAM, respectively. In the case of LDPC decoder, this gain is 0.4 dB and 1 dB with 16-QAM and 64-QAM, respectively. However, in EPA channel, the performance gain in ETU channel in the case of turbo decoder or LDPC decoder is more than 1 dB with 16-QAM and 64-QAM.Table5 summarizes the Eb/N0 values achieving a BER level of 1×10-4 of different detectors combined with different channel decoders, and modulation orders in different channel models. The values given in the parentheses in the table represent the performance loss compared to STS-SD. As indicated in Table 5, the iterative receivers with turbo decoder and LDPC decoder have comparable performance with a coding rate Rc=1/2 (16-QAM). However, with Rc=3/4 (64-QAM), the receivers with LDPC decoder present slightly a better performance, especially in ETU channel (0.6 dB).Table 5
E
b
/
N
0 values achieving a BER level of 1×10-4 in LTE channel models for different detectors and channel decoders (turbo, LDPC) in 4×4 spatial multiplexing system with 16-QAM Rc=1/2, and 64-QAM Rc=3/4.∗
Turbo code
LDPC code
16-QAM
64-QAM
16-QAM
64-QAM
EPA
STS-SD
6.3 dB
14.0 dB
6.2 dB
13.8 dB
LC-K-Best
6.5 dB (-0.2)
13.9 dB (+0.1)
6.4 dB (-0.2)
13.9 dB (-0.1)
MMSE-IC
7.4 dB (-1.1)
>20 dB (>−6)
8.0 dB (-1.8)
>20 dB (>−6)
EVA
STS-SD
5.2 dB
14.3 dB
5.3 dB
13.4 dB
LC-K-Best
5.4 dB (-0.2)
14.4 dB (-0.1)
5.6 dB (-0.3)
13.7 dB (-0.3)
MMSE-IC
5.8 dB (-0.6)
19.0 dB (-4.7)
6.0 dB (-0.7)
18.5 dB (-5.1)
ETU
STS-SD
4.4 dB
13.0 dB
4.9 dB
12.4 dB
LC-K-Best
4.6 dB (-0.2)
13.0 dB (0.0)
4.9 dB (0.0)
12.4 dB (0.0)
MMSE-IC
4.9 dB (-0.5)
17.5 dB (-3.5)
5.1 dB (-0.2)
16 dB (-3.6)
∗The number in the parenthesis corresponds to the performance loss in dB compared to STS-SD.From these results, we show that the iterative receiver substantially improves the performance of coded MIMO systems either with turbo decoder or with LDPC decoder in Rayleigh channel (Figures8 and 9) and in more realistic channels (Figures 10, 11, and 12). Moreover, we show that performing a large number of inner iterations does not bring significant improvement. In addition, we show that the LC-K-Best decoder achieves a good performance with different modulations and channel coding schemes. The figures suggest that the BER performance of the iterative receiver with turbo decoder is almost comparable to that of the LDPC decoder. It is therefore meaningful to evaluate the computational complexity of the iterative receivers with both decoding techniques as it will be discussed in the next section.


### 6.2. Complexity Evaluation

The computational complexity has significant impact on the latency, throughput, and power consumption of the device. Therefore, the receiver algorithms should be optimized to achieve a good trade-off between performance and cost. In this part, we evaluate the computational complexity of the iterative receiver in terms of basic operations such as addition, subtraction, multiplication, division, square root extraction, maximization, and look-up table check (which are denoted by ADD, SUB, MUL, DIV, SQRT, Max, and LUT, resp.). To this end, the complete comparison of the iterative receivers with both channel decoders (turbo, LDPC) and with several modulations and coding rates is carried out.


#### 6.2.1. Complexity of Iterative Receiver

The complexity of iterative receiver depends on the MIMO detector, the channel decoder, and the number of inner/outer iterations. This complexity can be expressed by(34)Ctotal=Iin·Iout·Cdec·Nbit+Nsymb·Cdet1+Iout-1·Cdeti,where Cdet1 denotes the complexity of the first iteration of MIMO detection algorithm per symbol vector without taking into consideration thea priori information; Cdeti denotes the complexity per iteration per symbol vector taking into consideration thea priori information; Cdec denotes the complexity of the channel decoder per iteration per information bit; Nbit is the number of information bit at the input of the encoder; Nsymb is the number of symbol vectors; Nsymb and Nbit are linked by the following relation: (35)Nsymb=NbitQRcNt=αNbit,withα=1QRcNt,where Q is the number of bits in the constellation symbol, Rc is the coding rate, and Nt is the number of transmit antennas.


#### 6.2.2. Channel Decoder Complexity

The complexity of turbo decoder depends on the SISO decoder algorithms and the number of iterations. Herein, max-log-MAP algorithm with a correction factor is used [30]. The complexity of max-log-MAP decoder corresponds to three principal computations: branch metrics, recursive state metrics, and LLR of the bits.Table6 summarizes the total number of operations per information bit per iteration for the LTE turbo decoder with 2m=8 states and n=2 output bits, where m is the memory length of the component encoder. Therefore, the overall complexity of the turbo decoder can be obtained by multiplying the information block length Kb and the number of iterations Iin·Iout.Table 6
Complexity of turbo decoder per information bit per iteration.
ADD/SUB
Max (2-input)
LUT
Gamma
3
—
—
Beta, alpha
4
.
2
m
2
m
2
m
LLR
6
.
2
m
+
1
4
2
m
-
1
4
2
m
-
1
Turbo decoder
28
.
2
m
+
8
12
.
2
m
-
8
12
.
2
m
-
8
LTE turbo decoder2m=8
232
88
88The complexity of LDPC decoder depends on the scheduling used to exchange the messages between check node (CN) and variable node (VN). There are two distinct schedules of belief propagation: flooding schedule and layered schedule. In the flooding schedule, the messages are passed back and forth along all the edges. This schedule increases the complexity especially with long block length. A layered schedule is therefore proposed where only a small number of check nodes and variable nodes are updated per subiteration [53]. The messages generated in a subiteration are immediately used in subsequent subiterations of current iteration. This leads to a faster convergence of LDPC decoding and a reduction of the required memory size.The computational complexity of the layered LDPC decoder can be expressed in the function of degree of connectivity as summarized in Table7. dvi and dcj denote the degree of connectivity of the variable node i and the check node j, respectively. dc and dv denote the average row weight and the average column weight of LDPC code, respectively.Table 7
Complexity of LDPC decoder.
ADD/SUB
LUT
CN update
∑
j
=
1
M
2
d
c
j
-
1
+
∑
i
=
1
N
d
v
i
=
M
2
d
c
-
1
+
N
d
v
∑
j
=
1
M
2
d
c
j
=
2
M
d
c
VN update
∑
i
=
1
N
d
v
i
=
N
d
v
—


#### 6.2.3. Iterative MIMO Detection Complexity

The computational complexity of MIMO detection depends on the detection algorithm. In the case of tree-search-based algorithms, the commonly used approach to measure the complexity is to count the number of visited nodes in the tree-search process [54–56]. However, in the case of the interference-cancellation-based equalizers, the complexity is evaluated in terms of real or complex operations required to compute filter coefficients. For a fair comparison, the complexity is estimated based on basic operations (ADD, SUB, MUL, DIV, SQRT, Max, and LUT) in this work.The complexity of tree-search-based algorithms can be divided into two steps: the preprocessing and the tree-search process. The complexity of interference-cancellation-based equalizer algorithms is dominated by the computation of the filter coefficients and the matrix inversion. Several methods for matrix inversion, namely, Cholesky decomposition and QR decomposition, have been widely studied in the literature. Herein, QR decomposition based on Gram-Schmidt method is used to compute the matrix inversion. However, more efficient method for QR decomposition may be considered to optimize the cost of computational complexity in hardware implementation, like Givens rotations (GR) that can be effectively done by coordinate rotation digital computer (CORDIC) scheme.In the case of STS-SD, it is very difficult to find an analytical expression of the complexity due to the sequential nature of the tree search and the channel statistics. Therefore, Monte Carlo simulations were used to measure the average number of operations of STS-SD over all SNR range.The complexity of the interference-cancellation-based equalization comprises the complexity of soft mapping and soft demapping. In the case of STS-SD and LC-K-Best decoder, the computational complexity includes the complexity of SQR decomposition for the first iteration and the complexity of LLR computation. The SQR decomposition is based on Gram-Schmidt method which requires many ADD, MUL, DIV, and SQRT operations. It is important to note that, in LC-K-Best decoder, there is a number of comparisons to choose the best candidates that are not taken into consideration in the complexity comparisons.Figure13 summarizes the complexity of different detection algorithms in terms of number of operations in the case of 4×4 spatial multiplexing system using 16-QAM for the 1st and ith iteration. The MAP algorithm presents the highest complexity (4.7×106 MUL, 4.6×106 ADD). It is not represented in the graph, but it is used as a reference to view the reduction in the complexity of other algorithms compared to the optimal detector. The average number of arithmetic operations of STS-SD is 90% lower than the MAP algorithm. However, it still has a larger complexity than other algorithms. The complexity of LC-K-Best is approximately 30% higher than that of the MMSE equalizer and 50% lower than that of I-VBLAST. I-VBLAST requires more complexity due to the matrix inversion for each detected symbol. At the ith iteration, LC-MMSE-IC algorithm proposed in [9] has slightly lower complexity than the LC-K-Best decoder in terms of MUL (7%) and ADD (19%) with additional DIV and SQRT operations required for the matrix inversion.Figure 13
Complexity of a4×4 spatial multiplexing system with 16-QAM for different detection algorithms in terms of the number of operations per symbol vector at the 1st and ith iteration.Figure14 illustrates the complexity of different detection algorithms in terms of number of operations in the case of 4×4 spatial multiplexing systems using 64-QAM for the 1st and ith iteration. Similarly, STS-SD presents more than 90% reduction in the complexity compared to the MAP algorithm (1.2×109 MUL, 1.1×109 ADD). We note that the complexity of MMSE, LC-MMSE, and I-VBLAST slightly increases because the complexity of soft mapper and soft demapper increases with the constellation size. Meanwhile, the complexity of computing filter coefficients will not be affected since the number of antennas is the same. We notice also that the complexity of LC-K-Best decoder is approximately twice as much as that of LC-MMSE-IC equalizer. However, its complexity is about 40% lower than STS-SD (44% MUL and 45% ADD). It should be noted that even though LC-MMSE-IC has a lower complexity, it presents a severe degradation of more than 2 dB in the case of 64-QAM in the Rayleigh channel, and more than 4 dB in realistic channels (cf. Section 6.1).Figure 14
Complexity of a4×4 spatial multiplexing system with 64-QAM for different detection algorithms in terms of the number of operations per symbol vector at the 1st and ith iteration.


#### 6.2.4. Complexity of Iterative Receivers

In this section, we compare the complexity of the iterative receivers using different coding techniques. The same simulation parameters as those used in the previous section are considered. We consider a block lengthKb of 1,024 for the turbo decoder and codeword length Nb of 1,944 in the case of LDPC decoder which gives a block length slightly lower (5%) than the turbo decoder case for Rc=1/2. Four outer iterations are performed between the MIMO detectors and the channel decoders. The total number of iterations inside the LDPC decoder and the turbo decoder is chosen to be 20 and 8 iterations, respectively, because these number of iterations were found sufficient for the convergence of both decoders (cf. Sections 5 and 6).The number of operations consumed by LDPC decoder and turbo decoder per information block length with code ratesRc=1/2 and Rc=3/4 is listed in Table 8. We notice that the LDPC decoder requires 20% to 40% less operations than the turbo decoder. Note that the decoding complexity of turbo code is constant and does not depend on the code rate, because all code rates are generated from the mother coding rate R=1/3. In contrast, the complexity of LDPC depends on the code rate. The decoding complexity decreases when the code rate increases.Table 8
Complexity of turbo decoder (8 iterations) and LDPC decoder (20 iterations) in terms of number of operations.
Turbo (8 iterations)
LDPC (20 iterations)
ADD/SUB
Max
LUT
ADD/SUB
LUT
R
c
=
1
/
2
1856
K
b
704
K
b
704
K
b
554
K
b
287
K
b
R
c
=
3
/
4
1856
K
b
704
K
b
704
K
b
371
K
b
189
K
bFigure15 shows the computational complexity of the iterative receivers for one signal frame using both coding schemes and 16-QAM. In the case of turbo decoder, the LC-MMSE-IC equalizer presents the lowest computational complexity in terms of MUL, ADD. However, it requires more DIV and SQRT operations. The complexity of STS-SD is much higher than the LC-K-Best decoder (about 60% MUL and 30% ADD). Note that the more complexity brings only a performance improvement of ~0.2 dB at a BER level of 1×10-5. In addition, the LC-K-Best decoder presents a reduced complexity than I-VBLAST (20%~30% MUL, 2%~5% ADD, approximately 50% DIV, and approximately 50% SQRT). The reason is that I-VBLAST requires multiple matrix inversions for the first iteration. Similar complexity results can be observed in the case of LDPC decoder.Figure 15
Complexity of a4×4 spatial multiplexing system with 16-QAM of different detection algorithms with (a) LTE turbo decoder and (b) LDPC decoder, Rc=1/2.
(a)
4 × 4 16-QAM, turbo decoder,Rc=1/2, Kb=1024
(b)
4 × 4 16-QAM, LDPC decoder,Rc=1/2, Nb=1944 (Kb=972)By comparing the complexity of the receivers with both coding techniques, we notice that the complexity of iterative receiver with LDPC decoder is smaller than the complexity with turbo decoder in terms of ADD, Max, and LUT operations. However, both receivers present approximately similar complexity in terms of MUL, DIV, and SQRT.It is therefore worthy to compare the complexity of the iterative receiver with high modulation order and coding rate. Figure16 illustrates the computational complexity of the iterative receivers for one transmitted frame in 4×4 spatial multiplexing system with 64-QAM. As shown in the figure, the complexity of the receiver based on STS-SD and LC-K-Best decoder increases significantly since the tree-search detection depends on the modulation order. The complexity of the receiver based on LC-MMSE-IC and I-VBLAST slightly increases compared to the case of 16-QAM due to the small increases in the complexity of the soft mapper and soft demapper. Furthermore, the complexity of LC-MMSE-IC equalizer is much lower than the LC-K-Best decoder (~55% MUL, ~26% ADD). However, LC-MMSE-IC presents a significant degradation of about 2dB in a Rayleigh fading channel and more than 4 dB in more realistic channels at the BER level of 1×10-4 compared to the LC-K-Best decoder (cf. Section 6).Figure 16
Complexity of a4×4 spatial multiplexing system with 64-QAM of different detection algorithms with (a) LTE turbo decoder and (b) LDPC decoder, Rc=3/4.
(a)
4 × 4 64-QAM, turbo decoder,Rc=3/4, Kb=1024
(b)
4 × 4 64-QAM, LDPC decoder,Rc=3/4, Nb=1944 (Kb=1458)In addition, Figure16(b) shows that iterative receiver with LDPC decoder presents low computational complexity in terms of ADD, LUTs. However, similar complexity of the receiver with both coding techniques is observed in terms of MUL, DIV, and SQRT. Since MUL and DIV are more complex than ADD, MAX, and LUT, we can conclude that the complexity of iterative receiver with both coding schemes is comparable.From this evaluation, we conclude that the performance and the complexity of the iterative receiver with turbo decoder and LDPC decoder is highly comparable. We should also note that the turbo decoder is recommended for small to moderate block lengths and coding rates. Meanwhile, the LDPC decoder is more favored for large block sizes due to their superior performance and lower complexity. In addition, we see that the LC-K-Best decoder achieves a good performance-complexity trade-off compared to other detection algorithms. Furthermore, the LC-K-Best decoder performs a breadth-first search that can be easily paralyzed and pipelined in hardware architecture as discussed in [16, 41]. The LC-K-Best decoder can be also easily implemented and can provide a high and fixed detection rates for future communication systems.


## 6.1. Performance Evaluation

The simulations are first carried out in Rayleigh fading channel to view general performance of the iterative receivers. Real channel models will be considered to evaluate the performance in more realistic scenarios. Therefore, the 3GPP LTE-(A) channel environments with low, medium, and large delay spread values and Doppler frequencies are considered. The low spread channel is the Extended Pedestrian A (EPA) model which emulates the urban environment with small cell sizes (τrms=43 ns). The medium spread channel (τrms=357 ns) is the Extended Vehicular A (EVA) model. The Extended Typical Urban (ETU) model is the large spread channel which has a larger excess delay (τrms=991 ns) and simulates extreme urban, suburban, and rural cases. Table 2 summarizes the characteristic parameters of these channel environments. For all cases, the channel is assumed to be perfectly known at the receiver. Table 3 gives the principle parameters of the simulations. The performance is measured in terms of bit error rate (BER) with respect to signal-to-noise ratio (SNR) per bit Eb/N0: (33)EbN0=EsN0+10·log101RcQNtdB.In our previous study [24], the performance of MIMO detectors with LTE turbo decoder is evaluated in a Rayleigh channel with various outer and inner iterations. It has been shown that the performance is improved by about 1.5 dB at a BER level of 1×10-5 with 4 outer iterations. It has been also shown that no significant improvement can be achieved after 4 outer iterations; this improvement is less than 0.2 dB with 8 outer iterations.Table 2
Characteristic parameters of the investigated channel models.
τ
max
⁡
τ
rms
f
d
,
max
⁡
v
EPA
410 ns
43 ns
5 Hz
2 Km/h
EVA
2510 ns
357 ns
70 Hz
30 Km/h
ETU
5000 ns
991 ns
300 Hz
130 Km/hTable 3
Simulation parameters.
MIMO system
4
×
4 spatial multiplexing
Modulation
16-QAM, 64-QAM with Gray mapping
Channel type
Flat Rayleigh fading
EPA, EVA, and ETU
Number of subcarriersNFFT (Nc)
1024 (600 active)
Cyclic prefix (CP)
Normal5.2 μs–4.7 μs
Bandwidth
10 MHz
Carrier frequencyfc
2.4 GHz
Detector
Single tree search (STS-SD)Lclip=±8
LC-K-Best (K= 16, 32) Lclip=±3
I-VBLAST
MMSE-IC
Channel decoder
LTE turbo codeK=4  [13,15]o
R
c
= 1/2, 3/4
Block lengthKb = 1,024 bits
LDPC code (IEEE 802.11n)
R
c
= 1/2, 3/4
Codeword lengthNb= 1,944 bits
Interleaver
Random, size = 1,024 (turbo)
Inner iteration
I
in
=
2 (turbo) Iin=[3,4,6,7] (LDPC)
Outer iteration
I
out
=
4Similarly to turbo decoder, we fix the number of inner iterations inside LDPC decoder to 20 while varying the number of outer iterations. Figure7 shows BER performance of MIMO detectors with LDPC decoder in Rayleigh channel with Iin=20 iterations and Iout=1,2,4, or 8 iterations. STS-SD is used with a LLR clipping level of 8 which gives close to MAP performance with considerable reduction in the complexity. For LC-K-Best decoder, a LLR clipping level of 3 is used in the case of missing counter hypothesis. We show that performance improvement of 1.5 dB is observed with 4 outer iterations. For Iout=8 iterations, the improvement is less than 0.2 dB. Therefore Iout=4 iterations will be considered in the sequel.Figure 7
BER performance of a4×4 spatial multiplexing system with 16-QAM using several MIMO detectors (STS-SD, LC-K-Best, and MMSE-IC) in a Rayleigh fading channel, Iout=1,2,4,8Iin=20, LDPC decoder Nb=1,944, and Rc=1/2.Figure8 shows the BER performance of 4×4 16-QAM system in a Rayleigh fading channel with Iout=4 and Iin=2 in the case of turbo decoder and Iin=[3,4,6,7] in the case of LDPC decoder. The notation Iin=[3,4,6,7] denotes that 3 inner iterations are performed in the 1st outer iteration, 4 inner iterations in the 2nd outer iteration, and so on. The performances of STS-SD with Iin=8 and Iin=20 for each outer iteration in the case of turbo decoder and LDPC decoder are also plotted as a reference. In the case of turbo decoder, we show that performing Iin=8 and Iout=4 iterations does not bring significant improvement on the performance compared to the case when Iin=2 and Iout=4 iterations are performed. Similarly, in the case of LDPC decoder, the performance of Iin=20 and Iout=4 iterations is comparable to the performance of Iin=[3,4,6,7] and Iout=4 iterations. Hence, using a large number of iterations does not seem to be efficient which proves the results obtained in the convergence analysis of Section 5.Figure 8
BER performance of a4×4 spatial multiplexing system with 16-QAM using several MIMO detectors (STS-SD, LC-K-Best, I-VBLAST, and MMSE-IC) in a Rayleigh fading channel, (a) LTE turbo decoder, Kb = 1,024; Rc=1/2; Iout=4, Iin=2 and (b) LDPC decoder Nb=1,944; Rc=1/2; Iout=4, Iin=[3,4,6,7].
(a)
LTE turbo decoder
(b)
LDPC decoderBy comparing the algorithms, LC-K-Best decoder shows a degradation of less than 0.2 dB compared to STS-SD at a BER level of 2×10-5. However, it outperforms MMSE-IC and I-VBLAST equalizer by about 0.2 dB at a BER level of 2×10-5. MMSE-IC and I-VBLAST show almost the same performance. In addition, in the case of LDPC decoder (Figure 8(b)), we notice that increasing the number of inner iterations for each outer iteration Iin=[3,4,6,7] shows slightly better performance than performing an equal number of iterations Iin=5 for each outer iteration.In the case of high-order modulation, higher spectral efficiency can be achieved at a cost of increased symbol detection difficulty. Figure9 shows the BER performance of 64-QAM with Rc=3/4. We see that LC-K-Best decoder with a list size of 32 presents the similar performance as STS-SD. However, I-VLAST equalizer and MMSE-IC equalizer present degradation of more than 2 dB at a BER level of 1×10-5 compared to LC-K-Best decoder. Therefore, LC-K-Best decoder is more robust in the case of high-order modulations and high coding rates. The figure also shows that the BER performance of LDPC decoder is almost identical to that of the turbo decoder.Figure 9
BER performance of a4×4 spatial multiplexing system with 64-QAM using several MIMO detectors (STS-SD, LC-K-Best, I-VBLAST, and MMSE-IC) in a Rayleigh fading channel, (a) LTE turbo decoder, Kb=1,024; Rc=3/4; Iout=4, Iin=2 and (b) LDPC decoder Nb=1,944; Rc=3/4; Iout=4, Iin=[3,4,6,7].
(a)
LTE turbo decoder
(b)
LDPC decoderIn order to summarize the performance of different detectors with different channel decoders, we provide theEb/N0 values achieving a BER level of 1×10-5 in Table 4. The values given in the parentheses of the table represent the performance loss compared to STS-SD.Table 4
E
b
/
N
0 values achieving a BER level of 1 × 10−5 for different detectors and channel decoders (turbo, LDPC) in 4 × 4 spatial multiplexing system with 16-QAM Rc=1/2, and 64-QAM Rc=3/4.∗
Turbo code
LDPC code
16-QAM
64-QAM
16-QAM
64-QAM
STS-SD
2.5 dB
10.2 dB
2.7 dB
9.6 dB
LC-K-Best
2.6 dB (-0.1)
10.2 dB (0.0)
2.8 dB (-0.1)
9.6 dB (0.0)
I-VBLAST
2.8 dB (-0.3)
12.8 dB (-2.6)
2.9 dB (-0.2)
12 dB (-2.4)
MMSE-IC
2.8 dB (-0.3)
12.8 dB (-2.6)
3.0 dB (-0.3)
12 dB (-2.4)
∗The number in the parenthesis corresponds to the performance loss in dB compared to STS-SD.Next, we evaluate the performance of the iterative receiver in more realistic channel environments. Figures10, 11, and 12 show the BER performance of the detectors with the channel decoders on EPA, EVA, and ETU channels, receptively. Similar behaviors can be observed with LTE turbo decoder and with LDPC decoder.Figure 10
BER performance of a4×4 spatial multiplexing with 16-QAM and 64-QAM using several MIMO detectors, (STS-SD, LC-K-Best, and MMSE-IC) on EPA channel model, (a) LTE turbo decoder, Kb=1,024 and Iout=4, Iin=2 and (b) LDPC decoder Nb=1,944, Iout=4, Iin=[3,4,6,7].
(a)
EPA, turbo,Iout=4, Iin=2
(b)
EPA, LDPC,Iout=4, Iin=[3,4,6,7]Figure 11
BER performance of a4×4 spatial multiplexing system with 16-QAM and 64-QAM using several MIMO detectors (STS-SD, LC-K-Best, and MMSE-IC) on EVA channel model, (a) LTE turbo decoder, Kb=1,024 and Iout=4, Iin=2 and (b) LDPC decoder Nb=1,944 and Iout=4, Iin=[3,4,6,7].
(a)
EVA, turbo,Iout=4, Iin=2
(b)
EVA, LDPC,Iout=4, Iin=[3,4,6,7]Figure 12
BER performance of a4×4 spatial multiplexing system with 16-QAM and 64-QAM using several MIMO detectors (STS-SD, LC-K-Best, and MMSE-IC) on ETU channel model, (a) LTE turbo decoder, Kb=1,024, Iout=4, Iin=2 and (b) LDPC decoder Nb=1,944 and Iout=4, Iin=[3,4,6,7].
(a)
ETU, turbo,Iout=4, Iin=2
(b)
ETU, LDPC,Iout=4, Iin=[3,4,6,7]In EPA channel (Figure10), we see that LC-K-Best decoder achieves similar performance as STS-SD in the case of 64-AQM and presents a degradation less than 0.2 dB in the case of 16-QAM. Meanwhile, MMSE-IC presents significant performance loss of more than 6 dB in the case of 64-QAM and Rc=3/4. With 16-QAM and Rc=1/2, the degradation of MMSE-IC compared to LC-K-Best decoder is about 1 dB at a BER level of 1×10-4.In EVA channel (Figure11), the performance loss of MMSE-IC compared to LC-K-Best decoder is reduced to approximately 5 dB with 64-QAM and 0.5 dB with 16-QAM. LC-K-Best decoder presents a degradation of about 0.1~0.3 dB compared to STS-SD in the case of 16-QAM and 64-QAM.Similarly in ETU channel (Figure12), MMSE-IC presents a performance degradation compared to LC-K-Best decoder. This degradation is less than 4 dB in the case of 64-QAM and less than 0.5 dB in the case of 16-QAM. We notice also that the LC-K-Best decoder is comparable to STS-SD in the case of 64-QAM and has a degradation of 0.2 dB in the case of 16-QAM.Comparing the performance of the iterative receiver in different channels, it can be seen that iterative receivers present the best performance in ETU channel compared to EPA and EVA channels. This is due to the high diversity of ETU channel. At a BER level of1×10-4, the performance gain in ETU channel in the case of LTE turbo decoder is about 0.8 dB, 1.3 dB compared to EVA channel with 16-QAM and 64-QAM, respectively. In the case of LDPC decoder, this gain is 0.4 dB and 1 dB with 16-QAM and 64-QAM, respectively. However, in EPA channel, the performance gain in ETU channel in the case of turbo decoder or LDPC decoder is more than 1 dB with 16-QAM and 64-QAM.Table5 summarizes the Eb/N0 values achieving a BER level of 1×10-4 of different detectors combined with different channel decoders, and modulation orders in different channel models. The values given in the parentheses in the table represent the performance loss compared to STS-SD. As indicated in Table 5, the iterative receivers with turbo decoder and LDPC decoder have comparable performance with a coding rate Rc=1/2 (16-QAM). However, with Rc=3/4 (64-QAM), the receivers with LDPC decoder present slightly a better performance, especially in ETU channel (0.6 dB).Table 5
E
b
/
N
0 values achieving a BER level of 1×10-4 in LTE channel models for different detectors and channel decoders (turbo, LDPC) in 4×4 spatial multiplexing system with 16-QAM Rc=1/2, and 64-QAM Rc=3/4.∗
Turbo code
LDPC code
16-QAM
64-QAM
16-QAM
64-QAM
EPA
STS-SD
6.3 dB
14.0 dB
6.2 dB
13.8 dB
LC-K-Best
6.5 dB (-0.2)
13.9 dB (+0.1)
6.4 dB (-0.2)
13.9 dB (-0.1)
MMSE-IC
7.4 dB (-1.1)
>20 dB (>−6)
8.0 dB (-1.8)
>20 dB (>−6)
EVA
STS-SD
5.2 dB
14.3 dB
5.3 dB
13.4 dB
LC-K-Best
5.4 dB (-0.2)
14.4 dB (-0.1)
5.6 dB (-0.3)
13.7 dB (-0.3)
MMSE-IC
5.8 dB (-0.6)
19.0 dB (-4.7)
6.0 dB (-0.7)
18.5 dB (-5.1)
ETU
STS-SD
4.4 dB
13.0 dB
4.9 dB
12.4 dB
LC-K-Best
4.6 dB (-0.2)
13.0 dB (0.0)
4.9 dB (0.0)
12.4 dB (0.0)
MMSE-IC
4.9 dB (-0.5)
17.5 dB (-3.5)
5.1 dB (-0.2)
16 dB (-3.6)
∗The number in the parenthesis corresponds to the performance loss in dB compared to STS-SD.From these results, we show that the iterative receiver substantially improves the performance of coded MIMO systems either with turbo decoder or with LDPC decoder in Rayleigh channel (Figures8 and 9) and in more realistic channels (Figures 10, 11, and 12). Moreover, we show that performing a large number of inner iterations does not bring significant improvement. In addition, we show that the LC-K-Best decoder achieves a good performance with different modulations and channel coding schemes. The figures suggest that the BER performance of the iterative receiver with turbo decoder is almost comparable to that of the LDPC decoder. It is therefore meaningful to evaluate the computational complexity of the iterative receivers with both decoding techniques as it will be discussed in the next section.


## 6.2. Complexity Evaluation

The computational complexity has significant impact on the latency, throughput, and power consumption of the device. Therefore, the receiver algorithms should be optimized to achieve a good trade-off between performance and cost. In this part, we evaluate the computational complexity of the iterative receiver in terms of basic operations such as addition, subtraction, multiplication, division, square root extraction, maximization, and look-up table check (which are denoted by ADD, SUB, MUL, DIV, SQRT, Max, and LUT, resp.). To this end, the complete comparison of the iterative receivers with both channel decoders (turbo, LDPC) and with several modulations and coding rates is carried out.


### 6.2.1. Complexity of Iterative Receiver

The complexity of iterative receiver depends on the MIMO detector, the channel decoder, and the number of inner/outer iterations. This complexity can be expressed by(34)Ctotal=Iin·Iout·Cdec·Nbit+Nsymb·Cdet1+Iout-1·Cdeti,where Cdet1 denotes the complexity of the first iteration of MIMO detection algorithm per symbol vector without taking into consideration thea priori information; Cdeti denotes the complexity per iteration per symbol vector taking into consideration thea priori information; Cdec denotes the complexity of the channel decoder per iteration per information bit; Nbit is the number of information bit at the input of the encoder; Nsymb is the number of symbol vectors; Nsymb and Nbit are linked by the following relation: (35)Nsymb=NbitQRcNt=αNbit,withα=1QRcNt,where Q is the number of bits in the constellation symbol, Rc is the coding rate, and Nt is the number of transmit antennas.


### 6.2.2. Channel Decoder Complexity

The complexity of turbo decoder depends on the SISO decoder algorithms and the number of iterations. Herein, max-log-MAP algorithm with a correction factor is used [30]. The complexity of max-log-MAP decoder corresponds to three principal computations: branch metrics, recursive state metrics, and LLR of the bits.Table6 summarizes the total number of operations per information bit per iteration for the LTE turbo decoder with 2m=8 states and n=2 output bits, where m is the memory length of the component encoder. Therefore, the overall complexity of the turbo decoder can be obtained by multiplying the information block length Kb and the number of iterations Iin·Iout.Table 6
Complexity of turbo decoder per information bit per iteration.
ADD/SUB
Max (2-input)
LUT
Gamma
3
—
—
Beta, alpha
4
.
2
m
2
m
2
m
LLR
6
.
2
m
+
1
4
2
m
-
1
4
2
m
-
1
Turbo decoder
28
.
2
m
+
8
12
.
2
m
-
8
12
.
2
m
-
8
LTE turbo decoder2m=8
232
88
88The complexity of LDPC decoder depends on the scheduling used to exchange the messages between check node (CN) and variable node (VN). There are two distinct schedules of belief propagation: flooding schedule and layered schedule. In the flooding schedule, the messages are passed back and forth along all the edges. This schedule increases the complexity especially with long block length. A layered schedule is therefore proposed where only a small number of check nodes and variable nodes are updated per subiteration [53]. The messages generated in a subiteration are immediately used in subsequent subiterations of current iteration. This leads to a faster convergence of LDPC decoding and a reduction of the required memory size.The computational complexity of the layered LDPC decoder can be expressed in the function of degree of connectivity as summarized in Table7. dvi and dcj denote the degree of connectivity of the variable node i and the check node j, respectively. dc and dv denote the average row weight and the average column weight of LDPC code, respectively.Table 7
Complexity of LDPC decoder.
ADD/SUB
LUT
CN update
∑
j
=
1
M
2
d
c
j
-
1
+
∑
i
=
1
N
d
v
i
=
M
2
d
c
-
1
+
N
d
v
∑
j
=
1
M
2
d
c
j
=
2
M
d
c
VN update
∑
i
=
1
N
d
v
i
=
N
d
v
—


### 6.2.3. Iterative MIMO Detection Complexity

The computational complexity of MIMO detection depends on the detection algorithm. In the case of tree-search-based algorithms, the commonly used approach to measure the complexity is to count the number of visited nodes in the tree-search process [54–56]. However, in the case of the interference-cancellation-based equalizers, the complexity is evaluated in terms of real or complex operations required to compute filter coefficients. For a fair comparison, the complexity is estimated based on basic operations (ADD, SUB, MUL, DIV, SQRT, Max, and LUT) in this work.The complexity of tree-search-based algorithms can be divided into two steps: the preprocessing and the tree-search process. The complexity of interference-cancellation-based equalizer algorithms is dominated by the computation of the filter coefficients and the matrix inversion. Several methods for matrix inversion, namely, Cholesky decomposition and QR decomposition, have been widely studied in the literature. Herein, QR decomposition based on Gram-Schmidt method is used to compute the matrix inversion. However, more efficient method for QR decomposition may be considered to optimize the cost of computational complexity in hardware implementation, like Givens rotations (GR) that can be effectively done by coordinate rotation digital computer (CORDIC) scheme.In the case of STS-SD, it is very difficult to find an analytical expression of the complexity due to the sequential nature of the tree search and the channel statistics. Therefore, Monte Carlo simulations were used to measure the average number of operations of STS-SD over all SNR range.The complexity of the interference-cancellation-based equalization comprises the complexity of soft mapping and soft demapping. In the case of STS-SD and LC-K-Best decoder, the computational complexity includes the complexity of SQR decomposition for the first iteration and the complexity of LLR computation. The SQR decomposition is based on Gram-Schmidt method which requires many ADD, MUL, DIV, and SQRT operations. It is important to note that, in LC-K-Best decoder, there is a number of comparisons to choose the best candidates that are not taken into consideration in the complexity comparisons.Figure13 summarizes the complexity of different detection algorithms in terms of number of operations in the case of 4×4 spatial multiplexing system using 16-QAM for the 1st and ith iteration. The MAP algorithm presents the highest complexity (4.7×106 MUL, 4.6×106 ADD). It is not represented in the graph, but it is used as a reference to view the reduction in the complexity of other algorithms compared to the optimal detector. The average number of arithmetic operations of STS-SD is 90% lower than the MAP algorithm. However, it still has a larger complexity than other algorithms. The complexity of LC-K-Best is approximately 30% higher than that of the MMSE equalizer and 50% lower than that of I-VBLAST. I-VBLAST requires more complexity due to the matrix inversion for each detected symbol. At the ith iteration, LC-MMSE-IC algorithm proposed in [9] has slightly lower complexity than the LC-K-Best decoder in terms of MUL (7%) and ADD (19%) with additional DIV and SQRT operations required for the matrix inversion.Figure 13
Complexity of a4×4 spatial multiplexing system with 16-QAM for different detection algorithms in terms of the number of operations per symbol vector at the 1st and ith iteration.Figure14 illustrates the complexity of different detection algorithms in terms of number of operations in the case of 4×4 spatial multiplexing systems using 64-QAM for the 1st and ith iteration. Similarly, STS-SD presents more than 90% reduction in the complexity compared to the MAP algorithm (1.2×109 MUL, 1.1×109 ADD). We note that the complexity of MMSE, LC-MMSE, and I-VBLAST slightly increases because the complexity of soft mapper and soft demapper increases with the constellation size. Meanwhile, the complexity of computing filter coefficients will not be affected since the number of antennas is the same. We notice also that the complexity of LC-K-Best decoder is approximately twice as much as that of LC-MMSE-IC equalizer. However, its complexity is about 40% lower than STS-SD (44% MUL and 45% ADD). It should be noted that even though LC-MMSE-IC has a lower complexity, it presents a severe degradation of more than 2 dB in the case of 64-QAM in the Rayleigh channel, and more than 4 dB in realistic channels (cf. Section 6.1).Figure 14
Complexity of a4×4 spatial multiplexing system with 64-QAM for different detection algorithms in terms of the number of operations per symbol vector at the 1st and ith iteration.


### 6.2.4. Complexity of Iterative Receivers

In this section, we compare the complexity of the iterative receivers using different coding techniques. The same simulation parameters as those used in the previous section are considered. We consider a block lengthKb of 1,024 for the turbo decoder and codeword length Nb of 1,944 in the case of LDPC decoder which gives a block length slightly lower (5%) than the turbo decoder case for Rc=1/2. Four outer iterations are performed between the MIMO detectors and the channel decoders. The total number of iterations inside the LDPC decoder and the turbo decoder is chosen to be 20 and 8 iterations, respectively, because these number of iterations were found sufficient for the convergence of both decoders (cf. Sections 5 and 6).The number of operations consumed by LDPC decoder and turbo decoder per information block length with code ratesRc=1/2 and Rc=3/4 is listed in Table 8. We notice that the LDPC decoder requires 20% to 40% less operations than the turbo decoder. Note that the decoding complexity of turbo code is constant and does not depend on the code rate, because all code rates are generated from the mother coding rate R=1/3. In contrast, the complexity of LDPC depends on the code rate. The decoding complexity decreases when the code rate increases.Table 8
Complexity of turbo decoder (8 iterations) and LDPC decoder (20 iterations) in terms of number of operations.
Turbo (8 iterations)
LDPC (20 iterations)
ADD/SUB
Max
LUT
ADD/SUB
LUT
R
c
=
1
/
2
1856
K
b
704
K
b
704
K
b
554
K
b
287
K
b
R
c
=
3
/
4
1856
K
b
704
K
b
704
K
b
371
K
b
189
K
bFigure15 shows the computational complexity of the iterative receivers for one signal frame using both coding schemes and 16-QAM. In the case of turbo decoder, the LC-MMSE-IC equalizer presents the lowest computational complexity in terms of MUL, ADD. However, it requires more DIV and SQRT operations. The complexity of STS-SD is much higher than the LC-K-Best decoder (about 60% MUL and 30% ADD). Note that the more complexity brings only a performance improvement of ~0.2 dB at a BER level of 1×10-5. In addition, the LC-K-Best decoder presents a reduced complexity than I-VBLAST (20%~30% MUL, 2%~5% ADD, approximately 50% DIV, and approximately 50% SQRT). The reason is that I-VBLAST requires multiple matrix inversions for the first iteration. Similar complexity results can be observed in the case of LDPC decoder.Figure 15
Complexity of a4×4 spatial multiplexing system with 16-QAM of different detection algorithms with (a) LTE turbo decoder and (b) LDPC decoder, Rc=1/2.
(a)
4 × 4 16-QAM, turbo decoder,Rc=1/2, Kb=1024
(b)
4 × 4 16-QAM, LDPC decoder,Rc=1/2, Nb=1944 (Kb=972)By comparing the complexity of the receivers with both coding techniques, we notice that the complexity of iterative receiver with LDPC decoder is smaller than the complexity with turbo decoder in terms of ADD, Max, and LUT operations. However, both receivers present approximately similar complexity in terms of MUL, DIV, and SQRT.It is therefore worthy to compare the complexity of the iterative receiver with high modulation order and coding rate. Figure16 illustrates the computational complexity of the iterative receivers for one transmitted frame in 4×4 spatial multiplexing system with 64-QAM. As shown in the figure, the complexity of the receiver based on STS-SD and LC-K-Best decoder increases significantly since the tree-search detection depends on the modulation order. The complexity of the receiver based on LC-MMSE-IC and I-VBLAST slightly increases compared to the case of 16-QAM due to the small increases in the complexity of the soft mapper and soft demapper. Furthermore, the complexity of LC-MMSE-IC equalizer is much lower than the LC-K-Best decoder (~55% MUL, ~26% ADD). However, LC-MMSE-IC presents a significant degradation of about 2dB in a Rayleigh fading channel and more than 4 dB in more realistic channels at the BER level of 1×10-4 compared to the LC-K-Best decoder (cf. Section 6).Figure 16
Complexity of a4×4 spatial multiplexing system with 64-QAM of different detection algorithms with (a) LTE turbo decoder and (b) LDPC decoder, Rc=3/4.
(a)
4 × 4 64-QAM, turbo decoder,Rc=3/4, Kb=1024
(b)
4 × 4 64-QAM, LDPC decoder,Rc=3/4, Nb=1944 (Kb=1458)In addition, Figure16(b) shows that iterative receiver with LDPC decoder presents low computational complexity in terms of ADD, LUTs. However, similar complexity of the receiver with both coding techniques is observed in terms of MUL, DIV, and SQRT. Since MUL and DIV are more complex than ADD, MAX, and LUT, we can conclude that the complexity of iterative receiver with both coding schemes is comparable.From this evaluation, we conclude that the performance and the complexity of the iterative receiver with turbo decoder and LDPC decoder is highly comparable. We should also note that the turbo decoder is recommended for small to moderate block lengths and coding rates. Meanwhile, the LDPC decoder is more favored for large block sizes due to their superior performance and lower complexity. In addition, we see that the LC-K-Best decoder achieves a good performance-complexity trade-off compared to other detection algorithms. Furthermore, the LC-K-Best decoder performs a breadth-first search that can be easily paralyzed and pipelined in hardware architecture as discussed in [16, 41]. The LC-K-Best decoder can be also easily implemented and can provide a high and fixed detection rates for future communication systems.


## 6.2.1. Complexity of Iterative Receiver

The complexity of iterative receiver depends on the MIMO detector, the channel decoder, and the number of inner/outer iterations. This complexity can be expressed by(34)Ctotal=Iin·Iout·Cdec·Nbit+Nsymb·Cdet1+Iout-1·Cdeti,where Cdet1 denotes the complexity of the first iteration of MIMO detection algorithm per symbol vector without taking into consideration thea priori information; Cdeti denotes the complexity per iteration per symbol vector taking into consideration thea priori information; Cdec denotes the complexity of the channel decoder per iteration per information bit; Nbit is the number of information bit at the input of the encoder; Nsymb is the number of symbol vectors; Nsymb and Nbit are linked by the following relation: (35)Nsymb=NbitQRcNt=αNbit,withα=1QRcNt,where Q is the number of bits in the constellation symbol, Rc is the coding rate, and Nt is the number of transmit antennas.


## 6.2.2. Channel Decoder Complexity

The complexity of turbo decoder depends on the SISO decoder algorithms and the number of iterations. Herein, max-log-MAP algorithm with a correction factor is used [30]. The complexity of max-log-MAP decoder corresponds to three principal computations: branch metrics, recursive state metrics, and LLR of the bits.Table6 summarizes the total number of operations per information bit per iteration for the LTE turbo decoder with 2m=8 states and n=2 output bits, where m is the memory length of the component encoder. Therefore, the overall complexity of the turbo decoder can be obtained by multiplying the information block length Kb and the number of iterations Iin·Iout.Table 6
Complexity of turbo decoder per information bit per iteration.
ADD/SUB
Max (2-input)
LUT
Gamma
3
—
—
Beta, alpha
4
.
2
m
2
m
2
m
LLR
6
.
2
m
+
1
4
2
m
-
1
4
2
m
-
1
Turbo decoder
28
.
2
m
+
8
12
.
2
m
-
8
12
.
2
m
-
8
LTE turbo decoder2m=8
232
88
88The complexity of LDPC decoder depends on the scheduling used to exchange the messages between check node (CN) and variable node (VN). There are two distinct schedules of belief propagation: flooding schedule and layered schedule. In the flooding schedule, the messages are passed back and forth along all the edges. This schedule increases the complexity especially with long block length. A layered schedule is therefore proposed where only a small number of check nodes and variable nodes are updated per subiteration [53]. The messages generated in a subiteration are immediately used in subsequent subiterations of current iteration. This leads to a faster convergence of LDPC decoding and a reduction of the required memory size.The computational complexity of the layered LDPC decoder can be expressed in the function of degree of connectivity as summarized in Table7. dvi and dcj denote the degree of connectivity of the variable node i and the check node j, respectively. dc and dv denote the average row weight and the average column weight of LDPC code, respectively.Table 7
Complexity of LDPC decoder.
ADD/SUB
LUT
CN update
∑
j
=
1
M
2
d
c
j
-
1
+
∑
i
=
1
N
d
v
i
=
M
2
d
c
-
1
+
N
d
v
∑
j
=
1
M
2
d
c
j
=
2
M
d
c
VN update
∑
i
=
1
N
d
v
i
=
N
d
v
—


## 6.2.3. Iterative MIMO Detection Complexity

The computational complexity of MIMO detection depends on the detection algorithm. In the case of tree-search-based algorithms, the commonly used approach to measure the complexity is to count the number of visited nodes in the tree-search process [54–56]. However, in the case of the interference-cancellation-based equalizers, the complexity is evaluated in terms of real or complex operations required to compute filter coefficients. For a fair comparison, the complexity is estimated based on basic operations (ADD, SUB, MUL, DIV, SQRT, Max, and LUT) in this work.The complexity of tree-search-based algorithms can be divided into two steps: the preprocessing and the tree-search process. The complexity of interference-cancellation-based equalizer algorithms is dominated by the computation of the filter coefficients and the matrix inversion. Several methods for matrix inversion, namely, Cholesky decomposition and QR decomposition, have been widely studied in the literature. Herein, QR decomposition based on Gram-Schmidt method is used to compute the matrix inversion. However, more efficient method for QR decomposition may be considered to optimize the cost of computational complexity in hardware implementation, like Givens rotations (GR) that can be effectively done by coordinate rotation digital computer (CORDIC) scheme.In the case of STS-SD, it is very difficult to find an analytical expression of the complexity due to the sequential nature of the tree search and the channel statistics. Therefore, Monte Carlo simulations were used to measure the average number of operations of STS-SD over all SNR range.The complexity of the interference-cancellation-based equalization comprises the complexity of soft mapping and soft demapping. In the case of STS-SD and LC-K-Best decoder, the computational complexity includes the complexity of SQR decomposition for the first iteration and the complexity of LLR computation. The SQR decomposition is based on Gram-Schmidt method which requires many ADD, MUL, DIV, and SQRT operations. It is important to note that, in LC-K-Best decoder, there is a number of comparisons to choose the best candidates that are not taken into consideration in the complexity comparisons.Figure13 summarizes the complexity of different detection algorithms in terms of number of operations in the case of 4×4 spatial multiplexing system using 16-QAM for the 1st and ith iteration. The MAP algorithm presents the highest complexity (4.7×106 MUL, 4.6×106 ADD). It is not represented in the graph, but it is used as a reference to view the reduction in the complexity of other algorithms compared to the optimal detector. The average number of arithmetic operations of STS-SD is 90% lower than the MAP algorithm. However, it still has a larger complexity than other algorithms. The complexity of LC-K-Best is approximately 30% higher than that of the MMSE equalizer and 50% lower than that of I-VBLAST. I-VBLAST requires more complexity due to the matrix inversion for each detected symbol. At the ith iteration, LC-MMSE-IC algorithm proposed in [9] has slightly lower complexity than the LC-K-Best decoder in terms of MUL (7%) and ADD (19%) with additional DIV and SQRT operations required for the matrix inversion.Figure 13
Complexity of a4×4 spatial multiplexing system with 16-QAM for different detection algorithms in terms of the number of operations per symbol vector at the 1st and ith iteration.Figure14 illustrates the complexity of different detection algorithms in terms of number of operations in the case of 4×4 spatial multiplexing systems using 64-QAM for the 1st and ith iteration. Similarly, STS-SD presents more than 90% reduction in the complexity compared to the MAP algorithm (1.2×109 MUL, 1.1×109 ADD). We note that the complexity of MMSE, LC-MMSE, and I-VBLAST slightly increases because the complexity of soft mapper and soft demapper increases with the constellation size. Meanwhile, the complexity of computing filter coefficients will not be affected since the number of antennas is the same. We notice also that the complexity of LC-K-Best decoder is approximately twice as much as that of LC-MMSE-IC equalizer. However, its complexity is about 40% lower than STS-SD (44% MUL and 45% ADD). It should be noted that even though LC-MMSE-IC has a lower complexity, it presents a severe degradation of more than 2 dB in the case of 64-QAM in the Rayleigh channel, and more than 4 dB in realistic channels (cf. Section 6.1).Figure 14
Complexity of a4×4 spatial multiplexing system with 64-QAM for different detection algorithms in terms of the number of operations per symbol vector at the 1st and ith iteration.


## 6.2.4. Complexity of Iterative Receivers

In this section, we compare the complexity of the iterative receivers using different coding techniques. The same simulation parameters as those used in the previous section are considered. We consider a block lengthKb of 1,024 for the turbo decoder and codeword length Nb of 1,944 in the case of LDPC decoder which gives a block length slightly lower (5%) than the turbo decoder case for Rc=1/2. Four outer iterations are performed between the MIMO detectors and the channel decoders. The total number of iterations inside the LDPC decoder and the turbo decoder is chosen to be 20 and 8 iterations, respectively, because these number of iterations were found sufficient for the convergence of both decoders (cf. Sections 5 and 6).The number of operations consumed by LDPC decoder and turbo decoder per information block length with code ratesRc=1/2 and Rc=3/4 is listed in Table 8. We notice that the LDPC decoder requires 20% to 40% less operations than the turbo decoder. Note that the decoding complexity of turbo code is constant and does not depend on the code rate, because all code rates are generated from the mother coding rate R=1/3. In contrast, the complexity of LDPC depends on the code rate. The decoding complexity decreases when the code rate increases.Table 8
Complexity of turbo decoder (8 iterations) and LDPC decoder (20 iterations) in terms of number of operations.
Turbo (8 iterations)
LDPC (20 iterations)
ADD/SUB
Max
LUT
ADD/SUB
LUT
R
c
=
1
/
2
1856
K
b
704
K
b
704
K
b
554
K
b
287
K
b
R
c
=
3
/
4
1856
K
b
704
K
b
704
K
b
371
K
b
189
K
bFigure15 shows the computational complexity of the iterative receivers for one signal frame using both coding schemes and 16-QAM. In the case of turbo decoder, the LC-MMSE-IC equalizer presents the lowest computational complexity in terms of MUL, ADD. However, it requires more DIV and SQRT operations. The complexity of STS-SD is much higher than the LC-K-Best decoder (about 60% MUL and 30% ADD). Note that the more complexity brings only a performance improvement of ~0.2 dB at a BER level of 1×10-5. In addition, the LC-K-Best decoder presents a reduced complexity than I-VBLAST (20%~30% MUL, 2%~5% ADD, approximately 50% DIV, and approximately 50% SQRT). The reason is that I-VBLAST requires multiple matrix inversions for the first iteration. Similar complexity results can be observed in the case of LDPC decoder.Figure 15
Complexity of a4×4 spatial multiplexing system with 16-QAM of different detection algorithms with (a) LTE turbo decoder and (b) LDPC decoder, Rc=1/2.
(a)
4 × 4 16-QAM, turbo decoder,Rc=1/2, Kb=1024
(b)
4 × 4 16-QAM, LDPC decoder,Rc=1/2, Nb=1944 (Kb=972)By comparing the complexity of the receivers with both coding techniques, we notice that the complexity of iterative receiver with LDPC decoder is smaller than the complexity with turbo decoder in terms of ADD, Max, and LUT operations. However, both receivers present approximately similar complexity in terms of MUL, DIV, and SQRT.It is therefore worthy to compare the complexity of the iterative receiver with high modulation order and coding rate. Figure16 illustrates the computational complexity of the iterative receivers for one transmitted frame in 4×4 spatial multiplexing system with 64-QAM. As shown in the figure, the complexity of the receiver based on STS-SD and LC-K-Best decoder increases significantly since the tree-search detection depends on the modulation order. The complexity of the receiver based on LC-MMSE-IC and I-VBLAST slightly increases compared to the case of 16-QAM due to the small increases in the complexity of the soft mapper and soft demapper. Furthermore, the complexity of LC-MMSE-IC equalizer is much lower than the LC-K-Best decoder (~55% MUL, ~26% ADD). However, LC-MMSE-IC presents a significant degradation of about 2dB in a Rayleigh fading channel and more than 4 dB in more realistic channels at the BER level of 1×10-4 compared to the LC-K-Best decoder (cf. Section 6).Figure 16
Complexity of a4×4 spatial multiplexing system with 64-QAM of different detection algorithms with (a) LTE turbo decoder and (b) LDPC decoder, Rc=3/4.
(a)
4 × 4 64-QAM, turbo decoder,Rc=3/4, Kb=1024
(b)
4 × 4 64-QAM, LDPC decoder,Rc=3/4, Nb=1944 (Kb=1458)In addition, Figure16(b) shows that iterative receiver with LDPC decoder presents low computational complexity in terms of ADD, LUTs. However, similar complexity of the receiver with both coding techniques is observed in terms of MUL, DIV, and SQRT. Since MUL and DIV are more complex than ADD, MAX, and LUT, we can conclude that the complexity of iterative receiver with both coding schemes is comparable.From this evaluation, we conclude that the performance and the complexity of the iterative receiver with turbo decoder and LDPC decoder is highly comparable. We should also note that the turbo decoder is recommended for small to moderate block lengths and coding rates. Meanwhile, the LDPC decoder is more favored for large block sizes due to their superior performance and lower complexity. In addition, we see that the LC-K-Best decoder achieves a good performance-complexity trade-off compared to other detection algorithms. Furthermore, the LC-K-Best decoder performs a breadth-first search that can be easily paralyzed and pipelined in hardware architecture as discussed in [16, 41]. The LC-K-Best decoder can be also easily implemented and can provide a high and fixed detection rates for future communication systems.


## 7. Conclusions

The iterative receivers have recently emerged as very attractive solutions for high data rate transmission in next generation wireless systems. In this paper, an efficient iterative receiver combining MIMO detection based onK-Best decoder with channel decoding, namely, turbo decoder and LDPC decoder, has been investigated. Several soft-input soft-output MIMO detection algorithms have been considered in this work. We analyzed the convergence of combining these detection algorithms with different channel decoders (turbo, LDPC) using EXIT chart. Based on this analysis, we retrieved the number of inner/outer iterations required for the convergence of the iterative receiver. Additionally, we provided a detailed comparison of different combinations of detection algorithms and channel decoders in terms of performance and complexity with real channel environments, various modulation orders, and coding rates. Through the performance and complexity evaluation, we show that LC-K-Best decoder achieves a best trade-off between performance and complexity among the considered detectors. We show also that the performance and the complexity of iterative receivers with turbo decoder and LDPC decoder are highly comparable. Future work can include other aspects like optimization of the computational complexity in hardware architecture, estimation of the required memory, conversion of the algorithm into a fixed point format, and implementation in real environments.



---

*Source: 7642590-2016-02-07.xml*