STC

23 downloads 322 Views 2MB Size Report
MIMO Wireless Communications. Speaker: ... Date: 2008 / 07 / 15. Department of Communication Engineering NCTU ... L. Zheng and D. N. C. Tse, IEEE-IT, 2003 ...
MIMO Wireless Communications

Speaker: Sau-Hsuan Wu Date: 2008 / 07 / 15

Department of Communication Engineering NCTU

Outline  MIMO wireless channels  MIMO transceiver  MIMO precoder

2

2

Outline  MIMO wireless channels  MIMO transceiver  MIMO precoder

3

3

MIMO System Model  N TX antennas and M RX antennas (flat-fading case)

  

: M x N MIMO channel matrix : N x T Transmit matrix : M x T Receive matrix

4

4

MIMO Technology  MIMO transmitter and receiver  Space - Time Code (STC) 1. High link quality due to dual (TX-RX) diversity 2. Create multiple signal copies thru MIMO channels  Spatial Multiplexing (SM) 1. High spectral efficiency due to spatial multiplexing 2. Create spatial degrees of freedom for transmission of multiple data streams simultaneously

5

5

6

6

Transmission Schemes 2x2 (N=2 ; T=2) Matrix A (STC)

Quasi-Orth. (STC)

4x4 (N=4 ; T=4)

7

7

Transmission Schemes 2x1 (N=2 ; T=1) Matrix B (STC - SM)

Matrix C (SM)

4x4 (N=4 ; T=4)

8

8

Space - Time Coding (STC)

Space - Time Code

9

9

 Are there any advantages for using space - time code?  A practical performance criterion is the probability of error which is particularly important when coding over a small number of blocks where the Shannon capacity is zero

 Consider communications over Rayleigh fading channels  For BPSK over a Rayleigh channel with variance E{ ρ2}=1 ⇒ Pe ≅ 1/ (4Eb/N0)  For DPSK

⇒ Pe ≅ 1/ (2Eb/N0)

 For coherent FSK

⇒ Pe ≅ 1/ (2Eb/N0)

 For non-coherent FSK ⇒ Pe ≅ 1/ (Eb/N0)

Space - Time Code

10 10

Space - Time Code  How do people usually do to combat fading?  Diversity techniques • Frequency diversity  maximal ratio combining (MRC) For BPSK with MRC: • Temporal diversity  Interleaving • Spatial diversity  using multiple TX and/or RX antennas  Beamforming  Antenna selection

11 11

Space - Time Code

12 12

• Spatial plus temporal diversity using multiple TX and/or RX antennas and multiple time slots  Space-time codes

Space - Time Code

13 13

 Is there a formal definition for diversity?  We look at this from the sense of outage probability  To achieve capacity, a coding is assumed to take place across fading blocks, which entails large delays  We consider a coding scheme which is done just across one fading block

Def 1:

The outage probability for a transmission rate of R and a given transmission strategy p(X)

Space - Time Code

14 14

When one use a white Gaussian codebook

 At high SNR, the outage probability is the same as the frame error probability (FER) in terms of the SNR exponent -- L. Zheng and D. N. C. Tse, IEEE-IT, 2003

Space - Time Code Def 2:

15 15

A coding scheme which has an average error probability Pe (or an outage probability Pout) as a function of SNR that behaves as

is said to have a diversity of order d

Space - Time Code  A systematic way to exploit space-time diversity -- Tarokh et al. IEEE-IT 1999  Consider a codeword sequence x = [xT(0),…,xT(N)], where x (k)=[x1(k),… xMt(k)]T  Given the perfect CSI, the pair-wise error probability (PEP) between x and e can be bounded from above by

where Km,n is the Ricean coefficient, Es=P / Mt

16 16

Space - Time Code λi are the eigenvalues of A(x,e)=B(x,e)HB(x,e), and

 For Rayleigh fading channels (Km,n =0), we have

17 17

Space - Time Code

18 18

 Let q denote the rank of A(x,e), then we have

 According to Def 2 for the diversity order, the diversity order using space-time coding is qMr  B(x,e) has to be full row rank for any codewords x and e to achieve the maximum diversity Mt Mr

Space - Time Code

19 19

 A natural question that arises is, how many codewords can we have that allows us to attain a certain diversity order? Def 3:

A coding scheme which has a transmission rate of R(SNR) as a function of SNR is said to have a multiplexing gain r if

