• 沒有找到結果。

Chapter 2 MIMO Systems

2.6 Summary

In this chapter, we give a review of the MIMO communication systems.

Exploiting multi-path scattering, MIMO systems deliver significant performance enhancements in terms of data rate and link quality. Spatial diversity is one of the MIMO techniques which mitigates fading and is realized by providing the receiver with multiple copies of the transmitted signal in space or time. MIMO systems offer a linear increase in data rate through spatial multiplexing by transmitting multiple and independent data streams without requiring additional bandwidth or transmit power.

Layer

The detection of MIMO signals can be classified into two types: linear detection and non-linear detection. Linear detection schemes such as ZF or MMSE are simple but their performances are poor. The optimal detection scheme is the ML detection.

However, the computational complexity grows exponentially with the number of transmit antennas. The sphere decoding algorithm achieves the ML performance with reduced complexity. In this chapter, we introduce several kinds of the sphere decoding algorithms for the trade-off between performance and the computational complexity.

Chapter 3

Proposed Complex K-Best Sphere Decoding Algorithm

In Chapter 2, we introduce the K-best SDA which is a suitable solution for hardware implementation; however, the conventional K-best SDA has some disadvantages. First, the complex-valued signal should be converted into real-valued signal which increases the search layers. Besides, performing a sorting algorithm to find K nodes which have the smallest path weights in each layer causes a large amount of memory access. Moreover, to achieve a near-ML performance, the value of

K should be chosen sufficiently large, and this increases the computational complexity.

In this chapter, we introduce the proposed complex K-best SDA which requires a lower complexity and achieves a near-ML performance with smaller K than the conventional K-best SDA. The details of the proposed algorithm will be introduced through Section 3.1 to Section 3.5. The simulation results will be provided in Section 3.6 to show that the proposed algorithm works better than the conventional K-best SDA.

3.1 Complex K-Best SDA

The complex K-best SDA is similar to the conventional K-best SDA. First, performing complex QR-decomposition to the channel matrix H , we obtain

1 2

For the ith layer, the complex K-best SDA keeps K survival nodes with the minimum

P s. Next, for the (i+1)th layer, the algorithm finds all possible nodes which are i

extended from the previous K survival nodes at the ith layer and then again keeps K survival nodes with the minimum Pi+1s. The procedures are recursively executed and stoped at the 1st layer. The solution is the symbol vector with the minimum P . We 1

summarize the steps of the complex K-best SDA as follows.

Step 1. Calculate y', d' Step 2.

(a). Set k =N . For each symbol in the complex-domain constellation, calculate:

(b). Choose those symbols which have the K smallest non-negative S s. N Step 3.

(a). k ← − k 1

(b). For each survival partial symbol vector from the previous layer; for each symbol in the complex-domain constellation, calculate:

1 ,

(c). Choose those symbols which have the K smallest non-negative S s. k Step 4.

If 1k =

The solution is the symbol vector with positive and the smallest S . 1 Else

Go back to Step 3.

3.2 Efficient Sorting Strategy

The main idea of the K-best SDA is to keep only K survival nodes in each layer. The conventional K-best SDA has to sort among all possible nodes in each layer to find K survival nodes which is shown in Figure 3-1. Note that the number inside the circle denotes the path weight of the node. Generally, the sorting algorithm applied in the K-best SDA is the bubble sort algorithm [13], [20]. When the size of the symbol alphabet of the transmitted symbol or the value of K is large, using bubble sort to sort among all possible nodes will cause a large amount of memory access.

Figure 3-1: Sorting of the conventional K-best SDA Layer

Find K survival nodes

In the proposed method, the child nodes of each parent node in the ith layer are first sorted in an ascending order according to their path weights. We propose an efficient method to obtain the sorted child nodes sequence of each parent node which does not require any complexity in sorting. The details of constructing the sorted child node sequences will be introduced in the next section. Since the child nodes of each parent node are already sorted, the candidate nodes in the ith layer are automatically divided into K sorted groups which is shown in Figure 3-2.

Figure 3-2: K sorted groups of the proposed method

