the sphere decoding algorithm applied to space-time block codese98_sch/main.pdf · 2003-06-15 ·...

51
Master Thesis Project The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen [email protected] at Department of Signals, Sensors and Systems (S3) Royal Institute of Technology (KTH) Stockholm, Sweden Advisor GeorgeJ¨ongren June 15, 2003

Upload: others

Post on 15-Mar-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

Master Thesis Project

The Sphere Decoding Algorithm

applied to Space-Time Block Codes

by

Shi [email protected]

atDepartment of Signals, Sensors and Systems (S3)

Royal Institute of Technology (KTH)Stockholm, Sweden

AdvisorGeorge JongrenJune 15, 2003

Page 2: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

Abstract

The use of digital wireless communication systems has become moreand more common during recent years. A multiple-input-multiple-output(MIMO) system using Space-Time Coding techniques can be implementedto enhance the capacity of a wireless link. The optimal decoder is basedon the maximum likelihood principle. But as the number of the antennasin the system and the data rates increase, the maximum likelihood decoderbecomes too complex to use. Examples of less complex decoding techniquesused are zero-forcing and MMSE, as well as V-BLAST have been imple-mented at the price of reduced performance at the receiver. In this work,we investigate a new type of decoding algorithm called sphere decoding. Aswill be apparent from the development to follow, this algorithm delivers nearoptimal performance with reasonably low complexity.

We have investigated the performance of the sphere decoding algorithm.As it has shown in the computer simulations, the decoder based on thesphere decoding algorithm has almost the same performance of a maximumlikelihood decoder with much lower complexity. Further simulations of thesphere decoding algorithms has shown, with the channel estimation errorat the receiver, the decoder with the sphere decoding algorithm still hasthe same performance as in a ML decoder without increase the decodingcomplexity.

i

Page 3: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

ii

Page 4: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

Acknowledgments

This master’s thesis is supported by and carried out with the Signal Pro-cessing Group at the department of Signal, Sensors and System (S3), RoyalInstitute of Technology (KTH) in Stockholm, Sweden.

First of all, I would like to thank Ph.D. Student George Jongren forbeing my advisor, and for the valuable inputs and feedbacks in my thesiswork, even though he has to prepare his own Ph.D. defence at the time.Secondly, I would like to thank Joakim Jalden for discussions on the decodingalgorithms. Finally, I would like to thank all people for creating a positiveatmosphere in the lab.

iii

Page 5: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

iv

Page 6: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

Contents

Abstract i

Acknowledgements ii

Notations vi

1 Introduction 1

1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.3 Previous Works . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.4 Thesis Outline . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.5 Acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 System Model 5

2.1 Channel Model . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2 Data Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3 Space-Time Coding 9

3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.2 V-BLAST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.3 The Alamouti Code . . . . . . . . . . . . . . . . . . . . . . . 10

3.4 Orthogonal Space-Time Block Codes . . . . . . . . . . . . . . 12

3.5 Linear Dispersive Codes . . . . . . . . . . . . . . . . . . . . . 12

4 Conventional Decoder for Space-Time Coded System 15

4.1 The Zero Forcing Decoder . . . . . . . . . . . . . . . . . . . . 15

4.2 The Minimum Mean-Square Error Decoder . . . . . . . . . . 15

4.3 Decoding in V-BLAST . . . . . . . . . . . . . . . . . . . . . . 16

4.4 The Maximum Likelihood Decoder . . . . . . . . . . . . . . . 16

5 Sphere Decoding 19

5.1 Sphere Decoding Algorithm . . . . . . . . . . . . . . . . . . . 20

5.2 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . 22

v

Page 7: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

6 Simulation Results 25

6.1 Fixed Radius versus Adaptive Radius . . . . . . . . . . . . . 266.2 V-BLAST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286.3 Alamouti Code . . . . . . . . . . . . . . . . . . . . . . . . . . 306.4 Linear Dispersive Codes . . . . . . . . . . . . . . . . . . . . . 316.5 Random Generated Weighting Matrices . . . . . . . . . . . . 31

7 Channel Estimation Errors 33

7.1 Error Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337.2 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . 33

8 Conclusions and Future Work 37

8.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

A The Kronecker Product 39

A.1 The vec Operator . . . . . . . . . . . . . . . . . . . . . . . . . 39A.2 The Kronecker Product, Definition . . . . . . . . . . . . . . . 39A.3 A Useful Property . . . . . . . . . . . . . . . . . . . . . . . . 40

Bibliography 42

vi

Page 8: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

Notation

C The set of complex numbers.R The set of real numbers.Z The set of integers.X, x X is a matrix and x is a column vector.

XT, X∗ The transpose and the conjugate transpose of X.(X)ij The (i, j)th element of the matrix X.IN IN is the (N × N) identity matrix.X ⊗ Y The Kronecker product of X and Y .

X† The Moore-Penrose pseudo inverse of X.vec(X) The columns of X stacked in a vector.E{X} The expected value of X.Tr{X} Trace of X.<{x}, ={x} Real and imaginary part of x.N (a, b) Normal distribution with mean a and covariance b.CN (a, b) Circularly symmetric complex normal distribution.

vii

Page 9: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

viii

Page 10: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

Chapter 1

Introduction

1.1 Background

In order to meet the demands on higher data rates, better quality andavailability from an ever increasing number of wireless subscribers, newtechniques in signal processing and coding need to be developed and im-plemented. To achieve high data rate communication, the system has toovercome problems such as additive noise and channel fading. One way isto make several replicas of the signal available to the receiver with the hopethat at least some of them are not severely attenuated. This technique iscalled diversity [1]. Examples of diversity techniques include time diversity,frequency diversity and space diversity. As the available bandwidth is fi-nite, space diversity schemes seem promising, since they do not involve anyloss of bandwidth. The use of multiple antennas at both ends of a wire-less link is illustrated in Figure 1.1. Such a multiple-input-multiple-output(MIMO) system promises significant improvements in terms of spectral ef-ficiency, link reliability and also improves the system capacity [2] comparedto conventional systems.

••••

••••

Spac

e-T

ime

Enco

der

Spac

e-T

ime

Dec

oder

Figure 1.1: A multiple input-multiple output system.

The so-called Vertical Bell Laboratories Layered Space-Time (V-

1

Page 11: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

BLAST) [3] architecture is a example of the space diversity scheme, whichincreases the capacity of the system. Other coding schemes for MIMO sys-tems which combine space diversity and time diversity are called Space-TimeCodes (STC). Space-Time Block Codes (STBC) and Space-Time TrellisCodes (STTC) are examples of space-time coding techniques. In this work,we focus our efforts on V-BLAST and Space-Time Block Codes, since bothschemes can be easily written in linear form, as will be appearent from thedevelopment are to follow.