where the constellation size is also allowed to become larger with SNR

Space - Time Code Theorem 1: For N > Mt + Mr -1, and K = min(Mt, Mr), the optimal tradeoff curve d*(r) is given by the piecewise linear function connecting points in (k, d*(k)), k = 0,…,K, where d*(k) = (Mr – k) (Mt – k)  If r = k is an integer, this can be interpreted as using (Mr – k) receive and (Mt – k) transmit antennas to provide diversity, while using k antennas to provide multiplexing gain

20 20

STC - Matrix A  Transmit Matrix  For 2 x 2 MIMO system

 For 4 x 4 MIMO system

21 21

STC - Matrix A  Receiver Design [1]

 At the receiver:

Diversity order is two !

22 22

STC - Matrix A [1]

23 23

24 24

STC - Matrix A  Similarly, for four TX antennas, we have

Diversity order is only two!

STC - Matrix A (Simulation Results)  2 x 2 STC (Matrix A)  (2 x 2) IID Fading Channel Model (FdTs = 0.001)

25 25

STC - Matrix A (Simulation Results)  2 x 2 STC (Matrix A)  (2 x 2) IID Flat Fading Channel Model (Code Rate = 1/2)

26 26

STC - Matrix A (Simulation Results)  2 x 2 STC (Matrix A)  (2 x 2) SCM Channel Model (Urban, Marco, 30 Kmh)

27 27

STC - Matrix A (Simulation Results)  4 x 4 STC (Matrix A)  IID Flat Fading Channel Model (FdTs = 0.001)

28 28

STC - Matrix A (Simulation Results)  4 x 4 STC (Matrix A)  IID Flat Fading Channel Model (Code Rate = 1/2)

29 29

STC - Matrix A (Simulation Results)  4 x 4 STC (Matrix A)  SCM Channel Model (Urban, Marco, 30 Kmh)

30 30

STC - Quasi-Orthogonal Scheme  Transmit Matrix  For 4 x 1 MIMO system

31 31

STC - Quasi-Orthogonal Scheme  Receiver Design [2] (1) Let where

and is an unitary matrix

(2) At the receiver:

32 32

STC - Quasi-Orthogonal Scheme

where

(3) Let

and

33 33

STC - Quasi-Orthogonal Scheme (4) Define a filter

Note that the two subsystems can be combined as

34 34

STC - Quasi-Orth. (Simulation Results)  4 x 4 STC (Quasi-Orthogonal)  IID Flat Fading Channel Model (FdTs = 0.001)

35 35

STC - Quasi-Orth. (Simulation Results)  4 x 4 STC (Quasi-Orthogonal)  IID Flat Fading Channel Model (Code Rate = 1/2)

36 36

STC - Quasi-Orth. (Simulation Results)  4 x 4 STC (Quasi-Orthogonal)  SCM Channel Model (Urban, Marco, 30 Kmh)

37 37

STC - Matrix B  Transmit Matrix  For 4 x 2 MIMO system

38 38

STC - Matrix B  Receiver Design  At the receiver:

(1) Consider the symbols X1 ~ X4 at first

39 39

40 40

STC - Matrix B

where

,

41 41

STC - Matrix B and

(2) Let the filter

(Orthogonal matrix: P P H = P H P = I )

and we have

STC - Matrix B (3) Similarly, considering the symbols X5 ~ X8, we have

Therefore, X5 ~ X8 can be detected by the same algorithm given in step (1) and (2)

42 42

STC - Matrix B (Simulation Results)  4 x 4 STC (Matrix B)  IID Flat Fading Channel Model (FdTs = 0.001)

43 43

STC - Matrix B (Simulation Results)  4 x 4 STC (Matrix B)  IID Flat Fading Channel Model (Code Rate = 1/2)

44 44

STC - Matrix B (Simulation Results)  4 x 4 STC (Matrix B)  SCM Channel Model (Urban, Marco, 30 Kmh)

45 45

Space - Time Trellis Code (STTC)

46 46

 Code construction example (8-state STTC with 2 transmit antennas (8-PSK))  Assuming that the input to the encoder at time k is the 3 input bits , the output of the encoder at time k is

where x1k and x2k are the symbols transmitted at the first and second transmit antennas respectively

Space - Time Trellis Code (STTC)