When there are several sorted groups, it is efficient to apply the merge algorithm [20] to obtain the sorted group containing all elements. The merge algorithm is one of the algorithms that run sequentially over multiple sorted groups. The general merge algorithm has a set of pointers {p p1, , ,2pn} that point to the positions in a set of the sorted groups {G G1, 2, ,…Gn}. Initially they point to the first item in each group.

The merge algorithm is described as follows:

Step 1. Extract those elements which {p p1, , ,2pn} point to in their respective groups.

Step 2. Find out which element of those pointers point to with the minimum (or maximum) value.

Step 3. Advance one of those pointers to the next element in its group.

Step 4.

If any of {p p1, , ,2pn} still points to data inside of {G G1, 2, ,…Gn} Go back to Step 1.

Else

The elements are all merged; stop the merge algorithm.

Figure 3-3 shows an example of the merge algorithm applied to two sorted groups.

Figure 3-3: An example of the merge algorithm Step 1

To reduce the size of the storage memory, we repeatedly apply the merge algorithm which deals with two sorted groups at a time. The steps of the proposed sorting strategy of the ith layer are described as follows:

Step 1.

(a). k ← 2. Find the groups of the sorted child nodes of the (k-1)th and the kth parent nodes.

(b). Apply the merge algorithm to the two sorted groups to find K nodes with the minimum path weights.

Step 2.

1 k ← +k . Step 3.

If Pik+1>Pimax

The K survival nodes of this layer are found.

Else

(i). Find the sorted child nodes group of the kth parent node.

(ii). Apply the merge algorithm to the current survival group and the sorted child nodes group of the kth parent node to find K nodes with the minimum path weights.

(iii). Go back to Step 2.

k

P and i Pimax denote the path weight of the kth parent node in the ith layer and the maximum path weight of current survival node respectively. Figure 3-4 shows an example of the proposed method. Note that in the proposed method, only a small part of the candidate nodes have to be merged; hence, it significantly reduces the sorting complexity.

Figure 3-4: An example of the proposed sorting method

3.3 Efficient Complex Domain Search Method

In each layer, searching for the child nodes of each parent node has to satisfy the following constraint: modulation scheme of the transmitted symbols is QAM. The geometrical interpretation of (3.10) is that finding all possible symbols inside the circle centered at s with radius i C which is shown in Figure 3-5. i

Figure 3-5: Geometrical interpretation of the search constraint

To search the symbols efficiently, it is useful to construct the table of the symbol sequences within a given region [21], [22]. In the proposed method, we construct the table of the sequences of the 11 nearest constellation symbols for those points bounded by {0, 1, , 1j +j}. For example si =0.7+0.2j, the sequence of the nearest 11 symbols in an ascending order according to their distances from s is {35, i 36, 27, 28, 43, 44, 34, 37, 26, 29, 42} which is shown in Figure 3-6.

xi s i

C i

-3 -1 1 3

Figure 3-6: An example of the nearest 11 points from the search center s i For those points having the same symbol sequence, we will classify them into the same search group and share the same symbol sequence. Figure 3-7 shows the boundaries of the search groups and the corresponding symbol sequences are listed in Table 3-1.

Figure 3-7: Boundaries of the search groups 01

Table 3-1: List of candidate sequences Group ID Candidate Sequence

01 35→27→36→28→34→26→43→19→44→20→37 02 35→27→36→28→34→26→43→19→44→20→42 03 35→27→36→28→34→26→43→19→44→42→20 04 35→36→27→28→43→34→44→26→37→19→29 05 35→27→36→28→34→43→26→44→19→37→20 06 35→27→36→28→34→26→43→44→19→20→37 07 35→27→36→34→28→26→43→19→44→42→20 08 35→36→27→28→43→44→34→26→37→29→19 09 35→36→27→28→43→44→34→37→26→29→19 10 35→27→36→28→34→26→43→44→19→20→42 11 35→27→36→28→34→26→43→44→19→42→20 12 35→27→36→28→34→43→26→44→19→37→42 13 35→27→36→28→34→43→26→44→19→42→37 14 35→27→36→34→28→26→43→44→19→42→20 15 35→27→36→34→28→26→43→44→42→19→20 16 35→36→27→28→43→34→44→26→37→19→42 17 35→27→36→28→34→43→26→44→42→19→37 18 35→27→36→34→28→43→26→44→42→19→37 19 35→36→27→28→43→34→44→26→37→42→19 20 35→27→36→34→43→28→26→44→42→19→37 21 35→36→27→28→43→34→44→26→42→37→19 22 35→36→27→28→43→44→34→26→37→29→42 23 35→36→27→28→43→44→34→26→37→42→29