Decoding techniques for Space-Time Codes include zero-forcing (ZF),minimum mean-square error (MMSE), maximum likelihood (ML) decoderand V-BLAST. Among these techniques, maximum likelihood decodingyields the best performance over the other detectors [4]. But the maximumlikelihood decoder is often considered to be practically infeasible due to highcomputational complexity in MIMO systems with large number of antennasand high-order constellations. To lower the complexity, a new type of detec-tion method called sphere decoding [5] can be used. The sphere decodingalgorithm has near ML performance with reasonably low complexity.

1.2 Objective

This master’s project aims at evaluating the sphere decoding algorithm fora multiple antenna communication system in a flat fading channel. Thecoding schemes to be investigated include V-BLAST and Space-Time BlockCodes. The performance of the sphere decoding algorithm is compared withthree different decoders including zero-forcing, V-BLAST and the optimalmaximum likelihood decoder.

1.3 Previous Works

Many of the practical space-time schemes are designed to achieve high datarates, such as V-BLAST [3], orthogonal designs [6], and linear dispersioncodes [7]. All these techniques are designed to have simple symbol detectionat the receiver. The decoding algorithms used in these papers are maximumlikelihood or nulling and cancellation. The maximum likelihood decoderhas high decoding complexity and nulling and cancellation may lead to lowperformance.

1.4 Thesis Outline

In Chapter 2, the system model is presented. The space-time coding meth-ods used in this work are introduced in Chapter 3. In Chapter 4, we givean overview of various conventional decoders we used for simulations in thiswork. Chapter 5 introduces the sphere decoding algorithm, which is the

2

Page 12: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

main focus of this work. The performance of the sphere decoder is com-pared with various decoders in Chapter 6. We follow up with investigatingthe impact of the channel estimation errors introduced in the system inChapter 7. Finally conclusions and future works are found Chapter 8.

1.5 Acronyms

AWGN Additive White Gaussian NoiseBER Bit Error RateCSI Channel State InformationIID Independent and Identically DistributedLD Linear DispersionMIMO Multiple Input-Multiple OutputML Maximum LikelihoodMMSE Minimum Mean Square ErrorPEP Pairwise Error PerformancePSK Phase Shift KeyingQAM Quadrature Amplitude ModulationSD Sphere DecoderSNR Signal to Noise RatioSTBC Space-Time Block CodesSTC Space-Time CodesSTTC Space-Time Trellis CodesV-BLAST Vertical Bell Labs Layered Space-TimeZF Zero-Forcing

3

Page 13: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

4

Page 14: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

Chapter 2

System Model

In this work, we focus on a single-user communication link where the trans-mitter and the receiver is equipped with M and N antennas, as illustratedin Figure 2.1. In this chapter, the data models and preliminaries to be laterused are presented.

••••

••••

ST

C

Dec

oder

DSPDSP

Figure 2.1: Block diagram of a wireless communication system.

2.1 Channel Model

Channel modeling has always been an important area in wireless commu-nication. More about the modeling of MIMO Radio Propagation Channelscan be found in [8]. For simplicity, the system modeled in this project isa narrow-band, flat fading, multiple antenna communication system. Slowchannel fading is assumed, meaning that the fading coefficients are constantduring the transmission of a block of L symbols, but may vary from one blockto another in a random manner. The bandwidth of the transmitted signalis much less than the coherence bandwidth of the channel. Consequentlythe different frequency components of the transmitted signal undergo thesame attenuation and phase shift when propagating through the channel.

5

Page 15: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

In the time domain, flat fading corresponds to a channel delay spread whichis much less than the symbol time, therefore the channel assumed in thiswork does not suffer from inter-symbol interference (ISI).

2.2 Data Model

The input data is modulated into information symbols using an arbitraryconstellation, as for instance the one in Figure 2.2. However, in this workwe limit our attention to symbols that are output from a PAM or QAMmodulator.

Figure 2.2: 16-QAM scheme using 16 different symbols.

The symbols are there after divided into blocks s(k) = [s1 s2 · · · sm]T,where m ≥ 1. As illustrated in Figure 2.3 the symbol block s(k) is encodedusing a space-time encoder into M substreams, where each substream istransmitted on a dedicated transmitter antenna. The transmitted signals atthe transmit antennas are represented by a vector c(n), where

c(n) =[c1(n) c2(n) · · · cM (n)

]T. (2.1)

s(k) •••

STC

c1(n)c2(n)

cM (n)

Figure 2.3: Diagram for Space-Time Encoder

6

Page 16: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

Each receiver antenna responds to each transmitter antenna througha fading channel coefficient. All the channel coefficients are assumed tobe independent and identically distributed (IID). The received signals arecorrupted by additive noise that is statistically independent among the Nreceiver antennas and the symbol periods. The received signal ri(n) at theith antenna illustrated in Figure 2.4 can be written as

ri(n) =

M∑

j=1

hi,j cj(n) + vi(n) , (2.2)

where cj(n) is the signal transmitted from the jth antenna, hi,j denotes thefading coefficient between transmitter j and receiver i and vi(n) is the noise.

hi,1

hi,2

hi,3

hi,M

c1(n)

c2(n)

c3(n)

cM (n)

vi(n)

ri(n)

Figure 2.4: The received signal ri(n).

For all elements of the receiver antennas, the input-output relation canbe written as

r1(n)r2(n)

...rN (n)

=

h1,1 h1,2 . . . h1,M

h2,1 h2,2 . . . h2,M...

... . . ....

hN,1 hN,2 . . . hN,M

c1(n)c2(n)

...cM (n)

+

v1(n)v2(n)

...vN (n)

, (2.3)

or more compactly as

r(n) = Hc(n) + v(n) , (2.4)

where r(n) ∈ CN denotes the complex-valued received signal vector and

v(n) ∈ CN is the noise term modeled as spatially and temporally white,

zero-mean complex Gaussian with variance 2σ2v .

H is an N × M channel matrix. Each coefficient of H is assumed tobe CN (0, 1) (zero mean, unit-variance and complex Gaussian). The channelmatrix is also known as the channel state information (CSI). At the receiver,the CSI can be obtained by channel estimation based on the transmission ofa training sequence. In this work, a blind transmitter is assumed, meaning

7

Page 17: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

that there is no feedback information transmitted from the receiver to thetransmitter. We will also assume that the receiver has perfect knowledge ofthe CSI at all time.

8

Page 18: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

Chapter 3

Space-Time Coding

