• No results found

The xed-complexity sphere decoder (FSD) is a breadth-rst tree search MIMO decoder, which enables parallel processing, xes the number of visited tree nodes, and achieves quasi-ML performance. The algorithm has been proposed by Barbero and Thompson [BT06a, BT06c, BT08b] and mapped on a eld-programmable gate array (FPGA) plat- form. It consists of two major parts: a novel channel matrix ordering based on noise amplication and a tree search through a xed subset of the complete symbol space. Al- though, the channel matrix ordering has to be done before the QR-decomposition and the tree search, the requirements for the channel matrix ordering follow from the topology of the tree search. Hence, the tree search is explained rst. Afterwards, the algorithm for the FSD ordering of the channel matrix is discussed.

5.3.1 FSD tree search

The FSD tree search is based on the ML detection, yet the number of searched candidates is limited to a subset S:

ˆsF SD = arg min

s∈S ||r − H · s|| 2

2 (5.18)

The solution of equation (5.18) can be computed by a tree search starting with the nT-th

channel matrix row  evaluating only paths in S. The subset of paths is created by xing the number of branches in each tree level for a given modulation size M as follows:

• In the rst p levels, all M branches are expanded. This part of the search is denoted as full expansion (FE).

• For the remaining levels of the tree, only one branch with the best PED metric is expanded, denoted as single expansion (SE).

The number of branches in each tree level can be summarized by the node distri- bution vector nS = (n1, n2, . . . , nnT)

T. The overall complexity of the tree search is

O (Mp)  O (MnT). Barbero and Thompson [BT06b] show that quasi-ML performance can be obtained for 4 × 4 and 8 × 8 MIMO by setting the number of FE stages p to one

5.3 The xed-complexity sphere decoder (nS = (1, 1, 1, M )T) and two (nS = (1, 1, 1, 1, 1, 1, M, M )T), respectively. Figure 5.6 shows

the FE and SE stages of the tree search for nS = (1, 1, 1, 4)T (corresponding to 4 × 4

MIMO with QPSK modulation). For 16-QAM, the performance degradation from the ML solution at BER = 10−3 is only 0.03 dB for a 4 × 4 and 0.25 dB for a 8 × 8 MIMO

system and a Rayleigh fading channel. Jaldén et al. [JBOT09] also theoretically proved that the FSD tree search algorithm, combined with the channel ordering described below, achieves the same diversity as the ML detector for p ≥√nT − 1. Furthermore, the FSD

asymptomatically provides ML performance for high SNRs. root FE SE SE i = n = 4T i = 3 i = 2 i = 1 SE

Figure 5.6: FSD tree search for QPSK and a 4 × 4 MIMO system: In full expansion (FE) stages all branches are evaluated, while only the best path is pursued in single expansion (SE) stages.

5.3.2 FSD ordering of the channel matrix

As shown by Jaldén et al. [JBOT09], the ordering of the channel matrix has a signicant impact on the possible performance. The FSD channel matrix ordering algorithm reorders the matrix columns based on noise amplication; hence, the order in which the components of vector s are detected is changed. In FE stages, the noise amplication is irrelevant, as all possible paths are evaluated. Hence, the signals with the largest post-processing noise amplication should be processed in these stages. In SE stages, high noise amplication

Chapter 5 Sphere decoding for MIMO detection

may lead to detection errors, therefore signals with the smallest post-processing noise amplication should be processed in these stages.

The ordering of channel matrix columns, and hence the components of the transmitted signal vector, is done based on the properties of the product of the channel matrix with its conjugate transpose:

A = HH · H (5.19)

The ordering algorithm iterates through the channel matrix columns starting with the last column (nT). Each iteration has two steps:

1. The next signal component ˆsk, which shall be detected, is determined by selecting

the kth column of the channel matrix according to: k =