47 47

 Algorithm  ML decoder where C : STTC code book ; K : sample size  ML decoder is implemented as a Viterbi algorithm where the trellis path with the smallest accumulated metric is chosen Advantage: • Good tradeoff between diversity and coding gain • High code rate can be achieved

Shortage: High decoding complexity

Space - Time Trellis Code (STTC)  Example [3]:

48 48

Space - Time Trellis Code (STTC)  Other examples  4-PSK, Mt =2 at 2 b/s/Hz 4 state

8 state

32 state 16 state

49 49

Space - Time Trellis Code (STTC)  FER for two transmit antennas and one receive antenna Diversity order = 2

50 50

Space - Time Trellis Code (STTC)

51 51

 FER for two transmit antennas and two receive antennas Diversity order = 4

Space - Time Trellis Code (STTC)  8-PSK, Mt =2 at 3 b/s/Hz

16 state 8 state

32 state

52 52

Space - Time Trellis Code (STTC)

53 53

 FER for two transmit antennas and one receive antenna Diversity order = 2

Space - Time Trellis Code (STTC)

54 54

 FER for two transmit antennas and two receive antennas Diversity order = 4

55 55

Spatial - Multiplexing (SM)

56 56

SM - Matrix C  Transmit matrix  For 2 x 2 MIMO system

For 4 x 4 MIMO system

SM - Matrix C  Receiver Design  For 4 x 4 MIMO system, at the receiver:

where N is white Gaussian distributed  Maximum Likelihood (ML) receiver (Optimal):

57 57

SM - Matrix C  Comments  Multi - dimensional vector sequence search is required  Exhaustive search method is exponentially complex  Reduced - complexity solutions: 1. Spherical decoding 2. BLAST

58 58

SM - Matrix C (Sphere Decoding) [6]

59 59

 A technique for solving y = Ax  Main idea of sphere decoding is to reduce computational complexity of ML detector  Searches over only lattice points in S that lies in a certain hypersphere of radius d around the received signal y  Requires only polynomial complexity

 Sphere detector evaluates all X that satisfy:

SM - Matrix C (Sphere Decoding)

60 60

 There are two questions for sphere decoder:  How to choose the radius d ?  How to tell which lattice points are inside the sphere ?

 Choosing d too large leads to high complexity, while choosing d too small results in an empty sphere  A successive procedure based on back-substitution (e.g., QR) is suggested

SM - Matrix C (Sphere Decoding)

61 61

 Back-substitution procedure: Basic Idea: Determine all lattice points in a sphere of dimension N with radius d by successively determining all lattice points in spheres of lower dimensions 1,2,…,N−1 with radius d Example (Step 1) Decompose H = QR, we have

SM - Matrix C (Sphere Decoding)

62 62

where Q is an unitary matrix, and R is an upper triangular matrix (Step 2) Starts with the last layer search (1-dim) and successively detected from the lower to upper layers (Step 3) Stops until the first layer (N dimension) is detected

SM - Matrix C (Sphere Decoding)

63 63

 BER performance evaluation of sphere detector with four transmit and receive antennas [6]

SM - Matrix C (BLAST)  BLAST Transceiver algorithm [4] [5]

(1) Ordering (2) Interference nulling (e.g., MMSE or ZF) (3) Interference cancellation (e.g., SIC or PIC)

64 64

SM - Matrix C (BLAST)  1st Iteration  Interference Nulling (decoupling N transmitted signals)

a) Decorrelating (ZF) detector: b) MMSE :  Symbol Decision: Assume that X1 is the detected symbol

65 65

SM - Matrix C (BLAST)  Interference Cancellation

 2nd Iteration  Interference Nulling a) Zero Forcing : b) MMSE :

66 66

SM - Matrix C (BLAST)

67 67

 Symbol Decision: Assume that X2 is the detected symbol (Without the interference X1  More Precise !)  Interference Cancellation

 3rd, 4th iterations are similar and X3, X4 are detected !

SM - Matrix C (Simulation Results)  2 x 2 SM with VBLAST receiver (Matrix C)  IID Flat Fading Channel Model (FdTs = 0.001)

68 68

SM - Matrix C (Simulation Results)  2 x 2 SM with VBLAST receiver (Matrix C)  IID Flat Fading Channel Model (Code Rate = 1/2)

69 69

