Sie sind auf Seite 1von 63

Performance Analysis of V-BLAST Detectors for the MIMO channel

FENGHUA LI

Masters Degree Project Stockholm, Sweden 2007-06-21

XR-EE-KT 2007:004

Abstract
Multiple Input Multiple Output (MIMO) channels can oer high capacity to wireless systems and the capacity increases linearly with the number of antennas. There are many schemes that can be applied to MIMO systems such as space time block codes, space time trellis codes, and the Vertical Bell Labs Space-Time Architecture (V-BLAST). We study the general MIMO system, the general V-BLAST structure, and the Successive Interference Cancellation (SIC) Zero-Forcing (ZF) detectors in this thesis. For systems with multiple antennas, error propagation is considered as the key problem to SIC. Thus, an ordered SIC detector is introduced to combat the inuence of error propagation. Based on frame error rate and bit error rate, we show the performance of these receiver schemes in fast and slow fading channels in IT++. The result indicates that the ordered SIC detector with Maximum-Likelihood (ML) detection at the rst stage most eectively balances the accuracy of symbol detection and the computational complexity.

Acknowledgements
I would like to express my thanks to my advisor Prof.Erik G.Larsson for his insightful advice and comments from deciding the thesis topic to revising the report, as well as his consistent encouragement throughout the whole time of this thesis project. I am deeply grateful to Dr.Joakim Jalden for providing invaluable advice and I am extremely impressed with his teaching, advising and generosity. Their guidance allowed me to complete this work.

ii

List of Figures
2.1 2.2 2.3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 4.1 4.2 4.3 4.4 4.5 4.6 4.7 5.1 Illustration of MIMO channel . . . . . . . . . . . . . . . . . . 10 Transmitter of a general multiple antenna system . . . . . . . 12 Receiver of a general multiple antennas system . . . . . . . . . 12 Transmitter of a general V-BLAST system . . . . . . . . . . . Receiver of a general V-BLAST system . . . . . . . . . . . . . A projection operation: y is projected onto the subspace orthogonal to h1 to demodulate stream 2 . . . . . . . . . . . . . A bank of Zero-Forcing detectors, each estimating a data stream A Zero-Forcing receiver . . . . . . . . . . . . . . . . . . . . . . Nt AWGN channels after ZF nulling operation . . . . . . . . . SIC Zero-Forcing detector: A bank of Zero-Forcing detectors with successive cancellation of streams . . . . . . . . . . . . . SIC ordering ZF detector: A SIC detector with ordering strategy Flow chart of a general multiple antenna system simulation program in IT++ . . . . . . . . . . . . . . . . . . . . . . . . A general V-BLAST transmitter in IT++ . . . . . . . . . . A general V-BLAST receiver in IT++ . . . . . . . . . . . . Flow chart of a SIC Zero-Forcing detectors receiver simulation program in IT++ . . . . . . . . . . . . . . . . . . . . . . . . Step 1 in successive cancellation in IT++ . . . . . . . . . . . Stream selection in SIC ordering detector in IT++ . . . . . Flow chart of ordering with ML in IT++ . . . . . . . . . . . 18 19 21 22 23 24 25 27

. 31 . 33 . 34 . . . . 34 35 36 38

5.2

Performance curves for the Maximum-Likelihood detector and the Zero-Forcing detector in a 2 2 general multiple antenna system in the fast fading channel . . . . . . . . . . . . . . . . 40 Performance curves for the Maximum-Likelihood detector and the Zero-Forcing detector in a 2 2 general V-BLAST system in the fast fading channel . . . . . . . . . . . . . . . . . . . . . 42 iii

5.3

5.4

5.5 5.6 5.7 5.8 5.9 5.10

Performance curves for the Maximum-Likelihood detector and the Zero-Forcing detector in a 2 2 general multiple antenna system in the slow fading channel . . . . . . . . . . . . . . . . Performance curves for Maximum-Likelihood detector and ZeroForcing detector in a 2 2 general V-BLAST system in the slow fading channel . . . . . . . . . . . . . . . . . . . . . . . . Performance curves for the Zero-Forcing detector in a 2 2 V-BLAST SIC system in the fast fading channel . . . . . . . . Performance curves for Zero-Forcing detectors in a 2 2 VBLAST SIC system in the slow fading channel . . . . . . . . . Performance curves for the Zero-Forcing detectors in a 4 4 V-BLAST SIC ordering system in the slow fading channel . . Performance curves for the Zero-Forcing detectors in a 4 4 VBLAST SIC system without ordering in the slow fading channel Performance curves for rst stage ML detector in a 4 4 VBLAST SIC ordering system in the slow fading channel . . . . Performance curves for V-BLAST SIC, V-BLAST SIC ordering, V-BLAST SIC ordering with ML detector in the rst stage, general V-BLAST with ML detector in a slow fading channel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

43

44 46 47 48 49 50

52

iv

List of Tables
2.1 5.1 Rate
1 3

codes

. . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Parameters in the simulation . . . . . . . . . . . . . . . . . . . 50

Contents
1 Introduction 1.1 Development of MIMO . . . . . . . . . . . . . . . . . . . . . . 1.2 Outline of the report . . . . . . . . . . . . . . . . . . . . . . . 2 System Description 2.1 Introduction of MIMO channel 2.1.1 Rayleigh fading channel 2.1.2 Fading characteristic . . 2.2 Introduction of MIMO System . 2.2.1 Transmitter . . . . . . . 2.2.2 Receiver . . . . . . . . . 3 V-BLAST 3.1 V-BLAST structure . . . . . . 3.2 V-BLAST transmitter . . . . 3.3 V-BLAST receiver . . . . . . 3.3.1 MAP demodulation . . 3.3.2 Zero-Forcing detector . 3.3.3 Successive cancellation 3.3.4 V-BLAST ordering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 7 9 9 10 10 12 12 15 17 17 18 18 19 20 24 26 29 29 29 32 33 36 36

4 Implementation 4.1 Introduction of IT++ . . . . . . . . . 4.2 General MIMO structure in IT++ . 4.3 General V-BLAST structure in IT++ 4.4 SIC Zero-Forcing detector in IT++ . 4.5 Ordering in IT++ . . . . . . . . . . 4.5.1 Ordering with ML in IT++ .

5 Results and Discussion 39 5.1 Performance in fast fading channel . . . . . . . . . . . . . . . 39 3

5.2

5.3 5.4 5.5 5.6

5.1.1 The general multiple antenna system . 5.1.2 The general V-BLAST system . . . . . 5.1.3 Comparison in fast fading channel . . Performance in slow fading channel . . . . . . 5.2.1 The general multiple antenna system . 5.2.2 The general V-BLAST system . . . . . 5.2.3 Comparison in a slow fading channel . Fast fading V.S. Slow fading . . . . . . . . . . The V-BLAST SIC system with ZF detectors The V-BLAST SIC ordering system . . . . . . Combined Comparison . . . . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

39 41 41 42 43 44 45 45 46 47 49

6 Conclusion 53 6.1 Outlook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Chapter 1 Introduction
1.1 Development of MIMO

In rich-scattering environments, if we use multiple antenna systems instead of single antenna systems, the spectral eciency will increase enormously [1], and the capacity of the radio channel can be improved by using antenna arrays at both the transmitter and the receiver [2]. Reference [3] proved that Multiple-Input Multiple-Output (MIMO) can oer high capacity to wireless systems, and the capacity increases linearly with the number of transmitting antennas as long as the number of receiving antennas is greater than or equal to the number of transmitting antennas. Furthermore, there has been increasing interest in the MIMO technologies in both UMTS and CDMA2000 nowadays. There are many dierent schemes that can be applied to the MIMO system. MIMO systems demand powerful signal processing procedures to recover the signal transmitted by the antenna arrays, thus the potential advantages of the MIMO system can be guaranteed and the MIMO system will work in the best possible way. In [4] it is shown how iterative techniques can be used to achieve nearcapacity on a multiple antenna system by iterative detection and decoding (IDD) using a sphere decoder. Reference [5] studied the performance and complexity tradeos in the design of IDD, and an algorithm which reduces the complexity of the sphere decoder called xed-complexity sphere decoder is introduced in [6]. Among all the dierent signal processing algorithms that exist for the MIMO system, the V-BLAST algorithm has become a potential alternative due to its excellent complexity-performance tradeo. There are dierent variants of V-BLAST algorithms focusing on computational complexity re5