Group ID Candidate Sequence

Due to the symmetry property of the QAM constellation shown in Figure 3-8, those points lying in the region bounded by {1+j, 1−j, − +1 j, − −1 j} in quadrant II, III and IV can use the same table of quadrant I by the following transformation:

We first use the transformed search center s to find the nearest 11 candidate i symbols by looking up the table of the symbol sequences. When the candidate symbol

x is found, we will transform it back to the original quadrant by i

( ) ( )

Figure 3-8: Symmetry property of the QAM constellation

For those search centers lying outside the region bounded by {1+j, 1-j, -1+j,

-1-j}, we can first round them into the bounded region and then use the transformation relationship described above to find the relative nearest constellation symbols. Then the nearest constellation symbols are obtained by adding the coordinate offsets to the coordinates of the relative nearest constellation points which

Quadrant I Quadrant II

Quadrant IV Quadrant III

is shown in Figure 3-9. To improve the search efficiency, a special quantization for the search center s is performed at the Nth layer. When the search center i s is far i away from the QAM symbols, we will round it into a given boundary by

( ) ( ) between two QAM symbols. Figure 3-10 shows an example of the special quantization at the Nth layer.

-1 1 3 5

Figure 3-9: Rounding operation of the search center 1. Rounding 2. Add offset

-5 -3 -1 1 3 5 7 9 -5

-3 -1 1 3 5 7

In-Phase

Quadrature

16QAM Constellation

Figure 3-10: Special quantization for the search center at the Nth layer

3.4 Preprocessing

The channel matrix is preprocessed with some techniques, which reduces the complexity of searching the candidates or improves the performance of the K-best SDA. There are many preprocessing techniques such as scaling [23], lattice reduction [24], [25] and the column permutation [25]. In this thesis, we consider the column permutation of the channel matrix. The permutation order is based on the column norms of the channel matrix in an ascending order. The ordering mechanism increases the expectation of ri i2, in the higher layers which has two benefits. First, for a fixed

value of K in the K-best SDA, increasing the expectation of ri i2, in the higher layers reduces the effective search range of the candidates; therefore, it reduces the probability of the ML path being dropped in the early stages. Another benefit is that it constrains the growth of the tree and hence reduces the complexity of searching the candidate nodes.

3.5 ML-Like Search Strategy

One way to reduce the complexity of the conventional K-best SDA is to choose a smaller number of the survival nodes in each layer. However, this will cause performance degradation in the error rate. Instead of choosing a sufficiently large K to achieve a near-ML performance, we propose an ML-like search strategy. The proposed ML-like search method preserves all candidate nodes in the higher layers and then starts to keep only K candidate nodes at a suitable layer with a smaller K.

Figure 3-11 shows the comparison between the conventional K-best algorithm and the proposed ML-like search method with K = 4. The determination of the number of layers performing the proposed ML-like search will be discussed in Chapter 4.

(a)

(b)

Figure 3-11: Comparison between (a) conventional K-best algorithm (b) proposed ML-like search strategy

: Survival node : Dropped node : ML solution path 4

K =

: Survival node : Dropped node 4

K =

: ML solution path

3.6 Computer Simulations

In this section, we simulate the symbol-error-rate (SER) of the proposed complex K-best SDA and compare it with SE SDA and the conventional K-best SDA. For the 4 4× MIMO systems, only the 4th layer performs the proposed ML-like search method. For the 8 8× MIMO systems, we first search all possible candidates in the 8th and the 7thlayers. Then we keep K survival nodes at the 7th layer. For each simulation, we apply the preprocessing technique mentioned in Section 3.4 to all algorithms to do a fair comparison.