The transmission is done in bursts of length L symbols over the fadingchannel, which changes in a random fashion every Lth sample. Considerwithout loss of generality one such burst the time interval n = 0, 1, · · · , L−1.From (2.4) it follows that the corresponding received burst can be writtenas

R = HC + V , (3.1)

where

R = [r(0) r(1) · · · r(L − 1)]

C = [c(0) c(1) · · · c(L − 1)]

V = [v(0) v(1) · · · v(L − 1)] .

The matrix C is sometimes called a (space-time) codeword, and by properdesign, diversity gain, multiplexing gain and/or coding gain can be achieved.In the sections to follow, we will examine Space-Time Coding (STC) moreclosely.

3.1 Overview

Part of the reason Space-Time Codes give good performance is that theyprovide the system with transmit diversity. Diversity is obtained by trans-mitting a signal on several antennas simultaneously (space) and several sym-bol periods (time), which leads to an increase in diversity without loss ofbandwidth. In addition to the spatial diversity, some of the schemes alsoprovide additional coding gain. Many of the practical Space-Time Codeschemes that achieve these high capacities, such as spatial multiplexing [3]and Space-Time Block Coded (STBC) systems are designed so as to al-low simple symbol detection at the receiver because they map the symbolslinearly to the transmitter antennas.

9

Page 19: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

3.2 V-BLAST

Illustrated in Figure 3.1, spatial multiplexing or V-BLAST (Vertical BellLabs Layered Space-Time) [3] is proposed as a multiple antenna system. TheV-BLAST architecture breaks the original data stream into M substreamsthat are transmitted on the individual antennas without intercoding amongthe transmitter antennas. If we for simplicity assume that the substreamsare uncoded, the transmission can be seen as using a block code of lengthone. The corresponding codeword can be written as

C =

s1

s2

...sM

. (3.2)

s1

s1 s2s2

s3

s3

s1

s1s2 s2

s3

s3

V-B

LA

ST

Enco

der

V-B

LA

ST

Dec

oder

Figure 3.1: Block diagram of V-BLAST structure with M = 3, N = 3.

The V-BLAST detector decodes the substreams using a sequence ofnulling and cancellation steps. An estimate of the strongest transmittedsignal is obtained by nulling out all the weaker transmit signals using thezero forcing criterion, then subtract this strongest signal from the receivedsignal, proceed to decode the strongest signal of the remaining transmittedsignals, and so on.

3.3 The Alamouti Code

A simple Space-Time Block Code scheme is the famous Alamouti code [9].As shown in Figure 3.2, the Alamouti scheme is designed for two transmitantennas. At time instant n, information symbol s1 is transmitted usingthe first antenna and simultaneously s2 is transmitted through the secondantenna. At time instant n + 1, −s∗2 is transmitted at the first antenna ands∗1 though the second antenna, where (·)∗ denotes the complex conjugate

10

Page 20: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

transpose. The corresponding codeword can be written as

C =[c(n) c(n + 1)

]

=

[s1 −s∗2s2 s∗1

]

.(3.3)

Ala

moutiEncoder

Ala

moutiD

ecoder

ML DecoderModulation

Figure 3.2: Block diagram of an Alamouti system.

The design of the Almouti code has given the codeword a special struc-ture, where independent from the information symbols, the codeword isorthogonal

CC∗ = (s21 + s2

2)I2 . (3.4)

The received signal R for a 2 × 2 MIMO system becomes

r1(0) = h1,1s1 + h1,2s2 + v1 ,

r2(0) = h2,1s1 + h2,2s2 + v2 ,

r1(1) = −h1,1s∗2 + h1,2s

∗1 + v3 ,

r2(1) = −h2,1s∗2 + h2,2s

∗1 + v4 ,

where ri(n) represents the output from the ith antenna at time instance nand vk is zero-mean complex Gaussian noise. The Alamouti decoder buildstwo signals:

s1 = h∗1,1r1(0) + h1,2r

∗1(1) + h∗

1,2r2(0) + h2,2r∗2(1)

s2 = h∗1,2r1(0) − h1,1r

∗1(1) + h2,2r2(0) − h1,2r

∗2(1)

Substituting the equations we have

s1 = (|h1,1|2 + |h1,2|

2 + |h2,1|2 + |h2,2|

2)s1 + e1 ,

s2 = (|h1,1|2 + |h1,2|

2 + |h2,1|2 + |h2,2|

2)s2 + e2 ,

where

e1 = h∗1,1v1 + h1,2v

∗2 + h∗

2,1v3 + h2,2v4 ,

e2 = −h1,1v∗1 + h∗

1,2v2 − h2,1v∗3 + h∗

2,2v4 .

These combined signals s1 and s2 are then sent to the maximum likelihooddecoder.

11

Page 21: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

3.4 Orthogonal Space-Time Block Codes

The Alamouti code is one example of Space-Time Block Codes with or-thogonal design. The designed codeword has either row and/or columnorthogonality independent from the encoded symbols. For instance, codesdesigned for three and four transmit antennas are given by

C =

s1 −s2 −s3 −s4 s∗1 −s∗2 −s∗3 −s∗4s2 s1 s4 −s3 s∗2 s∗1 s∗4 −s∗3s3 −s4 s1 s2 s∗3 −s∗4 s∗1 s∗2

(3.5)

and

C =

s1 −s2 −s3 −s4 s∗1 −s∗2 −s∗3 −s∗4s2 s1 s4 −s3 s∗2 s∗1 s∗4 −s∗3s3 −s4 s1 s2 s∗3 −s∗4 s∗1 s∗2s4 s3 −s2 s1 s∗4 s∗3 −s∗2 s∗1

. (3.6)

More generalized orthogonal designs of Space-Time Block Codes for anynumber of transmit antennas can be found in [6], where the codes wereshown to have very simple detectors. These codes are generally designedto optimize a raw block or bit pairwise error performance (PEP) criteria.PEP is a common measure for error probability, since to determine thecodeword error probability in general is difficult. PEP is the probabilitythat a transmitted codeword C1 is decoded as C2 in the receiver. As thenumber of the antennas at both ends increase, it is hard to design the encoderwith complete orthogonality.

3.5 Linear Dispersive Codes

Another category of the space-time codes is the class of the linear dispersivecodes [7]. The information symbols s = [s1, · · · , sm]T, m ≥ 1, where thesymbol si(i = 1, · · · , m) is chosen from a constellation such as QAM or PSK.We can represent each symbol as

si = αi + jβi ,

where j denotes the imaginary unit. The codewords of the linear dispersivecodes are formed as

C =

Q∑

q=1

Aqxq , (3.7)