ductions, they are sorted by the way the signal processing at the receiver is performed, such as the Singular Value Decomposition (SVD), the Sorted QR Decomposition and the Least Square algorithm. The Least Square algorithm presents a better complexity-performance tradeo than the other two methods. Besides the complexity-performance tradeo, the V-BLAST algorithm is also considered to be a scheme which eectively exploits the MIMO potentials we mentioned in the rst paragraph [7]. A performance evaluation of the VBLAST algorithm in W-CDMA is shown in [8]. Now we focus on the V-BLAST algorithm. References [2] and [9] introduced many ideas regarding coding and design principles for the BLAST system, for example, space-time coding. Reference [10] proposed a lowcomplexity Maximum Likelihood (ML) decoding approach for the V-BLAST Space Time Block Codes (STBC) system. There are many other kinds of detection methods at the receiver that have been introduced for the spacetime coding scheme, such as turbo decoding [11] and decision feedback detection [12]. Reference [13] presented an Iterative Interference Cancellation (IIC) and decoding scheme that signicantly improves the performance of a coded V-BLAST system. Some V-BLAST systems perform detection and decoding layer by layer in a successive way. At the receiver, a low-complexity detector with Successive Interference Cancellation (SIC) is used. However, successive processing degrades performance because of the error propagation. To remedy this problem, references [14] and [15] introduced a scheme which integrates orthogonal STBC into the lower layers of the V-BLAST system. Furthermore, reference [16] presented a modied detection algorithm, partial decision SIC, which performs far better than the original SIC algorithm. In this thesis, we studied dierent receiver architectures for MIMO systems over Rayleigh fading channels, and implement them in an IT++ environment. Here we only focus on the V-BLAST structure and non-iterative detection. Our main interest is the bit error rate and frame error rate performance when using dierent detection methods. Zero Forcing (ZF) and Maximum Likelihood (ML) are used as detection algorithms. Successive Interference Cancellation (SIC) is introduced instead of joint detection in order to reduce the complexity. We also investigated several methods to minimize the inuence of the error propagation, which is considered to be the key problem to SIC. 6

1.2

Outline of the report

The remainder of this thesis is organized as follows. In Chapter 2 the system model of a general multiple antenna system is described. In Chapter 3 a general V-BLAST scheme is introduced, as well as a detailed description of the SIC decorrelator and the ordered SIC detector. Then the implementation of dierent V-BLAST architectures is introduced in Chapter 4. In Chapter 5, the error rate performance of dierent receiver schemes are shown and the realizations of these schemes are discussed. The discussion of the results and the comparison of all the implemented schemes are also shown in this chapter. Finally, we conclude which V-BLAST scheme is the best choice to achieve reliable communication in fading channels.

Chapter 2 System Description


This chapter provides a basic view of the MIMO channel and the system structure which we will use throughout the thesis. An illustration of the MIMO channel can be seen in Figure 2.1. The MIMO system has Nt transmitting antennas and Nr receiving antennas. Furthermore, as a commonly used structure for the MIMO system, V-BLAST shares some basic modules with our general multiple antennas system. We will describe our V-BLAST architecture in detail in Chapter 3.

2.1

Introduction of MIMO channel

In order to describe the MIMO channel, we investigate the channel model at a certain time m. We denote the Nt 1 vector of transmit symbols as x[m] = [x1 . . . xNt ]T , and the received Nr 1 vector is y[m] = Hx[m] + w[m]. (2.1)

In (2.1), w[m] = [w1 . . . wNr ]T represents white Gaussian noise, with vari2 . The channel matrix H is ance of n h11 . . . h1Nt . . .. . H = . . . . . hNr 1 . . . hNr Nt

(2.2)

Here hij represents the channel coecient from transmitting antenna j to the receiving antenna i. 9

h 11 h 21
Tx #1 Rx #1

b
Transmitter

Tx #2

Rx #2 Receiver

b'

h 1Nt
Tx #Nt

h Nr1 h 2Nt h NrNt


Rx #Nr

Figure 2.1: Illustration of MIMO channel

2.1.1

Rayleigh fading channel

We are interested in channels with a large number of scatterers. The Rayleigh fading model does depict the scenario when there are many objects in the environment that scatter the radio signal before it arrives at the receiver. In Rayleigh fading, the envelope of the channel coecient, = |hij |, has a Rayleigh probability distribution at any time instant, f () = 2 /2c 2 e , 0, 2 c (2.3)

f () = 0 for < 0, and the phase is uniformly distributed in the interval (0,2 ). In this thesis, we model the channel as Rayleigh fading channel. Often, the gain and phase elements of a channels distortion are conveniently represented as a complex number. As we dened H as Rayleigh fading, H contains uncorrelated complex Gaussian fading gains with zero mean and unit variance.

2.1.2

Fading characteristic

We investigate two types of fading in the thesis, fast fading and slow fading. If it is a slow fading channel, then the channel matrix H is constant over a frame. In our system 100 uncoded bits form a frame. On the other hand, H changes every symbol time if it is a fast fading channel. In our system, the channel matrix H is perfectly known by the receiver, but not at the 10

transmitter. We will show the performance of dierent detectors in these fading channels in Chapter 5. Fast fading channel Consider a fast fading MIMO channel at time instant m : y[m] = H[m]x[m] + w[m], m = 1, 2, . . . (2.4)

where H[m] is a random fading process. Fast fading occurs if the channel impulse response changes rapidly within the symbol duration, but in our system, due to the implementation constraint in Chapter 4, we assume the channel is in fast fading when the channel changes every symbol time. When transmitting a codeword over a fast fading channel, since the channel changes per symbol time, as long as the codeword is long enough to span more than one transmitted symbol, the probability of the whole codeword suering from deep fading is small. Thus we can have reliable communication. In a fast fading channel, our goal is to achieve capacity optimization. Slow fading channel Now consider a slow fading MIMO channel at time instant m, y[m] = Hx[m] + w[m], (2.5)

H is xed over time but randomly distributed. In contrast to a fast fading channel, in a slow fading channel, H remains unchanged per frame. Assume we want to communicate at a rate of R bits/s/Hz. The k th data stream is encoded using a channel code with rate Rk , such that the sum of the rates, R1 + R2 + . . . + RNt , is equal to R. From [3] we know that when the slow fading MIMO channel does not satisfy the condition in (2.6), we are in outage: lg det( INr + 1 HKx H ) > R. N0 (2.6)

Here Kx is the covariance matrix of the transmitted signal x. Thus in a slow fading channel, instead of capacity optimization, we want to achieve outage optimization. 11

2.2

Introduction of MIMO System

There are two dierent methods, diversity and beamforming, that can be used to deal with the problem caused by fading. The basic idea of diversity is to make two or more replicas of the same information signal transmitted through independent fading channels, which will reduce the probability that all components fade simultaneously. Beamforming is to concentrate energy towards certain direction where both SNR and SINR increase. MIMO systems use both methods mentioned above to combat fading, and have the advantage of introducing diversity gain at both sides of the link, each of them with an antenna array. A general system with multiple transmitting and receiving antennas is shown in Figures 2.2 and 2.3.
Tx 1 Tx 2 b Encoder Interleaver
Serial to Parallel

Modulator

TxNt

Figure 2.2: Transmitter of a general multiple antenna system

Rx 1

Rx 2 Demodulator (ZF/ML) Parallel to serial Deinterleaver Decoder

b'

Rx Nr

Figure 2.3: Receiver of a general multiple antennas system

2.2.1

Transmitter

We focus on the transmitter of a general multiple antenna system in this section, as shown in Figure 2.2. Data is rst encoded and interleaved. Then 12

a block of Nt symbols is converted from serial to parallel, modulated and then each symbol is fed to one of the Nt antennas. Thus, the Nt symbols are transmitted. In this thesis we use a convolutional code for simplicity. The interleaver is introduced after the encoder, in order to ensure independent fading of the coded bits or symbols. For modulation, we use 16-QAM or QPSK in the thesis, according to the number of the antennas. More detailed information about the transmitter modules are shown in the following parts.

Encoder A channel encoder is used to introduce some redundancy in the binary information sequence, which makes the receiver be able to overcome the eects of noise and interference encountered in the transmission. There are many dierent error-control codes that we can use presently, for example, block codes and convolutional codes. A convolutional code is generated by passing the information sequence to be transmitted through a linear nite-state shift register. Table 2.1 shows a rate 1 Optimum Distance Spectrum (ODS) convolutional code we will use 3 in the thesis. Constraint length L 7 Generators in octal 133 165 171
1 3

Table 2.1: Rate

codes

Rate 1 means every input bit is mapped to three output bits. The input 3 data to the encoder is shifted into and along the shift register one bit at a time. Constraint length 7 means the shift register consists of 7 stages, every time we input one bit, the three output bits are also related to the previous six input bits. A set of 3 vectors is used to describe the convolutional code, one vector for each of the 3 modulo-2 adders. Each vector has 7 dimensions and contains the connections of the encoder to that modulo-2 adder: a 1 in the i th position of the vector indicates that the corresponding stage in the shift register is connected to the modulo-2 adder and a 0 in a given position indicates that no connection exists between that stage and the modulo-2 adder [18]. Generator sequences are presented as 133,165,171, in our thesis, which means 13

g1 = [1 0 1 1 0 1 1], g2 = [1 1 1 0 1 0 1], g3 = [1 1 1 1 0 0 1].