Figure 3-12 shows the simulations of SER as a function of SNR with 4 4× 16QAM and K = . Note that the performance of the SE SDA is the same as the 8 ML detection. With the proposed ML-like search method performed at the 4th layer, the performance of the proposed K-best SDA is better than the conventional K-best SDA. The SER of the proposed K-best SDA is close to that of the SE SDA. In contrast, the SER of the conventional K-best SDA tends to saturate at given value.

This phenomenon is due to the fact that the conventional K-best SDA with a smaller K drops the ML-path with a high probability when the channel is in poor condition and the channel has a fixed probability of being in poor condition. Figure 3-13 shows the simulations of SER with 8 8× 16QAM and K =14. In this simulation, the value of K has to be chosen larger to reduce the probability of the ML path being dropped in the higher layers. Hence, the performance gap between the proposed K-best SDA and the conventional K-best SDA is smaller than the 4 4× case. However, the proposed K-best SDA still achieves a 0.5 dB gain over the conventional K-best SDA.

7 10 13 16 19 22 25 28 10-5

10-4 10-3 10-2 10-1 100

SNR (dB)

SER

Conventional K-Best SDA (4x4) Proposed K-Best SDA (4x4) SE SDA (4x4)

Figure 3-12: Simulations of 4 4× 16QAM with K = 8

7 10 13 16 19 22

10-4 10-3 10-2 10-1 100

SNR (dB)

SER

Conventional K-Best SDA (8x8) Proposed K-Best SDA (8x8) SE SDA (8x8)

Figure 3-13: Simulations of 8 8× 16QAM with K =14

Figure 3-14 shows the simulations of SER with 4 4× 64QAM and K = . 8 The proposed K-best SDA achieves nearly a 2 dB gain over the conventional K-best SDA at SER =10-3. Note that the performance gap between the proposed K-best SDA and the conventional K-best SDA is larger than that of the 4 4× 16QAM case.

This is because the probability of the ML-path being dropped becomes higher when the size of the modulation symbol alphabet becomes larger. However, the proposed ML-like search method keeps all possible candidates in the higher layers; hence, it significantly reduces the probability of the ML path being dropped. Figure 3-15 shows the simulation of SER with 8 8× 64QAM and K =36. The proposed K-best SDA works better than the 8 8× 16QAM case. This is because we choose K =36 which covers only half of the 64QAM constellation points. Hence, the probability of the ML-path being dropped of the conventional K-best SDA is higher than that of the

8 8× 16QAM case.

15 18 21 24 27 30 33

10-4 10-3 10-2 10-1 100

SNR(dB)

SER

Conventional K-Best SDA (4x4) Proposed K-Best SDA (4x4) SE SDA (4x4)

Figure 3-14: Simulations of 4 4× 64QAM with K = 8

17 20 23 26 29 10-5

10-4 10-3 10-2 10-1 100

SNR (dB)

SER

Conventional K-Best SDA (8x8) Proposed K-Best SDA (8x8) SE SDA (8x8)

Figure 3-15: Simulations of 8 8× 64QAM with K =36

3.7 Summary

In this chapter, we give a detailed description of the proposed complex K-best SDA. Applying the K-best algorithm directly to the complex-valued signal reduces the number of search layers. The merge algorithm combined with the proposed complex domain search method works more efficiently than the conventional sorting algorithm.

The column ordering of the channel matrix reduces the number of candidates in the higher layers and also reduces the probability of the ML-path being dropped. To further enhance the performance of the K-best SDA, we propose an ML-like search method which improves the performance in SER without requiring a sufficiently large value of K. Simulations show that the proposed K-best SDA works better than the conventional K-best SDA under 16QAM and 64QAM MIMO systems with different dimensions.

Chapter 4

Hardware Architecture and Sorting Complexity Analysis of Proposed Algorithm