where {Aq} represents the weight matrices that define the code, while xq ∈ R

is either the real (αi) or the imaginary (βi) part of the information symbolssi. Note that the weight matrices are known to the receiver. The V-BLAST

12

Page 22: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

technique is the simplest example of such linear codes. Each incoming sym-bol is transmitted once on one antenna at one symbol time. For example,for M = 2, the codeword

C =

[s1

s2

]

(3.8)

can be represented as follows

A1 =

[10

]

, A2 =

[01

]

A3 =

[j0

]

, A4 =

[0j

]

,

and

x1 = <{s1}, x2 = <{s2}

x3 = ={s1}, x3 = ={s2} ,

where <{·} and ={·} extract the real and imaginary part of their arguments,respectively.

Orthogonal Space-Time Block Codes can also be written in linear form ina similar fashion. For example from (3.3) it is seen that the weight matricesin the Alamouti code can be written as

A1 =

[1 00 1

]

, A2 =

[0 −11 0

]

A3 =

[j 00 −j

]

, A4 =

[0 jj 0

]

,

with the real-valued symbols defined as

x1 = <{s1}, x2 = <{s2}

x3 = ={s1}, x4 = ={s2} .

From (3.7) it follows that the codeword C can be rewritten as

vec(C) = Wx , (3.9)

where

W =

......

......

vec(A1) vec(A2) · · · vec(AQ)...

......

...

(3.10)

and

x =[x1 x2 · · · xQ

]T. (3.11)

13

Page 23: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

Then we can rewrite (3.1) in the form of a linear model using properties ofthe Kronecker product and vec operator

y = vec(Y )

= vec(HC) + vec(V )

= vec(HCIL) + vec(V )

= (IL ⊗ H) vec(C) + vec(V )

= (IL ⊗ H)Wx + vec(V ) .

(3.12)

⊗ denotes the Kronecker product. An introduction of the Kronecker productand vec operator can be found in Appendix A. By defining the matrix A as

A = (IL ⊗ H)W (3.13)

andb = vec(V ) , (3.14)

we can simplify (3.12) asy = Ax + b . (3.15)

In [7], it is pointed out that linear dispersive codes are simple to encodeand decode, and apply to any combination of transmit and receive antennas.In the paper, the codes are decoded by either maximum likelihood or bynulling and cancellation. Since the V-BLAST and some orthogonal designedcodes can be written as special case of linear dispersive codes, we are usingthe linear dispersive codes in the simulations.

14

Page 24: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

Chapter 4

Conventional Decoder for

Space-Time Coded System

Various conventional decoders can be applied to decode the signals in theMIMO system. Examples of the decoders include zero-forcing (ZF), V-BLAST, minimum mean-square error (MMSE) and maximum likelihood(ML).

4.1 The Zero Forcing Decoder

A simple linear decoder is the zero-forcing (ZF) decoder, which assumingthat A is invertible, obtains an estimate of the vector x is obtained as

x = A†y . (4.1)

where A† denotes the Moore-Penrose pseudo-inverse of the matrix A, andis defined as A† = (ATA)−1AT. For illconditioned A, the ZF decoderperforms well only in the high SNR region, where in the low SNR region itwill be significant noise enhancement [10].

4.2 The Minimum Mean-Square Error Decoder

The minimum mean-square error (MMSE) decoder minimizes the overallerror due to the noise and mutual interference between the signals fromthe different transmit antennas. Compare with ZF, the MMSE decoder isless sensitive to noise at the cost of reduced signal separation quality. Thecodeword C is decoded using [4]

x =1

MAT(σ2

nIN +1

MAAT)−1y . (4.2)

15

Page 25: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

4.3 Decoding in V-BLAST

The V-BLAST decoder was proposed in [11] as a simple decoder for theBLAST structure. The detection is done by using conventional adaptiveantenna array techniques, i.e. linear combination and nulling.

We can use the matrix A† to estimate the ”strongest” signal xi in thereceived vector. A nulling vector wi is formed by taking the ith row of A†.The choice of the row i is determined by computing norm of each column inA. The ”strongest” signal xi is then estimated as

xi = wTi y . (4.3)

Thereafter, the ”strongest” signal xi is quantized to find the closest point inthe constellation. Assuming that xi = xi , the symbol xi is cancelled fromthe received vector y, resulting in a modified received vector y2:

y2 = y − xi(A)i (4.4)

where (A)i denotes the ith column of A. These steps are repeated until allcomponents are detected.

4.4 The Maximum Likelihood Decoder

Among the mentioned techniques, the maximum likelihood decoder yieldsthe best performance. The performance of Space-Time Codes for a largenumber of antennas is studied using three different decoders: ML, MMSEand ZF in [12]. We assume that the transmitter chooses between the code-words C1, C2, · · · , CQ, where each codeword Ci is uniquely defined by itsinformation symbols s and in linear dispersive code representation from(3.9), (3.13) and (3.15), the derivation of the ML detector begins by firstforming a hypothesis test as follows

C1 : y = Ax1 + b

C2 : y = Ax2 + b

C3 : y = Ax3 + b

...

CQ : y = AxQ + b

where the signal xi are assumed to have equal a priori probabilities. Weknow that

‖y − Ax‖2 = (y − Ax)∗(y − Ax)

= y∗y + x∗A∗Ax − y∗Ax − x∗A∗y

= y∗y + x∗A∗Ax − 2 <{y∗Ax} .

(4.5)

16

Page 26: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

The maximum likelihood decoder computes the estimate x according to

x = arg minx

‖y − Ax‖2

= x∗A∗Ax − 2 <{y∗Ax} .(4.6)

where the minimization is performed over all possible x.If the size of the scalar constellation used in each component of x is D

(e.g. D = 2 for BPSK) and Q transmitter antennas, the decoder has toperform an enumeration over a set of size DQ. For higher-order modulationsuch as 64-QAM this complexity can become prohibitive even for a smallnumber of transmit antennas.

17

Page 27: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

18

Page 28: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

Chapter 5

Sphere Decoding

Maximum-likelihood decoding of a random code over an additive whiteGaussian noise channel requires an exhaustive search over all the possi-ble codeword, and so the computational complexity of the optimal decodingscheme is exponential in the length of the codeword. A new type of thedetection technique called the sphere decoding algorithm [13] is proposed tolower the computational complexity. The principle of the sphere decodingalgorithm is to search the closest lattice point to the received signal withina sphere radius, where each codeword is represented by a lattice point in alattice field [14]. In a two-dimension problem illustrated in Figure 5.1, onecan easily restrict the search by drawing a circle around the received signaljust enough to enclose one lattice point and eliminate the search of all thepoints outside the circle.