These vectors specify how the three output bits of the encoder depend on the current input bit and the previous six input bits. Recommend literature on ODS convolutional code is [17]. It shows that ODS code has a low bit error rate for binary communication on Rayleigh fading channels. Interleaver If the errors caused by the channel are statistically independent, then the codes that have been devised for increasing the reliability in the transmission of information are eective. However, in a fading channel, if the channel is in a deep fading, a large number of errors occur in sequence. In other words, there exists burst error characteristics. Interleaving is mainly used to protect the transmission against burst errors. The encoded data is reordered by the interleaver and transmitted over the channel. As a result, error bursts are spread out in time so that errors within a codeword appear to be independent. That way, a burst error aects only a correctable number of bits in each codeword, so the decoder can decode the codewords correctly. A block interleaver formats the coded data in a rectangular array of m rows and n columns. Then, this block is read by column as output. Modulator A modulator is a device that performs modulation, and serves as the interface to the communication channel. The primary purpose of the digital modulator is to map the binary information sequence into signal waveforms. Modulation is the process of varying a waveform in order to use that signal to convey a message. We use Quadrature Amplitude Modulation (QAM) as the modulation method in the thesis. In our general multiple antenna system, when it is a 2 2 MIMO system, we use 16-QAM as modulation method, and when it is a 4 4 MIMO system, we use QPSK instead. The reason for doing this is to reduce the computational complexity of the demodulation. For example, we will have to convert 16 coded bits to a transmitting vector in a 4 4 MIMO system, if we use 16-QAM. 14

2.2.2

Receiver

Figure 2.3 shows the receiver of a general multiple antenna system. First the received vector is sent to a demodulator. Then a block of Nt demodulated symbols is converted from parallel to serial, deinterleavered and decoded. Thus the data transmitted by Nt transmitting antennas are recovered at the receiver. We have two dierent kinds of demodulators in our general system, ZeroForcing (ZF) demodulator and Maximum-Likelihood (ML) demodulator. More detailed information about the receiver modules are shown in the following parts. Demodulator A demodulator is used to recover the information content from the received signal. In our thesis, the ML demodulator uses soft Maximum A-Posteriori (MAP) to perform demodulation. The channel matrix remains multidimensional, which means we keep all the inter-stream interferences during the demodulation. The MAP demodulator calculates the value of Log Likelihood Ratio (LLR ) to denote the belief in a certain bit. We will introduce LLR calculation in detail in Section 3.3.2. In order to simplify the joint LLR calculation in the ML demodulator, we introduce a ZF demodulator to our system. A ZF demodulator forces the interference between streams which are transmitted from dierent transmitting antennas to zero. We assume the interference can be nulled out completely, which means the channel matrix is nulled to be a diagonal matrix. We call it a diagonal channel. Then we can demodulate this diagonal channel with soft MAP demodulation. In Section 3.3.2 we will discuss how a ZF demodulator works. Deinterleaver At the receiver, after demodulation, a deinterleaver is employed to undo the eect of the interleaver. The deinterleaver puts the data in proper sequence and passes it to the decoder. It stores the data in the same rectangular array format as the interleaver, but it is read out row-wise. Decoder A decoder is a device which does the reverse of an encoder, undoing the encoding so that the original information can be retrieved. There are several algorithms exist for decoding convolutional codes. We use the Viterbi algorithm for convolutional decoding in this thesis. The Viterbi algorithm is 15

universally used as it achieves Maximum Likelihood performance. The input of the decoder are the calculated and interleavered LLR values. However, the complexity of the algorithm increases exponentially with the constraint length of the convolutional code. Therefore, the Viterbi algorithm can be applied only to codes with low constraint length, as in our thesis, we use a convolutional code with constraint length 7.

16

Chapter 3 V-BLAST
In Chapter 2 we introduced a general multiple antennas system, with its transmitter and receiver. However, the system complexity increases when we introduced coding across the antennas. Thus we need the V-BLAST architecture, which uses independent coding and decoding, to simplify the communication system. We will introduce several V-BLAST schemes in this chapter to exploit the property. All these schemes share the same V-BLAST transmitter, but have dierent detectors at the receiver.

3.1

V-BLAST structure

A description of the V-BLAST architecture is given in Figures 3.1 and 3.2. As we introduced in Chapter 2, given the transceiver architecture in Figures 3.1 and 3.2, with receiver CSI, the capacity of the fast fading MIMO channel can be achieved by a joint ML detector. However, joint detecting is of great complexity. On the other hand, in a slow fading channel, the outage optimization can be achieved if the transmitter is aware of the characteristics of the channel matrix H. However, in our system, the transmitter has no access to the channel realization. From [3] we know that the optimal outage performance is impossible to achieve. Since in a slow fading channel, if the channel gains from the k th transmitting antenna to all the Nr receiving antennas are in a deep fade, then the data in the k th stream will be lost. In this chapter, we will study dierent receivers to reduce the detection complexity in a fast fading channel, and improve the performance of the VBLAST architecture in a slow fading channel. We will use one and the same V-BLAST transmitter in our thesis. The performances of these schemes are shown in Chapter 5. 17

3.2

V-BLAST transmitter
Encoder Modulator Tx 1

Encoder

Modulator

Tx 2

Encoder

Modulator

TxNt

Figure 3.1: Transmitter of a general V-BLAST system

Figure 3.1 shows the transmitter in a general V-BLAST system. The dierence between Figure 2.2 and Figure 3.1 is that in a V-BLAST system, all the symbols are transmitted by dierent transmitting antennas and independent from each other. The coded bits from the same codeword are transmitted by the same transmitter, which also means they will go through the same channel vector. The encoder and the modulator being used in a V-BLAST system are as same as those in Section 2.2.1.

3.3

V-BLAST receiver

Figure 3.2 is a receiver being used in a general V-BLAST system. As the streams are independently encoded, we need to separate the Nt transmitted streams after demodulation and then decode them separately with their own decoders. Decoders and the demodulator being used in a general V-BLAST receiver are as same as those in Section 2.2.2. Figure 3.2 is the general V-BLAST receiver with joint detection and the complexity grows exponentially with the number of data streams. As a result, simpler detecting rule that provides soft information to feed to the decoders of the individual data streams is an active area of research [3]; we will modify the receiver architecture in Figure 3.2 so that linear operations can be used to convert the problem of joint detection into individual detection. In conjunction with successive cancellation of data streams, we can achieve the 18

Rx 1 Rx 2 Demodulator

Stream 1 Stream 2

Decoder 1 Decoder 2

Rx Nr

Stream Nt

Decoder Nt

Figure 3.2: Receiver of a general V-BLAST system

capacity of a fast fading MIMO channel. With ordering strategy, we can get a better performance of the V-BLAST architecture in a slow fading channel.

3.3.1

MAP demodulation

The ML joint detector uses MAP to perform demodulation. A brief introduction of MAP demodulation is presented here. MAP demodulation uses Log-Likelihood Ratio (LLR) to decide whether a 0 or a 1 is sent. The LLR represents our belief in a bit b : LLR(b) = log P(b = 0) P(b = 1) , (3.1)

if LLR(b ) is larger than 0, we believe b =0, since the probability of b =0 is larger than b =1; if LLR(b ) is smaller than 0, we believe b =1, since the probability of b =1 is larger than b =0. P (b =0)=P (b =1) leads to LLR(b) = 0. In our system, y=Hx+w, assuming bk bits compose the vector x, we have P (bk = 0|y) P (bk = 1|y)
x:bk =0

LLR(bk |y) = log = log = log

= log

P (x|y) x:bk =1 P (x|y)


x:bk =0

p (y|x)P (x) (y|x)P (x) x:bk =1 p p (y|x) (y|x) x:bk =1 p


x:bk =0

+ log

P (x) x:bk =1 P (x)


x:bk =0

19

We denote log

P (x) x:bk =1 P (x)


x:bk =0

= LLR(x).

(3.2)

And x : bk = 0 denotes the set of x which has the k th information bit equal to 0. We call LLR(bk |y) the posteriori LLR because we already have access to the received vector y, and we call LLR (x) a priori LLR since we assumed we know the distribution of x. In this thesis we assume x is equally distributed, which leads to LLR (x)=0. The purpose of the MAP detection is to nd a x which maximizes the posteriori LLR :LLR(bk |y) given the received vector y. In other words, if x leads to a maximum posteriori LLR, then the probability of x being transmitted is the largest, we have the strongest belief in x being the transmit vector. If we replace non-iterative detection with iterative detection, we could use the estimated xr from the r th iteration, calculate LLR(xr ) and use this as a priori LLR in the (r +1)th iteration. In our thesis we assume channel matrix H is known to the receiver. It is not dicult to see that p (y|x) = p (y Hx|x). Furthermore, we assume the system is aware of the distribution of the noise w=y-Hx, thus we can nd the x which maximizes LLR(bk |y). A more detailed calculation can be found in [4]. In a ML detector, the channel matrix H is multidimensional, which expands the complexity of the MAP calculation.

3.3.2

Zero-Forcing detector

