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