Figure 5.1: Geometrical representation of the sphere decoding algorithm.

19

Page 29: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

5.1 Sphere Decoding Algorithm

The sphere decoding algorithm is a simple way to find the solution for x as

y = Ax + b . (5.1)

A lattice can be defined by having each entry of the vector x defined in(3.11). The dimension of the lattice can be defined as

S ∈ DQ (5.2)

where D defined by the modulation method used to encoded the informationsymbols

4 − QAM :D ∈ {−1, +1}

16 − QAM :D ∈ {−3,−1, +1, +3} .(5.3)

The maximum likelihood decoding algorithm is given by

‖b‖2 = ‖y − Ax‖2

= (x − x)∗A∗A(x − x) + ‖y‖2 − ‖Ax‖2 ,(5.4)

where x is the unconstrained maximum likelihood estimate of x, and definedas x = A†y = (ATA)−1ATy. We can rewrite the maximum likelihoodmetric in (4.5) as follows

xML = arg minx∈S

‖y − Ax‖2

= arg minx∈S

(x − x)∗A∗A(x − x) .(5.5)

Based on Fincke Pohst method in [5], a lattice point which lies inside thesphere with radius d has to fulfill the condition

d2 ≥ ‖y − Ax‖2 = (x − x)∗A∗A(x − x) + ‖y‖2 − ‖Ax‖2 . (5.6)

A new constant can be defined as d′2 = d2 − ‖y‖2 + ‖Ax‖2, then (5.6) canbe rewritten as

d′2 ≥ (x − x)∗A∗A(x − x) (5.7)

The matrix A∗A can be decomposed to triangular matrices with Choleskydecomposition (A∗A = U∗U), where U is an upper triangular matrix

U =

u1,1 u1,2 u1,3 · · · u1,m

0 u2,2 u2,3 · · · u2,m

0 0 u3,3 · · · u3,m

0 0...

. . ....

0 0 0 0 un,m

, (5.8)

20

Page 30: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

where ui,j denotes element (i, j) of the matrix U . Further simplification of(5.7) gives

d′2 ≥ (x − x)∗A∗A(x − x)

= (x − x)∗U∗U(x − x)

=

Q∑

i=1

u2i,i

(

(xi − xi) +

Q∑

j=i+1

ui,j

ui,i(xj − xj)

)2

= u2Q,Q(xQ − xQ)2

+ u2Q−1,Q−1

(

xQ−1 − xQ−1 +uQ−1,Q

uQ−1,Q−1

(xQ − xQ))2

+ · · · .

(5.9)

Because of the upper triangular nature of U , one can begin evaluation ofthe last element in x as

u2Q,Q(xQ − xQ)2 ≤ d′2 (5.10)

which leads to⌈

xQ −d′

uQ,Q

≤ xQ ≤⌊

xQ +d′

uQ,Q

. (5.11)

where dae rounds to the nearest symbol value greater than or equal to a.Similarly bac rounds to the nearest symbol value less than or equal to a.

The method employs an iterative search, for every xQ satisfying (5.11),d′2Q−1

= d′2 − u2

Q,Q(xQ − xQ)2 can be defined, and a new condition can bewritten as

u2Q−1,Q−1

(

xQ−1 − xQ−1 +uQ−1,Q

uQ−1,Q−1

(xQ − xQ)

︸ ︷︷ ︸

xQ−1|Q

)2

≤ d′2Q−1 , (5.12)

which is equivalent to

xQ−1|Q −d′Q−1

uQ−1,Q−1

≤ xQ−1 ≤⌊

xQ−1|Q +d′Q−1

uQ−1,Q−1

. (5.13)

In a similar fashion, one proceeds for xQ−2, and so on, stating nested nec-essary conditions for all elements of x.

To ensure that the lattice point is inside the sphere, the initial radiusmust be big enough to enclose at least one lattice point. One method is touse statistical properties of the signal. Note that ‖b‖2/σ2

v has a Chi-Squaredistribution [15] with 2NL degrees of freedom, since each entry of the noiseis an independent N (0, σ2

v) random variable. The probability of the latticepoint inside the sphere can be written as

Pr[‖b‖2 ≤ d2] = Pr[‖b‖2

σ2v

≤d2

σ2v

]

=

∫ d2/σ2v

0

λNL−1

2NLΓ(NL)e−λ/2dλ ,

(5.14)

21

Page 31: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

where

Γ(NL) =

∫ ∞

0

tNL−1e−tdt .

Therefore, one possible choice of the radius d is as a linear function of thevariance of ‖b‖2

d2 = 2αNLσ2v . (5.15)

and α ≥ 1 chosen so that we can be sure that a solution is inside the sphere.The complexity of the sphere decoding algorithm has been shown in [5]

to be of order

O(

n2 × (1 +n − 1

4λ−1d2)4λ−1d2

)

, (5.16)

where n is the lattice dimension, and d is the radius of the sphere, while λis a lower bound for the eigenvalues of the matrix UU∗.

During the implementation of the sphere decoding algorithm, we did onemodification of the original algorithm which further decreases the complex-ity. When a lattice point is found inside the sphere, the radius d to the pointis updated to the new value. Also the new upper bounds are updated, whichleads to less lattice points inside the sphere. If the solution is the closestlattice point, there cannot be any other lattice point inside the sphere.

5.2 Implementation

The following steps shows the implementation of the sphere decoding algo-rithm

Input: R, y, x, d, s1.

1. Set k = Q,d

′2

Q = d2 − ‖y‖2 + ‖Ax‖2,xQ|Q+1 = xQ.

2. (Set bound for xk)

z =d′

k

ukk,

UB(xk) = bz + xk|k+1c,xk = d−z + xk|k+1e − s.

3. (Increase xk)xk = xk + s.If xk ≤ UB(xk) go to 5.

4. k = k + 1;if k = Q + 1, terminate algorithm, else go to 3.

5. (Increase k) k = 1 go to 6.Else k = k − 1,xk|k+1 = xk +

∑Q

j=k+1

ukj

ukk(xj − xj),

d′2

k = d′2

k+1− u2

k+1,k+1(xk+1 − ˆxk+1|k+2)

2, and go to 2.

1distance between two closest lattice points

22

Page 32: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

6. Solution found. Save x and go to 3.

Illustrated in Figure 5.2, we modified the original sphere decoding algo-rithm. When a lattice point is found inside the sphere, the search radiusis updated. Also the upper bounds are recalculated to limit the number oflattice points that need to be searched.

Yes

No

YesNo

No

Yes

Input: U , y, x, d

k = Q