If the transmitter does know the channel, there is an architecture called SVD [3] that enables the transmitter to send parallel data streams along the eigenmodes of the channel. So the streams arrive orthogonally at the receiver without interference between each other. When the transmitter does not know the channel, this is not possible. Indeed, after passing through the MIMO channel, the independent data streams all arrive crosscoupled at the receiver. It is of great importance that the receiver can separate the data streams eciently. To simplify notations, we will introduce the time-invariant case rst, where the channel matrix is xed. We can write the received vector at time instant m as
Nt

y[m] =
i=1

hi xi [m] + w[m],

(3.3)

where h1 , . . . , hNt are the columns of H, each indicates 1 Nr channel paths, and xi [m] is the data stream transmitted on the i th antenna. Focusing on the k th data stream, we can rewrite the equation as: 20

y h1 h2

Figure 3.3: A projection operation: y is projected onto the subspace orthogonal to h1 to demodulate stream 2

y[m] = hk xk [m] +
i=k

hi xi [m] + w.

(3.4)

Obviously the k th data stream faces interference from other data streams. Many dierent ideas can be used to remove this inter-stream interference. One is to project the received signal y onto the subspace which is orthogonal to the vectors h1 , . . . , hk1 , hk+1 , . . . , hNt (denoted by Vk ). Supposing that the dimension of Vk is dk . Projection is a linear operation and we can represent it by a dk Nr matrix Qk . The rows of Qk form an orthonormal basis of Vk , they are all orthogonal to h1 , . . . , hk1 , hk+1 , . . . , hNt . The vector Qk v should be interpreted as the projection of the vector v onto Vk , but expressed in terms of the coordinates dened by the basis of Vk . A pictorial depiction of this projection operation is in Figure 3.3. If hk is a linear combination of h1 , . . . , hk1 , hk+1 , . . . , hNt , the resulting projection of hk is a zero vector. In other words, if there are more data streams than the dimension of the received signal (i.e., Nt > Nr ), then the nulling operation will not be successful, even for a full rank H. So we should choose the number of data streams to be no more than Nr . This corresponds to using only a subset of the transmitting antennas. In the 21

ZF detector for stream 1

ZF detector for stream 2 y[ m ]

ZF detector for stream N t


Figure 3.4: A bank of Zero-Forcing detectors, each estimating a data stream

following discussion about Zero-Forcing detector, we assume Nt Nr is always true. Now, the inter-stream interference nulling is successful. After the projection operation, y [m] = Qk y[m] = Qk hk xk [m] + w [m], (3.5)

where w [m] = Qk w[m] is white noise after projection. Using a matched lter to demodulate the k th stream, after matched ltering Qk hk , the output has SNR Pk ||Qk hk ||2 , (3.6) N0 where Pk is the power allocated to stream k. The combination of the projection operation and the matched lter is called Zero-Forcing receiver, which is also known as interference nulling or decorrelator. The Zero-Forcing detector is a linear lter since projection and matched ltering are both linear operations. Consider a projection of hk onto subspace Vk , the lter c k is given by 22

H
y1
X1

y' 1

X Nt

y Nr
Figure 3.5: A Zero-Forcing receiver

y' Nt

c k = ( Q k hk ) Q k .

(3.7)

We know matched lter maximizes the output SNR, so this Zero-Forcing detector can also be interpreted as a linear lter that maximizes the output SNR, but with a constraint that the lter nulls out the interference from all the other streams. So far we have only talked about the k th stream, now we can decorrelate each of the streams separately, as illustrated in Figure 3.4. Beside describing the Zero-Forcing detector geometrically; we can also have a simple formula for the entire bank of Zero-Forcing detectors [3]: the Zero-Forcing detector for the k th stream is the k th column of the pseudoinverse H of the matrix H, dened by H = (H H)1 H . (3.8) Figure 3.5 shows a Zero-Forcing receiver in the V-BLAST system, G is equal to H . The output of the ZF receiver is presented as y = [y1 . . . yNt ]T . The white noise after projection is w = [w1 . . . wNt ]. Thus y 1 = x1 + w 1 , . . . yNt = xNt + wNt .

23

The nulling operation of the ZF receiver eectively simplies the Nt Nr MIMO system to Nt Single Input Single Output (SISO) subsystems. As we introduced in Section 2.2.2, the channel matrix becomes a diagonal matrix. We can denote them as Nt Additive White Gaussian Noise (AWGN) channels in Figure 3.6. We can apply the new system with separated MAP demodulators, which eectively reduces the calculation complexity.

W' 1 X1

y' 1

W' Nt X Nt

y' Nt

Figure 3.6: Nt AWGN channels after ZF nulling operation

3.3.3

Successive cancellation

We have considered a bank of separate lters to estimate the data streams in Section 3.3.2. However, we can use the result of one lter to help the operation of other lters. That is the successive cancellation strategy: once a data stream is successfully recovered, we can subtract it from the received vector and reduce the burden on the receiver of the remaining data streams [3]. We made some modication to the bank of Zero-Forcing detectors in Figure 3.4 to achieve successive cancellation. We use the rst Zero-Forcing detector to detect the data stream x1 [m], decode it and then subtract this decoded stream from the received vector. Assuming the rst stream is successfully decoded, then the second Zero-Forcing detector only needs to deal with streams x3 , . . . , xNt as interference, since x1 has been correctly subtracted o. Thus, the second Zero-Forcing detector projects onto a subspace which is orthogonal to h3 , . . . , hNt . This process is continued until the last Zero-Forcing detector does not have to deal with any interference from 24

ZF detector

Decode stream 1 Decode stream 2 Decode stream 3

Stream 1

Subtract stream 1 Subtract stream 1,2

ZF detector

Stream 2

y[ m ]

ZF detector

Stream 3

Subtract stream 1,2,... N t-1

ZF detector

Nt

Decode stream Nt

Stream Nt

Figure 3.7: SIC Zero-Forcing detector: A bank of Zero-Forcing detectors with successive cancellation of streams

the other data streams. We assume subtraction is successful in all preceding stages. This SIC (Successive Interference Cancellation) Zero-Forcing detector architecture is illustrated in Figure 3.7. However, we can observe a signicant problem with this receiver structure. It is called error propagation: if an error occurs in detecting the k th data stream, it will make the subtracted signal incorrect. Furthermore, this error will propagate to all the following streams, k + 1, . . . , Nt . It is quite complicated to analyze the performance of this scheme. If we assume the data streams are well coded and the block length is sucient large, then the probability of the streams being successfully cancelled is very high. With this assumption, the k th data stream experiences no up-stream interference, i.e., from the streams 1, . . . , k 1. This also means, unlike in Section 3.3.2, where the projection operation is onto a subspace which is orthogonal to h1 , . . . , hk1 , hk+1 , . . . , hNt , this time the subspace is only orthogonal to hk+1 , . . . , hNt . We denote this projection operation as Qk . Consequently, the post detection SNR of the k th data stream is Pk ||Qk hk ||2 . (3.9) N0 The Zero-Forcing detector maximizes the post detection SNR among all 25

the linear receivers that completely null out inter-stream interference, but the energy of those streams are lost during the process. The matched lter, on the other hand, preserves as much energy as possible, it is the optimal strategy for SIMO (Single-Input Multiple-Output) channels without any inter-stream interference [3]. We see a tradeo between inter-stream interference nulling and energy preserving. When SNR is high, the inter-stream interference is dominant over the additive Gaussian noise, Zero-Forcing detector performs well; when SNR is low, the inter-stream interference is not as much of an issue, matched lter is the best choice. Given this situation, we need a linear receiver which optimally trades o between the inter-stream interference and the background Gaussian noise. Reference [3] introduced a linear Minimum Mean-Square Error (MMSE) receiver as a solution to accomplish the desired goal. It keeps the structure in Figure 3.7, but replaces Zero-Forcing detectors with Minimum Mean-Square Error detectors. Thus it forms a bank of linear MMSE detectors. This MMSE receiver scheme performs as a Zero-Forcing detector when inter-stream interference is large, and as a matched lter when interference is small. Reference [3] also proved that the bank of linear MMSE detectors with successive cancellation and equal power allocation can achieve the capacity of the i.i.d. Rayleigh fast fading MIMO channel.

3.3.4

V-BLAST ordering

Consider the problem of the error propagation we discussed in Section 3.3.3. In a real communication system, it is impossible to cancel the streams perfectly, thus the error propagation is unavoidable. Furthermore, the error propagation has a negative impact on the error rate performance of the receiver. Our goal is trying to make this error propagation as unlikely as possible. Assuming there are A errors occur in stage one, when we are trying to detect and decode the stream x1 . Then after subtracting o the decoded stream x1 , all the A errors will be propagated to the next Nt 1 stages. This error propagation leads to even more errors. Instead of the stream x1 , this time we detect and decode the stream xt in the rst stage. Assuming there are B errors occur after processing, if B < A, then the number of the errors being propagated is smaller. The less the errors being propagated are, the more correct the subtraction is. In order to combat the error propagation, we need to utilize an ordering strategy in our V-BLAST system. Ordering is a method of easing the error propagation by sorting the order of the streams being detected. Streams with higher post detection SNRs may have lower error probabilities, thus 26