SM - Matrix C (Simulation Results)  2 x 2 SM with VBLAST receiver (Matrix C)  SCM Channel Model (Urban, Marco, 30 Kmh)

70 70

SM - Matrix C (Simulation Results)  2 x 2 SM with ML receiver (Matrix C)  IID Flat Fading Channel Model (FdTs = 0.001)

71 71

SM - Matrix C (Simulation Results)  4 x 4 SM with VBLAST receiver (Matrix C)  IID Flat Fading Channel Model (FdTs = 0.001)

72 72

SM - Matrix C (Simulation Results)  4 x 4 SM with VBLAST receiver (Matrix C)  IID Flat Fading Channel Model (Code Rate = 1/2)

73 73

SM - Matrix C (Simulation Results)  4 x 4 SM with VBLAST receiver (Matrix C)  SCM Channel Model (Urban, Marco, 30 Kmh)

74 74

SM - Matrix C (Simulation Results)  4 x 4 SM with ML receiver (Matrix C)  IID Flat Fading Channel Model (FdTs = 0.001)

75 75

76 76

Bit - Interleaved Coded Modulation

77 77

System Model  Block diagram

MIMO OFDM

Convolutional Code  Encoder (Binary rate ½ convolutional code) [7]  Generator polynomial

 Block diagram

78 78

Convolutional Code  Decoder (Viterbi decoder)  Trellis Module

79 79

Convolutional Code  Trellis diagram

80 80

81 81

Convolutional Code  Decoder’s Task  Recover length-L codeword codeword y

from the garbled

82 82

Convolutional Code  Viterbi algorithm  Suppose there are M codewords equal probability  Given the received sequence y, decoded output if

with

is chosen as the

Convolutional Code  Assume the channel is memoryless; we have

83 83

84 84

Convolutional Code  Distance (Metric) between two adjacent nodes

 A path from a to b ⇒ a codeword code Distance from a to b for :

of convolutional

Convolutional Code



is chosen by the trellis path from a to b with the smallest accumulated metric

85 85

Convolutional Code  Soft-input Viterbi algoruthm  Soft input (to the Viterbi decoder):

where we defined the log-likelihood ratio as the metric:

86 86

Convolutional Code  Log-likelihood ratio can be derived by the demodulator:

87 87