d′2Q = d2 − ‖y‖2 + ‖Ax‖2

xQ|Q+1 = xQ

z =d′

k

uk,k

UB(xk) = bz + xk|k+1cxk = d−z + xk|k+1e − s

xk = xk + s

xk ≤ UB(xk)

k = 1Terminate algorithm

k = Q

k = k + 1

k = k − 1

xk|k+1 = xk +∑Q

j=k+1

ukj

ukk(xj − xj)

d′2k = d

′2k+1 − u2

k+1,k+1(xk+1 − xk+1|k+2)2

Solution foundUpdate radius d.

Figure 5.2: Flowchart of the sphere decoding algorithm, s is distance be-tween constellation points.

23

Page 33: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

24

Page 34: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

Chapter 6

Simulation Results

In this chapter, some simulation results are presented. In order to comparethe performance of the sphere decoding algorithm to other decoding algo-rithms, we use the same definition of the signal to noise ratio (SNR) in allthe simulations. The SNR is defined as

SNR =E{‖HC‖2

F }

E{‖V ‖2F }

=E{Tr{HCC∗H∗}}

E Tr{V V ∗}

=Tr{E{H∗H}E{CC∗}}

E Tr{V V ∗}.

(6.1)

Since H and C are assumed to be statistically independent. Note that

E{H∗H} = NIM (6.2)

and

E{CC∗} = E

Q∑

q=1

Aqxq

Q∑

q′=1

(Aq′xq′)∗

= E

Q∑

q=1

Q∑

q′=1

(AqA∗q′)(xqx

∗q′)

=

Q∑

q=1

(AqA∗q) E{xqx

∗q}

=

Q∑

q=1

(AqA∗q) E{x2

q} .

(6.3)

The weight matrices {Aq} are normalized so that ETr{CC∗} = L. Recallthat each entry of V is an independent N (0, σ2

v) random variable, which

25

Page 35: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

follows that the expected noise variance is

E Tr{V V ∗} = NLσ2v . (6.4)

The SNR definition in (6.1) can be simplified as

SNR =1

σ2v

. (6.5)

6.1 Fixed Radius versus Adaptive Radius

The sphere decoding algorithm in [13] depends on the initial search radius. Ifthe initial search radius is too large, there will be too many lattice points inthe sphere and we may still require an exponential search; if the radius is toosmall there will be no points in the sphere. We compared the performanceof the original sphere decoding algorithm with the initial radius defined in(5.15), against the modified version of the algorithm. For this simulation, weare using the V-BLAST scheme with M = 2 and N = 2. The transmittedcodeword is modulated using a 16-QAM modulator. Illustrated in Figure6.1, the performance of the modified version of the sphere decoding algo-rithm is the same as the original version, but its computational complexityshown in Figure 6.2 is much lower then the original and the maximum like-lihood decoder. FLOPS in the figure is calculated using FLOPS functionin MATLAB, which counts the approximated floating point operations thatalgorithm needed to complete the task.

As seem from the figure, the sphere decoding algorithm with fixed searchradius seems to have low decoding complexity in the low SNR region. Butthis is because the algorithm cannot find any lattice points inside the sphere,and the search is prematurely abandoned. As the SNR increase in thesimulation, the initial search radius becomes smaller and smaller, whichleads to lower decoding complexity.

26

Page 36: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

2 4 6 8 10 12 14 16 1810

−3

10−2

10−1

100

Average SNR (dB)

Ave

rage

bit

erro

r pr

ovab

ility

ML decoder SD with fixed radius SD with adaptive radius

Figure 6.1: Comparison of the performance between maximum likelihooddecoder, the sphere decoding algorithm with fixed initial radius and themodified sphere decoding algorithm.

2 4 6 8 10 12 14 16 1810

3

104

105

Average SNR (dB)

FLO

PS

ML decoder SD with fixed radius SD with adaptive radius

Figure 6.2: Comparison of decoding complexities.

27

Page 37: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

6.2 V-BLAST

In this simulation, we compared the performance of the sphere decodingalgorithm against other decoders including V-BLAST, zero-forcing and themaximum likelihood detection algorithm in V-BLAST scheme, where M = 3and N = 3. Both the sphere decoders and the maximum likelihood decoderoutperform the V-BLAST decoder as well as zero-forcing decoder, as shownin Figure 6.3.

0 5 10 15 20 25 3010

−6

10−5

10−4

10−3

10−2

10−1

100

Average SNR(dB)

Bit

erro

r pr

obab

ility

Maximum likelihood decoderV−BLAST decoderZFSphere decoder (fixed radius)Sphere decoder (adaptive radius)

Figure 6.3: The performance of the decoding algorithms in V-BLASTscheme.

Illustrated in Figure 6.4, the sphere decoding algorithm has lower com-putational complexity then the maximum-likelihood decoding algorithm.

In Figure 6.5, we change the number of transmitter and receiver antennasfrom 2 × 2, up to 5 × 5, the complexities of the sphere decoder with fixedinitial radius are much lower then the maximum likelihood decoder even inthe low SNR region.

28

Page 38: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

0 5 10 15 20 25 30

104

105

106

Average SNR(dB)

FLO

PS

Maximum likelihood decoderV−BLAST decoderZFSphere decoder (fixed radius)Sphere decoder (adaptive radius)

Figure 6.4: Computing complexity in the V-BLAST scheme.

2x2 3x3 4x4 5x510

3

104

105

106

107

108

109

Number of Transmitter and Receiver Antennas

FLO

PS

Maximum Likelihood decoderSphere decoder(SNR=2dB)Sphere decoder(SNR=10dB)Sphere decoder(SNR=20dB)

Figure 6.5: Complexity as function of transmitter and receiver antennas.

29

Page 39: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

6.3 Alamouti Code

The Alamouti code has already an efficient decoding algorithm. So in thiscase, the performance of the sphere decoder is compared with a 2× 2 Alam-outi code scheme using exhaustive maximum likelihood search algorithm.As illustrated in Figure 6.6 that all the decoders have almost the same biterror probabilities. The computational complexities of the sphere decodingalgorithms are lower than the maximum likelihood decoder as shown Figure6.7.

2 4 6 8 10 12 14 1610

−6

10−5

10−4

10−3

10−2

10−1

100

Average SNR(dB)

Bit

erro

r pr

obab

ility

Maximum likelihood decoderSphere decoder (fixed radius)Sphere decoder (adaptive radius)

Figure 6.6: Bit error probability of Alamouti code.

0 5 10 15 20 25 3010

3

104

105

Average SNR(dB)

FLO

PS