Calculate post detection SNR

Detect & Decode stream No.1 Detect & Decode stream No.2 Detect & Decode stream No.3

Stream No.1

Subtract stream No.1


Subtract stream No.1,2

Calculate post detection SNR

Stream No.2

y[ m ]

Calculate post detection SNR

Stream No.3

Subtract stream No.1 ,2,... N t -1

Detect & Decode stream No.Nt

Stream No.Nt

Figure 3.8: SIC ordering ZF detector: A SIC detector with ordering strategy

processing these streams at earlier stages leads to less errors. Assuming we use SIC Zero-Forcing detectors in the Nt Nr V-BLAST system, the post detection SNR of the k th stream is dened as:
Pk N0 1. [H H] kk

SN Rk =

(3.10)

Instead of processing the streams according to the order in Figure 3.7, we calculate the post detection SNR of every single stream, put the streams in order from the highest SNR to the lowest SNR. Then we select the stream with the highest post detection SNR as the stream No.1. We apply this stream with its corresponding Zero-Forcing detector, decode and subtract it from the received vector. After subtraction, we will have a new MIMO system with Nt 1 transmitting streams and Nr receiving antennas. Now we calculate the post detection SNR for the new Nt 1 Nr system, select the stream with the highest SNR as the stream No.2, continue the above steps until all the transmitted streams are decoded. An illustration of the SIC ordering ZF detector is shown in Figure 3.8. In ordering strategy, we choose the data stream with the highest post detection SNR every time, this makes sure that the number of the errors being propagated to the next stage is the smallest. 27

V-BLAST ordering with ML detection In order to enhance the performance of the ordering strategy, we can use the ML detector instead of the ZF detector in the SIC ordering scheme, since the error probability of the ML detection is much smaller than that of the ZF detection. Due to the complexity of the ML detection, we cannot aord to use ML in all the stages but only in stage one. We want to reduce the error propagation as much as possible, thus this time we choose the transmitted stream which has the lowest post detection SNR as the stream No.1, and then apply ML detection. The worst transmitted stream has the best detector. This makes sure that the inuence of this stream is minimized. After the stream No.1 is detected and subtracted from the received vector, we will get a new Nt 1 Nr MIMO system. We will use the same SIC ordering ZF detector as we introduced above to detect the new system. Since we need to calculate the post detection SNR in our SIC ordering detector, and it is meaningless to do this SNR calculation in a fast fading channel, this ordering strategy is only designed for the slow fading channel.

28

Chapter 4 Implementation
In this chapter, we will show how to implement the communication systems with IT++ programming. Given the classes and the functions, we can simulate all the schemes in a C++ environment.

4.1

Introduction of IT++

IT++ is a C++ library of mathematics, signal processing, speech processing, and communications classes and functions. It is being developed by researchers in these areas and is widely used by researchers, both in the communications industry and universities. Since 2004, IT++ is also being developed as a part of the European Network of Excellence in Wireless Communications. The kernel of the IT++ library are templated vector and matrix classes, and has lots of functions for vectors and matrices. Such a kernel makes the IT++ library similar to Matlab. In this thesis, all the simulations are done by IT++ programming. The most frequently used classes are: Convolutional Code, which generates convolutional encoder and decoder; ND UQAM, which generates uniform QAM per dimension in complex MIMO; BERC, which calculates bit error rate; and LLR calc unit, which calculates log-likelihoods. The remainder of this chapter gives a detailed description of the system implementation in C++.

4.2

General MIMO structure in IT++

We build a general multiple antenna system model in IT++ rst. This is a simple convolutionally coded spatial-multiplexing MIMO system, with maximum-likelihood, alternatively zero-forcing demodulation, and soft Viterbi 29

decoding. There is no iteration between the demodulator and the decoder in our system model. The structure of the transmitter and the receiver are shown in Figure 2.2 and Figure 2.3. Figure 4.1 is the ow chart of this general multiple antenna system simulation program in IT++: Step 1: The rst step is dening all the parameters in our system: the number of the transmitting antennas; the number of the receiving antennas; the coherence time Tc of the channel, which denes whether it is a slow fading channel or a fast fading channel; the type of the constellation, QPSK or 16-QAM; the SNR range for the simulation; the length of a data frame; the maximum number of bits to every simulation per SNR point; and the termination point of the simulation, which is dened by the number of bit/frame errors per SNR point. A frame is considered to be correct only when all the bits are decoded correctly without error. We choose convolutional code as the channel code in our system. Step 2: After dening all the parameters, the general multiple antenna system model is initialized: the modulator is set to QPSK or 16-QAM with uniform QAM per complex dimension and Gray coding, the random value generator is randomized, and the interleaver is initialized. Step 3: Then the simulation starts from the rst SNR point. For every single SNR point, the maximum number of bits to all the simulations is 50,000,000, which is dened in step 1. A frame which contains 100 uncoded bits is simulated per simulation. Step 4: 100 uncoded bits(a frame) are generated, coded by a convolutional encoder and interleavered by a interleaver. Step 5: The transmitter has access to the distribution of the channel information. In this step, a channel matrix H is generated per coherence time Tc . Step 6: The coded and interleavered bits are modulated and transmitted through the channel, then added with noise to generate a received vector. Step 7: At the receiver, the received streams are demodulated by a ZF or a ML detector. The demodulated streams are deinterleavered and decoded by a convolutional decoder. 30

Definition of Parameters

Initialization

Start Simulation

Generate Data

Generate Channel

Modulate & Transmit bits

Demodulate

Zero forcing

ML

Decode No. of errors > Threshold Calculate ER

Reaches the min BER/FER

Termination

Figure 4.1: Flow chart of a general multiple antenna system simulation program in IT++

31

Step 8: The bit errors and the frame errors are counted in this step. The program goes back to step 4 if the number of the bit/frame errors is larger than the threshold Nbers/Nfers, and a new frame(100 uncoded bits) is generated and simulated. Step 9: When the counted bit/frame errors are larger than Nbers/Nfers, the simulations of current SNR point are terminated. The program moves back to step 3 and keeps running until all the SNR points are simulated. This general multiple antenna system model is the basis of all the IT++ implementations in this thesis.

4.3

General V-BLAST structure in IT++

Next we will introduce the implementation of a general V-BLAST scheme, as we introduced in Chapter 3. We already built a general multiple antenna system model in Section 4.2. That model has an encoder across the transmitting streams, thus the transmitting antennas are not independent. At the transmitter of a general multiple antenna system, before modulating the data, the 100 uncoded bits from a frame are encoded and interleavered. The interleaver helps us to improve the performance of the MIMO system since the neighboring bits are transmitted on dierent antennas, which eectively prevents bits from the same codeword from suering a deep fading. But in a general V-BLAST scheme, the data streams are independently transmitted through dierent transmitting antennas, bits from the same codeword are transmitted on the same transmitting antenna. Furthermore, we use convolutional codes as the channel codes in this thesis, convolutional codes are trellis codes, the coded bits cannot be decoded successfully without neighboring bits. We make modications to the general multiple antenna system model, as shown in Figure 4.2 and Figure 4.3. The ow chart of this general V-BLAST simulation program is almost the same as Figure 4.1, with the following dierences: At the transmitter, a frame is separated into Nt data streams. We process each of the data streams independently so that there is no correlation between the date streams. The streams are transmitted on the corresponding transmitting antennas. In this case we need Nt convolutional encoders instead of one in a general multiple antenna system model in Section 4.2. 32

Data stream 1

Convolutional Enoder

Modulation

MIMO Channel

Data stream Nt

Convolutional Enoder

Figure 4.2: A general V-BLAST transmitter in IT++

After all the data streams are independently coded, we put the streams back into a frame. For example, if we use a QPSK constellation, then we take 2 bits from every coded stream per time and feed them to the frame. At the receiver, after demodulating the received vector, we need to recover the data streams from the received frame. This operation is the same as that at the transmitter. These data streams are encoded independently at the transmitter, which means we also need Nt convolutional decoders to decode the streams. In the simulation of a general V-BLAST system, we still use two different kinds of detector, Zero-Forcing and Maximum-Likelihood.

4.4

SIC Zero-Forcing detector in IT++

We focus on the V-BLAST detectors in this thesis. The detectors are at the receiver, thus the dierence between dierent schemes are mainly on the receiver side. In this section, we will introduce the implementation of the SIC Zero-Forcing detectors in IT++. Assume we have a Nt Nr MIMO system. The transmitter is the same as the one in Figure 4.2. The receiver of the V-BLAST SIC Zero-Forcing detectors is shown in Figure 3.4. The ow chart of the receiver simulation program in IT++ is in Figure 4.4: Step 1: We have Nt transmitting antennas and Nr receiving antennas in our system. The rst step is to demodulate stream 1 with its corre33