Convolutional Code  Sliding-window decoding with truncation length L

 Five constraint lengths rule:  If the truncation length is larger enough (≧ 5m) then the survivors will be of common tail (m: 1.Total encoder memory = 2.# of shift register)

88 88

Convolutional Code  Survivor Truncation  Finite memory size  Finite decoding delay  Three strategies for survivor truncation: 1. Fixed state truncation 2. Majority-vote truncation 3. Best state truncation

89 89

Convolutional Code Example: L=4  Decode the first branch:

90 90

Convolutional Code Approach 1: Fixed State Truncation  Regard a fixed state as the start of the trace back  Decide the output bit by a trace with minimum accumulated distance

91 91

Convolutional Code Approach 2: Majority Vote Truncation  Regard all states as the start of the trace back  Decide the output bit by majority vote (0 or 1)

92 92

Convolutional Code

93 93

Approach 3: Best State Truncation  Regard a state with the minimum accumulated metric (Best state) as the start of the trace back  Decide the output bit by a trace with minimum accumulated distance

Convolutional Code Example: L=4  Decode the first branch:

94 94

Convolutional Code  Decode the second branch:

95 95

Convolutional Code  Decode the k-th branch:

96 96

Convolutional Code  Decode the (Total length – L+1) to final branch

97 97

Simulation Results

98 98

 Comparison between Soft decision & Hard decision  AWGN Channel Model

Simulation Results  Comparison between different truncation lengths  AWGN Channel Model

99 99

Simulation Results

100 100

 Comparison between different truncation strategies  AWGN Channel Model

Block Interleaver

101 101

 A block interleaver is defined by a two step permutations [7]: (1) The first ensures that adjacent coded bits are mapped onto nonadjacent subcarriers

(2) The second permutation ensures that adjacent coded bits are mapped alternately onto less or more significant bits of the constellation, thus avoiding long runs of lowly reliable bits

Block Interleaver

102 102

 The de-interleaver, which performs the inverse operation, is also defined by two permutations: (1) First permutation:

(2) Second permutation:

Note: The first permutation in the de-interleaver is the inverse of the second permutation in the interleaver, and conversely

Block Interleaver

103 103

 Permutation Parameters Ncpbs

Number of coded bits per the allocated subchannels per OFDM symbol

Ncpc

Number of coded bits per subcarrier, i.e., 1, 2, 4 or 6 for BPSK, QPSK, 16-QAM, or 64-QAM, respectively

s

= ceil( Ncpc / 2 )

k, j

Index of the coded bit before the first permutation

mk

Index of that coded bit after the first and before the second permutation

jk

Index after the second permutation, just prior to modulation mapping

mj

Index of that bit after the first and before the second permutation

kj

Index of that bit after the second permutation

Block Interleaver  Operating parameters for block interleaver

104 104

Block Interleaver  Block sizes of the Bit Interleaver

105 105

Rate Adaptation

106 106

 Rate adaptation is a key functionality to cope with timevarying channel conditions and to maximize the throughput of point-to-point wireless links  Design a channel code with code rate k / n (e.q. (n,k) convolutional code) is complex and impractical  To generate code rates of 2/3, 3/4, 5/6, and 7/8, the rate 1/2 channel encoder outputs shall be punctured

Rate Adaptation

107 107

 Puncturing / Depuncturing

Example: (Soft-input Viterbi algorithm)  Soft metric (log-likelihood ratio) for each binary input:

Rate Adaptation

108 108

 Puncture patterns and serialization for convolution code [7]

Rate Adaptation

109 109

 Supported modulations and inner (TCM) code rates

Rate Adaptation

110 110

 By adjusting the constellation size of modulation, code rate of channel coding and puncture patterns, a tunable multi-rate communication can be realized  Based on a required packet error rate (PER), there exists a tradeoff between  Constellation Size (Modulation scheme)  Code Rate  Received SNR

STC - Matrix A (Simulation Results)

111 111

 2 x 2 STC (Matrix A)  (2 x 2) IID Flat Fading Channel Model (Code Rate = 1/2)

STC - Matrix A (Simulation Results)

112 112

 2 x 2 STC (Matrix A)  Tradeoff between code rate and constellation size under a fixed BER (FER)

STC - Matrix A (Simulation Results)  4 x 4 STC (Matrix A)  IID Flat Fading Channel Model

113 113

STC - Quasi-Orth. (Simulation Results)  4 x 4 STC (Quasi-Orthogonal)  IID Flat Fading Channel Model

114 114

STC - Matrix B (Simulation Results)  4 x 4 STC (Matrix B)  IID Flat Fading Channel Model

115 115

SM - Matrix C (Simulation Results)

116 116

 2 x 2 SM with VBLAST receiver (Matrix C)  IID Flat Fading Channel Model (With Channel Coding)

SM - Matrix C (Simulation Results)  4 x 4 SM with VBLAST receiver (Matrix C)  IID Flat Fading Channel Model

117 117

Reference

118 118

[1] S. M. Alamouti, "A simple transmit diversity technique for wireless communications," IEEE JSAC, vol. 16, no 8, pp. 1451-1458, Oct. 1998 [2] H. Jafarkhani, "A Quasi-Orthogonal Space-Time Block Code," IEEE Trans. on Communications, vol. 49, no. 1, pp. 1-4, 2001 [3] V. Tarokh, N. Seshdri and A. R. Calderbank, “Space-time codes for high data rate wireless communication: Performance analysis and code construction,” IEEE Trans. Inform. Theory, vol. 44, no. 2, pp. 744-765, Mar. 1998

Reference

119 119

[4] G. J. Foschini, “Layered space-time architecture for wireless communication in a fading environment when using multiple antennas,” Bell Labs Syst. Tech. J., vol. 1, pp. 41-59, Autumn 1996 [5] P. W. Wolnainsky, G. J. Foschini, G. D. Golden and R. A. Valenzuela, “Detection algorithm and initial laboratory results using V-BLAST space-time communication architecture,”Electronic Letters, vol. 35, no. 1, Jan. 1999 [6] E. Zimmermann, W. Rave and G. Fettweis, “On the complexity of sphere decoding,” in Proc. WPMC 2004

Reference

120 120

[7] 802.16, IEEE Standard for Local and metropolitan area networks, Part 16: Air Interface for Fixed Broadband Wireless Access Systems [8] Diggavi et al, “Great expectations — The value of spatial diversity in wireless networks,” Proceeding of IEEE 2004