Maximum likelihood decoderSphere decoder (fixed radius)Sphere decoder (adaptive radius)

Figure 6.7: Computing complexity of Alamouti code.

30

Page 40: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

6.4 Linear Dispersive Codes

As the number of transmitter antennas increases, it is hard to keep a com-plete orthogonal design of the Space-Time Block Codes. We used lineardispersive codes as in (3.7). The weighting matrices {Aq} in the code wereobtained from the work in [16]. For this simulation, we simulated a MIMOsystem with 8 transmitter antennas and 8 receiver antennas, 12 binary bitsis encoded in each codeword. The performance of the sphere decoder is thesame as the maximum likelihood decoder, but the sphere decoding algorithmhas a significantly lower complexity as shown in Figure 6.8.

0 5 10 15 20 25 3010

5

106

107

108

Average SNR(dB)

FLO

PS

Maximum likelihood decoderV−BLAST decoderZFSphere decoder (adaptive radius)

Figure 6.8: Computing complexity for linear dispersive codes.

6.5 Random Generated Weighting Matrices

In order to demonstrate the effectiveness of the sphere decoding algorithm,we also used a random generated weight matrices {Aq} in (3.7). In thissimulation, we used a 4×4 MIMO system, the 16-QAM modulator is used tomodulate the input-data and encoded using randomly generated weightingmatrices. While the error probability is the same as the maximum likelihooddecoder shown in Figure 6.9, the sphere decoder has lower complexity thenthe maximum likelihood decoder as evident from Figure 6.10.

31

Page 41: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

2 4 6 8 10 12 14 16 1810

−5

10−4

10−3

10−2

10−1

100

Average SNR(dB)

Bit

erro

r pr

obab

ility

Maximum likelihood decoderV−BLAST decoderZFSphere decoder (adaptive radius)

Figure 6.9: Performance of the decoders with randomly generated weightingmatrices, M = 4, N = 4.

0 5 10 15 20 25 3010

4

105

106

107

108

Average SNR(dB)

FLO

PS

Maximum likelihood decoderV−BLAST decoderZFSphere decoder (adaptive radius)

Figure 6.10: Computing complexity for randomly generated weighting ma-trices, M = 4, N = 4.

32

Page 42: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

Chapter 7

Channel Estimation Errors

In previous chapters, we always assumed that we have perfect channel knowl-edge at the receiver, which allows us to compare the performance of differ-ent decoders. However, the channel information is typically not perfect.A channel estimator extracts from the received signal approximate channelcoefficients during the transmission. One method to accomplush this is totransmit pilot tones privor to the transmission, by turning off all transmitterantennas except the ith antenna at some time instance and sending a pilotsignal using ith antenna. The fading coefficients hi,j are then estimated.Another way to estimate the channel fading coefficients is to embed the pi-lot bits inside the signal or send an orthogonal sequence to signals as pilotsignals, one from each transmit antenna [17].

7.1 Error Model

The impact from the channel estimation errors will degrade the performanceof the system. To study the impact of the channel estimation errors on thesphere decoding algorithm, we introduce the error model at the receiver

H = ρH +√

1 − ρ2E (7.1)

where H represent the true channel matrix and E denotes the channelestimation error. The elements of E are assumed to be zero mean, unit-variance and complex Gaussian. Here, ρ ∈ [0, 1] is a measurement of howaccurate the channel estimation is. The value ρ = 1 indicates no estimationerror at all. When ρ decrease, so does the accuracy of the channel estimationdecreases.

7.2 Simulation Results

As shown in Figure 7.1, 7.3, 7.2 and 7.4, the channel estimation errors withdifferent ρ have given the sphere decoding algorithm with adaptive radius

33

Page 43: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

almost the same bit error probability as the maximum-likelihood decoder.As it is clear from the figures, only in high SNR region, the original

sphere decoding algorithm starts to perform poorly. This poor performanceis caused by the length of the initial search radius. The search radius in(5.15) depends only on the noise variance. This cause a problem since chan-nel estimation error is the biggest contributor of the errors in the simulationat the high SNR region.

0 5 10 15 20 25 30

10−0.6

10−0.5

10−0.4

Average SNR(dB)

Bit

Err

or R

ate

Maximum likelihood decoderV−BLASTZFSphere decoder (fixed radius)SD (adaptive radius)

Figure 7.1: Bit error rate with channel estimation error, ρ = 0.9.

0 5 10 15 20 25 3010

−2

10−1

100

Average SNR(dB)

Bit

Err

or R

ate

Maximum likelihood decoderV−BLASTZFSphere decoder (fixed radius)SD (adaptive radius)

Figure 7.2: Bit error rate with channel estimation error, ρ = 0.99.

34

Page 44: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

0 5 10 15 20 25 3010

3

104

105

SNR

FLO

PS

Maximum likelihood decoderV−BLASTZFSphere decoder (fixed radius)SD (adaptive radius)

Figure 7.3: Complexity with channel estimation error, ρ = 0.9.

0 5 10 15 20 25 3010

3

104

105

SNR

FLO

PS

Maximum likelihood decoderV−BLASTZFSphere decoder (fixed radius)SD (adaptive radius)

Figure 7.4: Complexity with channel estimation error, ρ = 0.99.

35

Page 45: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

36

Page 46: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

Chapter 8

Conclusions and Future

Work

8.1 Conclusions

In this master’s thesis work, we have focused on a multiple antenna systemin a flat fading environment. We compared the performance of four decoderswith different techniques, including zero-forcing, V-BLAST, maximum like-lihood and sphere decoding algorithm. The zero-forcing and V-BLAST de-coder are simple decoders with low complexities. But these two decodershave low performance compared to the maximum likelihood decoder, whichin some sense is the optimal decoder, but it has high decoding complexity.

We used the concept of a linear system model to show that the spheredecoding algorithm offers near maximum likelihood performance with lowerdecoding complexity. For the original version of the sphere decoding algo-rithm, the initial radius of the sphere for the search is important to deter-mine, since the complexity depends on the search radius. During the de-velopment process, a modified version of the sphere decoding algorithm hasinvestigated, which operate on the assumption that after each lattice pointfound to be inside the sphere, the radius is decreased to the distance betweenthe best solution and the received signal vector. In general, the sphere de-coding algorithms outperform the decoder with V-BLAST and zero-forcingtechniques, with lower complexity than the maximum likelihood decoder inhigh order constellation and large numbers of antenna.

We have also investigated the impact on the performance due to thechannel estimation errors. In the computer simulation, the performance ofthe sphere decoding algorithms are very close to the maximum likelihooddecoder. In the high SNR region, it seems that the original version of thesphere decoding algorithm has poor performance. This is because the initialsearch radius has not taken channel estimation errors into consideration.In a real situation, this case will not be very common, since when noise