Convolutional Decoder

Steam 1

MIMO Channel

Demodulation

Convolutional Decoder

Stream Nt

Figure 4.3: A general V-BLAST receiver in IT++

MIMO Channel

Demodulation Stream k

Decode Stream k k!=Nt Subtract Stream k

k=Nt

Calculate Error Rate

k=k+1

Figure 4.4: Flow chart of a SIC Zero-Forcing detectors receiver simulation program in IT++

34

Stream 1

ZF detector

Stream 1 (demodulated)

Decoder

Stream 1 (decoded)

Convolutional encoder

Stream t

Modulation

Nr receivers

yt y
Delete first column from H

y' = y - yt
H'

A new MIMO : Received vector y' Channel matrix H '

Figure 4.5: Step 1 in successive cancellation in IT++

sponding Zero-Forcing detector from the received vector y, and decode it with a convolutional decoder. Step 2: Subtract stream 1 from the Nt Nr MIMO system: we input the decoded stream 1 to its convolutional encoder, get a coded stream t; then modulate the stream t, send it on transmitter 1 and receive it by Nr receiving antennas. We will get a Nr 1 received vector yt . Subtract yt from the original received vector y. We assume the stream 1 is correctly decoded, then after subtraction, we successfully remove the stream 1 from the MIMO system. Meanwhile, we delete the rst column in the channel matrix H. Thus we get a new Nt 1 Nr MIMO system. An illustration of this step is shown in Figure 4.5. Step 3: We process this new Nt 1 Nr MIMO system, with the same operations in step 1 and step 2, then we will get a Nt 2 Nr MIMO system. Continue these steps until we have decoded the last 1 Nr system. In IT++, the ZF detector demodulates all the streams in a MIMO system at the same time, as the formula in equation (3.8). We use the kth column 35

Calculate post detection SNR of Nt*Nr MIMO

Select the transmitter with the highest SNR as stream 1 Stream 1 Demodulation & Decoding Subtract stream 1 A new MIMO system with Nt=Nt-1

Figure 4.6: Stream selection in SIC ordering detector in IT++

of H as the corresponding Zero-Forcing detector for the stream k.

4.5

Ordering in IT++

In Chapter 3 we have introduced a ordering strategy which puts the transmitters in order of their post detection SNRs. Thus the dierence between the SIC Zero-Forcing detectors and the SIC ordering detector is the order of the streams being detected. Figure 4.6 shows how to arrange the data streams in a SIC ordering detector. During the implementation, the key problem is to make sure that the channel matrix H is also modied along with the transmitting antennas.

4.5.1

Ordering with ML in IT++

All the implementations so far use the Zero-Forcing detector to demodulate. This time we nd the stream with the lowest post detection SNR rst, and apply it with a ML detector. We have already explained that the SIC ordering detector with ML demodulation can reduce the error propagation in Chapter 3. Thus it is obvious that we can implement it almost in the same way as the SIC ordering detector, but we choose the stream with the lowest post detection SNR instead of the highest one at the rst stage. Now we can conclude all the ow charts together to get a complete ow chart of the SIC 36

ordering detector in Figure 4.7, with the ML demodulation at the rst stage.

37

Start simulation

Generate data

Generate channel

Modulation & Transition

Calculate post detection SNR Select stream 1(lowest ML detector SNR)

Decoder Subtract stream 1 A (Nt-1)* Nr MIMO

Calculate SNR Select stream 1 (highest ZF detector SNR)

Decoder Subtract stream 1 A (Nt-2)* Nr MIMO Nt-2 > 1 BER/FER Calculation

Figure 4.7: Flow chart of ordering with ML in IT++

38

Chapter 5 Results and Discussion


This chapter presents the simulation results of the general multiple antenna system, and the V-BLAST architecture with dierent receivers in IT++. We will also discuss the performances in this chapter.

5.1

Performance in fast fading channel

We study the fast fading channel rst, we will see how the general multiple antenna system and the general V-BLAST system perform in a fast fading channel.

5.1.1

The general multiple antenna system

Start with the general multiple antenna system, the transmitter and the receiver are shown in Figure 2.2 and Figure 2.3. The simulation program is implemented as Figure 4.1. The transmitted streams are not independent from each other. The parameters of the simulations are: It is a 2 2 (two transmitting antennas and two receiving antennas) general multiple antenna system; We use 16-QAM constellation with gray coding; For the fast fading channel, the coherence time Tc is equal to 1; For simulation, the SNR range is from -5dB to 50dB, a new simulation starts every 0.5dB; We use two dierent kinds of demodulator in our system, the MaximumLikelihood (ML) detector and the Zero-Forcing (ZF) detector, as introduced in Chapter 2; 39

10

16QAM 2 transmit, 2 receive antennas ber(ZF) fer(ZF) ber(ML) fer(ML)

10

ER

10

10

10

5 E / N [dB]
b 0

10

15

Figure 5.1: Performance curves for the Maximum-Likelihood detector and the Zero-Forcing detector in a 2 2 general multiple antenna system in the fast fading channel

We generate 100 bits as a frame per time; In the fast fading channel, the Bit Error Rate (BER) is of our primary interest, thus when the BER is smaller than 0.001, we stop simulating a given detection method; when the counted bit errors (denoted as Nbers) are larger than 1000, we move to the next SNR point. We use the rate
1 3

convolutional code, as introduced in Section 2.2.1.

For the Maximum-Likelihood detector, we use joint demodulation. For the Zero-Forcing detector, we assume the correlation from the other channels are successfully nulled to zero, thus we can treat the channel as a diagonal channel. We can observe how these detectors perform in Figure 5.1. The red curves represent the BER and the blue curves represent the FER. When we use Maximum-Likelihood as the demodulation method, the BER falls down to 0.001 at SNR=7.5dB, and when we use Zero-Forcing, the BER reaches 0.001 at around SNR=9.4dB, which means Maximum-Likelihood has a gain 40

of 1.9dB. Given the fact that the ZF demodulator simplies the calculation, we consider these two detectors are both good choices for the demodulation in a fast fading channel. If the calculation complexity is more important than the calculation accuracy in a system, we choose to use the ZF demodulator, otherwise we choose the ML demodulator. Furthermore, the gap between two red curves is 1.5dB as long as SN R > 1dB , and does not increase with SNR. The same situation exists when it comes to the FER and the gap between those two blue curves is about 1.5dB. Although the FER is not of great importance in a fast fading channel, it still supports our conclusion that both the ML and the ZF detectors are reliable choices for our general multiple antenna system.

5.1.2

The general V-BLAST system

Second we will show the simulation result of a general V-BLAST system in a fast fading channel. The transmitter and the receiver are shown in Figure 3.1 and Figure 3.2. The only dierence between the general V-BLAST system and the general multiple antenna system in Section 5.1.1 is In a general V-BLAST system, all the transmitted streams are independently coded and decoded All the parameters of the simulations are the same as in Section 5.1.1. The result is shown in Figure 5.2. Still, the red curves represent the BER and the blue curves represent the FER. When we use the Maximum-Likelihood detector, the BER falls down to 0.001 at SNR=8dB, when we use the ZeroForcing detector, the BER reaches 0.001 at around SNR=10dB, which means Maximum-Likelihood has a gain of 2dB. The gain from using the ML demodulation is about 2dB as long as SN R > 1dB . The ML demodulator has a gain, but it takes much more time to perform the joint ML detection than the Zero-Forcing. For simplicity, the ZF detector is even a better choice, since when the number of the antennas increases, the complexity of the ML computation also increases exponentially, we cannot aord joint ML in our system. The same situation happens when it comes to the FER, thus we can conclude that both of these two demodulators perform well in the general V-BLAST scheme, however the ZF detector is less time consuming.

5.1.3

Comparison in fast fading channel

So far we have studied the general multiple antenna system and the general V-BLAST system, in the fast fading channel. We compare these two systems 41

10

16QAM 2 transmit, 2 receive antennas ber(ZF) fer(ZF) ber(ML) fer(ML)

10

ER

10

10

10

5 Eb / N0 [dB]

10

15

Figure 5.2: Performance curves for the Maximum-Likelihood detector and the Zero-Forcing detector in a 2 2 general V-BLAST system in the fast fading channel

given the same channel and the same simulation parameters. When we use the ML detector, we observe a gain of 0.5dB in a general multiple antenna system; and when we use the ZF detector, we observe a gain of 0.6dB, also in a general multiple antenna system. As shown in Figure 5.1 and Figure 5.2, the dierence between using or not using independent coding is not big. The general V-BLAST system performs as good as the general multiple antenna system, but it has a much simpler structure, we can employ it to achieve reliable communication instead of the general multiple antenna system. Thus the V-BLAST architecture is of great interest to us.

5.2

Performance in slow fading channel

Section 5.1 showed the simulation results of two systems in a fast fading channel. Now we study a slow fading channel. We still use the general multiple antenna system and the general V-BLAST system in this section. 42