In this chapter, we first give the hardware architecture of the proposed complex domain search method. In Section 4.2, we discuss the determination of the number of layers performing the proposed ML-like search method which is based on the derived pdf of ri i2, . In Section 4.3, we give an analysis of the sorting complexity in each layer under different operation modes. The complexity and the performance simulations will be provided in Section 4.4 to show that the proposed K-best SDA has lower complexity and better performance than the conventional K-best SDA.

4.1 Hardware Architecture

The hardware architecture of the proposed complex domain search method is introduced in this section. We call the proposed complex candidate search unit the

“Complex Candidate Generator” (CCG) and its functional block diagram is shown in Figure 4-1.

Figure 4-1: Functional block diagram of the CCG unit

When we give a set of input

(

s d Pi, ,2 i-1

)

, CCG will output candidate points according to their path weights in an ascending order. The value of M is used for checking c whether the candidate point x lies outside the constellation boundary or not.i The value of K controls the number of the output candidate points. The CCG unit is composed of three functional blocks which is shown in Figure 4-2.

Figure 4-2: Detailed block diagram of the CCG unit

When we input a new search center s , CCG first rounds it to the relative i position s which lies inside the region bounded by {i 1+j, 1−j, -1−j, -1+ j}. The rounding procedures are as follows:

( )

floor Re mod floor Re ,2 Re Re

Generator (CCG) Node Weight Pi

Candidate Point xi

Parent Weight Pi-1

( ) transformation in (3.11). The transformation circuit is shown in Figure 4-4. The multiplexers will choose a right data path based on the values of MSBs of dx and dy.

dx_t and dy_t denote the transformed value of Re( )si and Im( )si respectively.

Figure 4-4: Transforming unit of s i

The set (dx_t, dy_t) is sent to the candidate generator unit to generate the candidate point x and its corresponding path weight i P . The hardware architecture i of the candidate generator is shown in Figure 4-5. The contents of the group ID and its corresponding candidate sequence are stored in ROM 1 and ROM 2 respectively.

We first use (dx_t, dy_t) as a memory address to obtain the group ID stored in ROM 1.

Then we use the group ID as a memory address to obtain the sequence of the candidate points stored in ROM 2. After adding the offset pair (X_offset, Y_offset) to the coordinates of the found candidate point, the constellation boundary checker will check whether the found point lies inside the constellation boundary. If the found candidate point lies inside the constellation boundary, the quadrant restoring unit will transform it back to the original quadrant. The distance calculator calculates the value of sixi 2. Multiplying the value of sixi 2 by ri i2, and adding the parent weight P to the multiplied result, we obtain the path weight i-1 P of the found point. i The path weight P will be compared with the search constraint i d . If the found 2 candidate point lies outside the constellation boundary or its path weight P is larger i

than the search constraint d , the value of the valid indicator will be 0 which 2 indicates the found point is not a valid one.

ROM1

Figure 4-5: Hardware architecture of the candidate generator

4.2 Discussion on Proposed ML-Like Search Strategy

For the search of candidates at the Nth layer, the candidate symbol should satisfy the following constraint:

It is obvious that

,

1

rN N will enlarge the constraint region when rN N, is smaller than 1. In such case, the probability of the ML path being dropped will increase when we keep only K nodes at the Nth layer. Hence, the number of layers performing the proposed ML-like search depends on the distribution of ri i2, . Figure 4-6 (a) and 4-6 (b) show the impact of rN N, on the constrained search region. To determine the number of layers performing the proposed ML-like search, we derive the pdf and cdf of ri i2,

after channel column ordering. Based on the derived results, we can determine the number of layers performing the proposed ML-like search under different M and N.

-3 -1 1 3 5

Reordering the columns of H according to their vector norms in an ascending order, we have

H , we obtain o the fact that the distribution of θ is invariant under the orthogonal transformation i

Q . To derive the cdf of o ro i i2, , , we should first obtain the pdf of X and i S . The pdf i

Q . To derive the cdf of o ro i i2, , , we should first obtain the pdf of X and i S . The pdf i

相關文件