37

Page 47: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

variance is small, the channel estimator will be much accurate. With themodified algorithm, the sphere decoding algorithm is independent of theinitial search radius, which leads to a high performance algorithm with lowercomputational complexity compared to the maximum likelihood decodingalgorithm.

8.2 Future Work

The theoretical ground of the sphere decoding algorithm has been lay downin [5], and we investigate the performance of this algorithm in data simula-tion. It is very interesting to investigate the performance of the algorithmin real live application. The complexity study of the algorithm in this workhas been based on statistical model. A worst-case scenario has been neverstudied, this limitation will be more noticeable in the application.

The computational complexity of the sphere decoding algorithm withfixed radius depends on the initial search radius. We have used the noisevariance to determine the length of the radius. In the computer simulationswith channel estimation errors, it seems that the system has poor perfor-mance in the high SNR region. A new method should be investigated tofind a new way to determine the initial search radius, which has to take thechannel estimation errors into consideration.

Furthermore, a more complex channel model can be studied for thisalgorithm, such as channel with memories. Then it is interesting to compareits performance with decoders that use decision feedback.

38

Page 48: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

Appendix A

The Kronecker Product

The Kronecker product and the vec operator are introduced in this chapter.They both exihibit many useful properties. In this thesis only a brief intro-duction is given and for further information the reader is referred to [18].

A.1 The vec Operator

The vec operator transforms a matrix to a vector by stacking its columnson top of each other. If X is a matrix of order (m × n) and xi is the ithcolumn of X the vec operator is defined by

vec X =

x1

x2

...xn

. (A.1)

From (A.1) it immediately follows that vecX is an mn column vector.One obvious but still useful property of the vec operator is that ‖X‖2

F =‖vec X‖2

F . It is also obvious that vec (X + Y ) = vec X + vecY .

A.2 The Kronecker Product, Definition

The Kronecker product between a matrix X of order (m× n) and a matrixY (o × p) is defined as:

X ⊗ Y =

x11Y x12Y . . . x1nY

x21Y x22Y . . . x2nY...

.... . .

...xm1Y xm2Y . . . xmnY

(A.2)

Where xij denotes the ith, jth element of X. Hence, X ⊗ Y is a matrix oforder (mo × np).

39

Page 49: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

A.3 A Useful Property

The following property of the Kronecker product and the vec operator isessential to the proposed algorithm:

Theorem 1 For the matrices X, Y and Z the following property holds:

vec(XY Z) = (ZT ⊗ X) vec Y (A.3)

A proof of this theorem can be found in [18]. This property of the Kroneckerproduct makes it easier to maintain the structure of the data model whileiterating.

40

Page 50: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

Bibliography

[1] Georgios B. Giannakis, Yingbo Hua, Petre Stoica, and Lang Tong,Signal Processing Advances in Wireless and Mobile Communications,Volume 2: Trends in Single- and Multi-User Systems, vol. 2, PrenticeHall PTR, 1 edition, October 2000.

[2] I. E. Telatar, “Capacity of multi-antenna gaussian channels,” EuropeanTransactions on Telecommunications, vol. 6, no. 10, pp. 585–595, 1999.

[3] Gerard J. Foschini, “Layered space-time architecture for wireless com-munication in a fading environment when using multiple antennas,”Bell Laboratories Technical Journal, vol. 1, no. 2, pp. 41–59, August1996.

[4] Helmut Blcskei and Arogyaswami J. Paulraj, Multiple-input multiple-output (MIMO) wireless systems, pp. 90.1–90.14, 2002.

[5] U. Fincke and M. Pohst, “Improved methods for calculating vectors ofshort length in a lattice, including a complexity analysis,” Mathematicsof Computation, vol. 44, no. 170, pp. 463–471, April 1985.

[6] Vahid Tarokh, Hamid Jafarkhani, and A.R. Calderbank, “Space-timeblock codes from orthogonal designs,” IEEE Trans. on InformationTheory, vol. 45, no. 5, pp. 1456–1467, July 1999.

[7] Babak Hassibi and Betrand M. Hochwald, “High-rate codes that arelinear in space and time,” IEEE Trans. on Information Theory, vol.48, no. 7, pp. 1804–1824, July 2002.

[8] Kai Yu, “Modeling of multiple-input multiple-output radio propagationchannels,” Licentiate thesis TRITA–S3–SB–0235, Royal Institute ofTechnology, Oct. 2002.

[9] Siavash M. Alamouti, “A simple transmit diversity technique for wire-less communications,” IEEE Journal on Select Areas in Communica-tions, vol. 16, no. 8, pp. 1451–1458, October 1998.

[10] John G. Proakis and Masoud Salehi, Communication Systems Engi-neering, Prentice Hall PTR, 1994.

41

Page 51: The Sphere Decoding Algorithm applied to Space-Time Block Codese98_sch/main.pdf · 2003-06-15 · The Sphere Decoding Algorithm applied to Space-Time Block Codes by Shi Chen ... Among

[11] JR. G. David Forney, “A bounded-distance decoding algorithm forthe leech lattice, with generalizations,” IEEE Trans. on InformationTheory, vol. 35, no. 4, pp. 906–909, August 1989.

[12] E. Biglieri, Giprgio Taricco, and Antonia Tulino, “Performance ofspace-time codes for a large number of antennas,” IEEE Trans. onInformation Theory, vol. 48, no. 7, pp. 1794–1803, July 2002.

[13] E. Viterbo and E. Biglieri, “A universal lattice decoder,” Colloq.GRETSI, pp. 611–614, September 1993.

[14] J. Conway and N. Sloane, Sphere Packing, Lattices and Groups,SpringerVerlag, 3 edition, 1998.

[15] Steven M. Kay, Fundamentals of Statistical Signal Processing, Volume2: Detection Theory, vol. 2, Prentice Hall PTR, 1 edition, January1998.

[16] George Jongren, Utilizing channel state information in space-time cod-ing: Performance limits and transmission techniques Signalbehandling,Ph.D. thesis, Royal Institute of Technology, Juny 2003.

[17] Vahid Tarokh, Ayman Naguib, Nambi Seshadri, and A. R. Calderbank,“Space-time codes for high data rate wireless communication: Perfor-mance criteria in the presence of channel estimation errors, mobility,and multiple paths,” IEEE Trans. on Communications, vol. 47, no. 2,pp. 199–, February 1999.

[18] Alexander Graham, Kronecker Products and Matrix Calculus WithApplications, Halsted Press, 1981.

42