(

arg maxj[A−1]j,j if ni = M

arg minj[A−1]j,j if ni = 1

(5.20) 2. The matrix A is updated by removing its kth row and its kth column. This corre-

sponds to removing the kth column from the channel matrix H.

Although the FSD ordering algorithm requires a matrix inversion in each step, only the diagonal elements of the inverse matrix are required for solving equation (5.20). Hence, the complexity can be reduced by calculating just these elements.

5.3.3 Soft-decision MIMO detection based on the FSD

As explained in section 5.1.3, soft-decision sphere decoding is done by calculating a list containing candidate symbol vectors s and their Euclidean distance metrics. For each bit bk, the dierence between the Euclidean distances of the best candidate with bk= −1 and

the best candidate with bk = 1 has to be computed (see equation (5.16)), if no candidate

for a certain bit value is available, the Euclidean distance is assumed to be very big and the bit value is assumed to be unlikely. In order to prevent signicant errors due to missing candidates, the number of candidates in the list should be increased compared to the hard-decision FSD, so that enough alternative paths with dierent bit values are available.

List FSD

Barbero and Thompson [BT08a] proposed a list extension of the FSD. The list FSD (LFSD) can also be described by the node distribution vector nS = (n1, n2, . . . , nnT)

T. n S

is initialized to the hard-decision FSD node distribution vector (e. g. nS = (1, 1, 1, M )T for

4 × 4MIMO). Then, starting with tree level i = nT − p (the rst single expansion stage)

5.3 The xed-complexity sphere decoder and proceeding down level by level, the number of evaluated branches at a tree level is doubled until a desired number of searched vectors NS is attained. If the last level i = 1

is reached, the algorithm continues with level i = nT − p. Figure 5.7 shows an example

for QPSK modulation with node distribution vector nS = (1, 1, 2, 4)T. Table 5.1 displays

node distribution vectors, obtained from this algorithm, for dierent numbers of searched vectors in a 4 × 4 MIMO system with 16-QAM modulation. The list for the soft-decision detection is generated by selecting the NL best paths (NL≤ NS).

Table 5.1: Number of searched paths and node distribution vectors for the LFSD and a 4 × 4 MIMO system with 16-QAM modulation

Number of vectors NS = 64 NS = 128 NS = 256 Node distribution nS = (1, 2, 2, 16)T nS = (2, 2, 2, 16)T nS = (2, 2, 4, 16)T root i = n = 4T i = 3 i = 2 i = 1

Figure 5.7: LFSD tree search for QPSK and a 4 × 4 MIMO system with NS = 8

The main drawback of the proposed approach is the increased complexity of the tree search. In [BT08a], NS = 64 is used for 4 × 4 MIMO and 16-QAM modulation, which

means a quadrupling of the number of paths.

Smart candidate adding for QRD-M MIMO detection

Milliner, Zimmermann, Barry and Fettweis [MZBF09] proposed a dierent soft-decision MIMO symbol detection algorithm with a reduced complexity, which adds further candi-

Chapter 5 Sphere decoding for MIMO detection

dates in a smart manner. The proposed algorithm is based on the M-algorithm, where the M best paths survive at each tree level (see section 5.2.1). The dierence to the original M-algorithm is that further candidates are added at each tree level and the parameter M may change from tree level to tree level. At each tree level k, the proposed algorithm determines the node with the minimum PED, denoted as partial MAP node. For this node, additional candidates are generated by ipping bits: For a symbol bit width ω, ω new candidates are generated by ipping each of the bits of the symbol vector compo- nent sk, the remaining symbol vector components sk+1, . . . , snT are left unchanged. After the expansion by bit-ipping, the number of paths may be pruned to the M-best paths, yet the newly added counter-hypotheses for the best path should be protected. This approach guarantees that at least one counter-hypothesis is available for each bit from symbol component sk of the current best path. If the best path is the same at all tree

levels, counter-hypotheses are available for each bit. Smart candidate adding for the FSD algorithn

The bit ipping strategy can also be applied to the FSD algorithm. In each single expansion stage of the tree search, ω additional alternatives for the node with the smallest PED are generated by bit-ipping. A pruning of the candidate list, as done by the M-algorithm, is not performed. The resulting number of candidates depends on the number of antennas and the modulation size (see table 5.2). The topology of the bit-ipping soft-decision FSD tree depends on the PEDs, as additional candidates are only added for the best path at the current tree level. Figure 5.8 shows an example search tree for the case that the best path is the same at each tree level.

Table 5.2: Number of candidates for the soft-decision FSD with bit-ipping at each tree level for 4 × 4 MIMO

Modulation Bit width Candidates

level 4 Candidateslevel 3 Candidateslevel 2 Candidateslevel 1

General case ω 2ω 2ω+ ω 2ω+ 2 · ω 2ω+ 3 · ω

QPSK 2 4 6 8 10

16-QAM 4 16 20 24 28

Compared to the hard-decision FSD, the bit-ipping soft-decision FSD variant leads to an increased processing complexity: The bit-ipping algorithm requires determining the best path at each SE stage of the algorithm. Hence, tree levels have to be processed sequentially and a minimum search is necessary. In the hard-decision case, there is no

5.4 SIMD implementation of the FSD for MIMO-OFDM