10

16QAM 2 transmit, 2 receive antennas ber(ZF) fer(ZF) ber(ML) fer(ML)

10

ER 10
2

10

10 15 Eb / N0 [dB]

20

25

30

Figure 5.3: Performance curves for the Maximum-Likelihood detector and the Zero-Forcing detector in a 2 2 general multiple antenna system in the slow fading channel

5.2.1

The general multiple antenna system

The parameters of our simulation are almost the same as in Section 5.1.1. The dierences are shown as follows: For the slow fading channel, the coherence time Tc is equal to 100,000; In the slow fading channel, the Frame Error Rate (FER) is our primary interest, thus when the FER is smaller than 0.01, we stop simulating a given detection method. When the counted frame errors (denoted as Nfers) are larger than 200, we move to the next SNR point. In Figure 5.3, the red curves represent the BER and the blue curves represent the FER. Now we focus on the FER, the frame error rate reaches 0.01 at SNR=15dB when we use the Maximum-Likelihood detector, and it reaches 0.01 at SNR=23dB when we use the Zero-Forcing detector, the dierence is 8dB. The ML detector performs much better than the ZF detector, and the gap between two blue curves gets bigger when SNR increases. The gap 43

10

16QAM 2 transmit, 2 receive antennas ber(ZF) fer(ZF) ber(ML) fer(ML)

10

ER

10

10

10

10 15 Eb / N0 [dB]

20

25

30

Figure 5.4: Performance curves for Maximum-Likelihood detector and ZeroForcing detector in a 2 2 general V-BLAST system in the slow fading channel

between two red curves is even bigger. The transmitted streams are more likely to suer from a deep fading in a slow fading channel, and we cannot null the inter-stream interference to zero when we use the ZF demodulation. There is no doubt we will use the ML detector in a general multiple antenna system.

5.2.2

The general V-BLAST system

We keep all the simulation parameters in Section 5.2.1 and we use the general V-BLAST system in this section. After simulation, the result is shown in Figure 5.4. When we use the Maximum-Likelihood detector, the FER falls down to 0.01 at SNR=18dB. When we use the Zero-Forcing detector, the FER reaches 0.01 at around SNR=25.5dB, which means the Maximum-Likelihood has a gain of 7.5dB. The simulation result is similar to that of a general multiple antenna system. Again the ML detector performs much better than the ZF 44

detector.

5.2.3

Comparison in a slow fading channel

Compare the results in Figure 5.4 and Figure 5.3. When we use the ML detector, in a general multiple antenna system, the FER reaches 0.01 at SNR=15dB; in a general V-BLAST system, the FER reaches 0.01 at SNR=18dB. The dierence is 3dB. The transmitted streams are likely to suer from a deep fading in a slow fading channel, but in the general multiple antenna system, bits are coded across the antennas and the possibility of being transmitted on the same antenna is small. This leads to better performance. If we want to use the general V-BLAST system, we need to improve the detector and this is the reason we introduced the SIC ZF detectors and the SIC ordering detector in Chapter 3.

5.3

Fast fading V.S. Slow fading

In a fast fading channel, the BER is of primary interest since the channel varies every symbol time; while in a slow fading situation, the FER is more important because channel stays the same for a frame. But we can still compare these two dierent fading channels to get an overall picture of how the channel characteristic aects the system performance. Focus on the general multiple antenna system with Maximum-Likelihood detector. In a fast fading channel, the BER reaches 0.01 at SNR=6dB, but in a slow fading channel, the BER reaches 0.01 at SNR=11dB. When it comes to the FER, the dierence is approximately 7dB. If we use the Zero-Forcing detector, the BER dierence is 12.5dB, and the FER dierence is 13.5dB. The ZF detector is aected much more by changing the channel characteristic. We jointly coded and interleaved the data in the general multiple antenna system in order to combat slow fading, but the performance in a slow fading channel is still much worse than that in a fast fading channel. For the general V-BLAST system, the BER and the FER dierences are similar to the general multiple antenna system. We do not code across the antennas in the V-BLAST system. It is much more dicult to recover the transmitted streams in a slow fading channel, since we may lost a whole stream in such a channel, as we discussed in Chapter 2. If we want to have reliable communication, we need to develop some good detectors for the slow fading condition. 45

10

16QAM 2 transmit, 2 receiver antennas ber fer

10 ER 10

10

10 15 Eb / N0 [dB]

20

25

Figure 5.5: Performance curves for the Zero-Forcing detector in a 2 2 VBLAST SIC system in the fast fading channel

5.4

The V-BLAST SIC system with ZF detectors

We keep all the parameters in Section 5.1.1 and Section 5.2.1, and now we introduce the successive interference cancellation in our system to improve the performance of the V-BLAST architecture, especially in a slow fading channel. Here we use the ZF detectors to perform detection, as introduced in Section 3.3.2. First, the simulation result of the V-BLAST SIC system in a fast fading channel is shown in Figure 5.5. The BER is equal to 0.001 when SNR=9.5dB, and in Section 5.2.2, the BER is equal to 0.001 when SNR=10dB. Introducing the successive interference cancellation does not improve the performance of the V-BLAST structure a lot in a fast fading channel, as we expected. The main purpose is to improve the performance of the V-BLAST SIC system in a slow fading channel. Figure 5.6 is the result of the V-BLAST SIC system in a slow fading channel. When SNR=24dB, the FER falls down to 0.01, while in a gen46

10

16QAM 2 transmit, 2 receive antennas ber fer

10 ER 10

10

10 15 Eb / N0 [dB]

20

25

Figure 5.6: Performance curves for Zero-Forcing detectors in a 22 V-BLAST SIC system in the slow fading channel

eral V-BLAST system without successive interference cancellation, when SNR=25.5dB, FER=0.01. The dierence between with and without SIC is 1.5dB. It does give us an improvement, but the system is still not good enough for a slow fading channel. Thus we introduced the ordering strategy in Section 3.3.4 to get better performance in a slow fading channel.

5.5

The V-BLAST SIC ordering system

We use a 4 4 MIMO system instead of a 2 2 MIMO to simulate the performance of the V-BLAST SIC ordering system, since 2 transmitting and receiving antennas cannot give a clear presentation of how the ordering strategy works, and we need more transmitted streams. Due to the computational complexity, we use a QPSK constellation in our 4 4 system. The V-BLAST SIC ordering system is designed for a slow fading channel, so we only look into the slow fading condition. We will simulate two dierent ordering methods in the following parts, as we described in Section 3.3.4: using the ZF detectors in all the ordering stages; using the ML detector in the rst stage 47

10

QPSK 4 transmit, 4 receive antennas ber fer

10 ER 10

10

5 10 Eb / N0 [dB]

15

20

Figure 5.7: Performance curves for the Zero-Forcing detectors in a 4 4 V-BLAST SIC ordering system in the slow fading channel

and the ZF detectors in the rest three stages. Figure 5.7 presents the simulation result of a 4 4 V-BLAST SIC ordering system. The FER is 0.01 when SNR=16dB. Figure 5.8 shows the simulation result of a 4 4 V-BLAST SIC system without ordering, the FER is 0.01 when SNR=18.5dB. We have a gain of 2.5dB by using the ordering strategy. Furthermore, we can experience even better performance by changing the rst stage to the ML demodulation. Figure 5.9 gives us the simulation result of a 4 4 V-BLAST SIC ordering system, with the joint ML detection in the rst stage, but only the stream which has the lowest post detection SNR is sent to the decoder. We will see how the rst stage aects the others. The errors being introduced and propagated to the next stage are reduced a lot by the ML detection. In Figure 5.9, when SNR=4.5dB, the FER is 0.01, we have a gain of 11.5dB compared to the V-BLAST SIC ordering system. The V-BLAST SIC ordering system with rst stage ML detection is the optimal system among all the schemes. More detailed comparisons between these dierent SIC strategies will be shown in Section 5.6. 48

10

QPSK 4 transmit, 4 receive antennas ber fer

10 ER 10

10

5 10 Eb / N0 [dB]

15

20

Figure 5.8: Performance curves for the Zero-Forcing detectors in a 4 4 V-BLAST SIC system without ordering in the slow fading channel

5.6

Combined Comparison

We compare four schemes in this section: the V-BLAST SIC system with ZF detectors, the V-BLAST SIC ordering system with ZF detectors, the VBLAST SIC ordering system with the ML detector at the rst stage, and the general V-BLAST system with the ML detector. The parameters of these four simulations are listed in table 5.1: The aims of the comparison between these four schemes are: The inuence of using or not using the ordering strategy in the VBLAST system The dierence between using the Maximum-Likelihood detection and the Zero-forcing detection at the rst stage of the ordering strategy The dierence between the general V-BLAST system with the ML detection and the V-BLAST SIC ordering system with the ML detection at the rst stage 49

10

QPSK 4 transmit, 4 receive antennas ber fer

10

ER

10

10

10

5 10 Eb / N0 [dB]

15

20

Figure 5.9: Performance curves for rst stage ML detector in a 4 4 VBLAST SIC ordering system in the slow fading channel

Parameter number of Tx number of Rx type of constellation fading channel coherence time Tc SNR range bits in one frame(before coding) minimum FER Channel coding

Setting 4 4 QPSK Rayleigh fading 1000000 -5dB to 50dB 100 0.01 convolutional code 1 /constraint length 7) (rate 3

Table 5.1: Parameters in the simulation

50

Figure 5.10 shows all the simulation results. The red curves represent the BER and the blue curves represent the FER. At a certain Bit Error Rate point, BER=0.001, there is approximately 2.3dB SNR dierence between the V-BLAST SIC system with ZF detectors and the V-BLAST SIC ordering system. The dierence is smaller than what we expected. The performance curves of these two systems are close to each other, especially when the SNR is low, but the gap gets larger when the SNR gets higher. When the SNR is low, which means the noise is large, the post detection SNR is mainly aected by the noise, thus we will not see a big dierence between the SIC system with or without ordering. When the SNR gets higher, the post detection SNR is mainly aected by the channel matrix H. The post detection SNR of a stream will be of great dierence when the stream is suering from a deep fading, it is sensitive to the channel characteristic. We have only 4 stages here in the successive interference cancellation, and the fading channel is Rayleigh fading channel, if there are more antennas in the transmitter, which means there are more stages, or the channel condition is more complicated, we will observe more improvement from using the ordering strategy. If we use a Maximum-Likelihood detector instead of a ZF detector at the rst stage of the V-BLAST SIC ordering system, we will have a gain of 12.3dB. As we discussed in Section 5.5, this gain comes from the joint ML detector. When the BER is equal to 0.001, we need SNR=3dB in the general V-BLAST system with the ML detector, and we need SNR=4.6dB in the SIC ordering system with the ML detector at the rst stage. That is a dierence of only 1.6dB, thus we can use the SIC ordering system with rst stage ML instead of the general V-BLAST scheme since these two schemes perform similarly, and we do not need to code across the transmitting antennas.

51

10

QPSK 4 transmit, 4 receive antennas ber fer VBLAST SIC VBLAST SIC ordering ordering with first stage ML general VBLAST

10

ER

10

10

10

5 Eb / N0 [dB]

10

15

20

Figure 5.10: Performance curves for V-BLAST SIC, V-BLAST SIC ordering, V-BLAST SIC ordering with ML detector in the rst stage, general V-BLAST with ML detector in a slow fading channel

52

Chapter 6 Conclusion
In this thesis, we introduced a general multiple antenna system and several VBLAST detector systems with ML and ZF detection. We introduced how to simulate our systems in IT++ environment. We analyzed the performance and the complexity of these MIMO schemes in both fast fading and slow fading channels. We studied the general multiple antenna system and the general VBLAST system rst and analyzed the improvement obtained by ML detection compared to Zero-Forcing. We also showed the gain we got from coding between transmitting antennas in the general multiple antenna system. Furthermore, we introduced SIC schemes to improve the independent coded V-BLAST system. We showed that in V-BLAST systems, performance is limited by error propagation. Therefore, we proposed ordering schemes to combat error propagation. The results of these schemes are compared in Section 5.6. We showed the benets of ordering strategy over Successive Interference Cancellation and proposed an ordering strategy with ML detection at the rst stage. We applied this strategy to the general V-BLAST system and got a higher performance gain.

6.1

Outlook

For simplicity, we implemented our systems with convolutional codes and QPSK/16-QAM constellation in this thesis, it is interesting to consider other channel codes and constellation schemes to evaluate the performance of the systems. Furthermore, we only consider non-iterative detection in our simulation, we could employ iterative Turbo detection algorithm to improve our systems in the future. For V-BLAST schemes, it is too complicated to use joint ML detection in the system, but the performance of ZF detection in a 53

slow fading channel is not satisfying. Thus we could use D-BLAST (Diagonal BLAST) to perform outage optimization in a slow fading channel, which is realized by coding across the transmitting antennas.

54

Bibliography
[1] E. Telatar, Capacity of Multi-antenna Gaussian Channels, European Transactions on Telecommunications, vol.10, no.6, pp.585-595, November-December 2000 [2] G.J.Foschini, Layered space-time architecture for wireless communication in a fading environment when using multielement antennas, BLTJ, Autumn, 1996 [3] David Tse and Pramod Viswanath, Fundamentals of Wireless Communication, Cambridge Universtiy Press, 2005 [4] B.M.Hochwald and S.T.Brink, Achieving Near-Capacity on a MultipleAntenna Channel, IEEE Transactions on Communications, vol.51, No.3, March 2003 [5] X.Li, H.Huang, G.J.Foschini, and R.A.Valenzu, Eects of Iterative Detection and Decoding on the Performance of BLAST, IEEE Global Telecommunications Conference, vol.2, pp.1061-10066, Nov 2000 [6] L.G.Barbero and J.S.Thompson, Performance Analysis of a FixedComplexity Shpere Decoder in High-Dimensional MIMO Systems, IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP), vol.4, pp.557-560, Toulouse, France, May 2006 [7] P.W.Wolniansky, G.J.Foschini, G.D.Golden, and R.A.Valenzuela, VBLAST: An Architecture for Realizing Very High Data Rates Over the Rich-Scattering Wireless Channel, in Proc. ISEE, Pisa, Italy, September 1998 [8] D.Samardzija, P.Wolniansky, and J.Ling, Performance evaluation of the VBLAST algorithm in W-CDMA systems, VTC IEEE VTS 54th, vol.2, pp.723-727, Fall 2001 55

[9] V.Tarokh, N.Scshadri, and A.R.Calderbank, Space-time codes for high data rate wireless communication: performance criterion and code construction, IEEE Trans. Inform. Theory, vol.44, pp.744-765, March 1998 [10] V.S.Pham, M.T.Le, L.Mai, and G.Yoon, Low Complexity Maximumlikelihood Decoder for VBLAST-STBC scheme in MIMO Wireless Communication Systems, Vehicular Technology Conference, 2006, vol.5, pp.2309-2313, 2006 [11] S.Baro, G.Bauch, A.Pavlic, and A.Semmer, Improving BLAST Performance using Space-Time Block Codes and Turbo Decoding, IEEE Global Telecommunications Conference, vol.2, pp.1067 - 1071, Nov 2000 [12] N.Prasad and M.K.Varanasi, Analysis of Decision Feedback Detection for MIMO Rayleigh-Fading Channels and the Optimization of Power and Rate Allocations, IEEE Transaction on information theory, vol.50, NO.6, June 2004 [13] W.Yan and S.Sun, Iterative Interference Cancellation and Decoding for Convolutional Coded VBLAST Systems, Information, Communications and Signal Processing 2003, vol.3, pp.1511-1515, Dec 2003 [14] T.Mao and M.Motani, STBC-VBLAST for MIMO Wireless Communication Systems, Communications, 2005, vol.4, pp.2266-2270, May 2005 [15] C.Meng and J.Tuqan, Precoded STBC-VBLAST for MIMO Wireless Communication Systems, ICASSP IEEE, April 2007 [16] L.Yang, S.Cheng, and H.Wang, Partial Decision Ordered Successive Interference Cancellation Detection Algorithm for VBLAST, Personal, Indoor and Mobile Radio Communications, 2004, vol.3, pp.1564-1567, Sep 2004 [17] P.Frenger, P.Orten, and T. Ottosson, Convolutional codes with optimum distance spectrum, Communications Letters, IEEE, vol.3, pp.317319, Nov 1999 [18] John G.Proakis, Digital Communications, Fourth Edition, McGraw-Hill, 2001 [19] S.H.Ting, K.Sakaguchi, and K.Araki, On the Practical Performance of VBLAST, IEEE Communication Letters, vol.8, pp.564-566, Sep 2004 56

[20] W.Yan, S.Sun, and Z.Lei, A Low Complexity VBLAST OFDM Detection Algorithm for Wireless LAN Systems, IEEE Communication Letters, vol.8, pp.374-376, Jun 2004 [21] B.Gui and D.Qu, VBLAST-OFDM System with Linear Constellation Precoding, Vehicular Technology Conference, 2004, vol.2, pp.733-737, May 2004 [22] K.Sosa, L.F.Gonzlez Prez, M.Bazdresch, and J.Rodrguez-Guisantes, Performance Study of Space-Time Communications Systems Based on the VBLAST Algorithm, Proceedings of the 15th International Conference on Electronics, Communications and Computers, pp.55-60, Feb 2005 [23] K.Sosa, L.F.Gonzlez Prez, M.Bazdresch and J.Rodrguez-Guisantes, Improving Least-Squares-Based VBLAST Architecture with Conventional Channel Coding, Proceedings of the 16th IEEE International Conference on Electronics, Communications and Computers, Feb 2006

57

Das könnte Ihnen auch gefallen