Wireless Communication Systems
@CS.NCTU
Lecture 5: Multi-User MIMO (MU-MIMO)
Instructor: Kate Ching-Ju Lin (林靖茹)
1
Agenda
• Interference Nulling
• Zero-forcing Beamforming (802.11ac)
• Interference Alignment
• Network MIMO
2
Cross-Link Interference
• Problem:
⎻ Any two nearby links cannot transmit simultaneously on the same frequency
• Solution:
⎻ A transmitter with multiple antennas can actively cancel its interfering signals at nearby receiver(s)
3
Interference Nulling
• Signals cancel each other at Alice’s receiver
• Signals don’t cancel each other at Bob’s receiver
⎻ Because channels are different
⎻ Bob’s receiver can remove Alice’s interference via ZF decoding
Alice
Bob
x
αx' βx'
h1
h2
y = hx + (h1α+h2β)x’
Nulling: make (h1α+h2β)=0 à α = -(h2/h1)β
y’ = h’x + (h1aα+h1bβ)x’
y” = h”x + (h2aα+h2bβ)x’
à
≠ 0
Agenda
• Interference Nulling
• Zero-forcing Beamforming (802.11ac)
• Interference Alignment
• Network MIMO
5
802.11ac
• From 802.11a/b/g, to 802.11n, to 802.11ac
⎻ AP can be more and more powerful à supporting multiple antennas
⎻ But, how about mobile devices? à usually light-
weight and small size à limited number of antennas
6
Cannot leverage multiplexing gains if clients only have a single antenna
802.11ac
• 802.11ac adopts multiuser MIMO (MU-MIMO)
⎻ Involve multiple clients in concurrent transmissions
⎻ Extract the multiplexing gain
⎻ Maximal number of clients (streams) = number of antennas at the AP
⎻ Only support downlink MU-MIMO now
7
Cross-Stream Interference
• Say the AP send x1, x2 and x3 to client 1, 2 and 3, respectively
⎻ If the AP simply uses each antenna to send one stream,
⎻ Each client receives the combined signal of x1, x2 and x3
⎻ x2 and x3 are cross-stream interference for client 1
8
x1 x2 x3
Client 1
Client 2
Client 3
Channel Model
9
x1 x2 x3
Client 1
Client 2
Client 3 h1
h2 h3
h1 = [h11 h12 h13]T h2 = [h21 h22 h23]T h3 = [h31 h32 h33]T
y1 = h11x1 + (h12x2 + h13x3) + n1
Interference
y2 = h22x2 + (h21x1 + h23x3) + n2 y3 = h33x3 + (h31x1 + h32x2) + n3
How to Remove Cross-Stream Interference?
• Zero-Forcing Beamforming (ZFBF)
⎻ Also called zero-forcing precoding or null-steering
⎻ Linear precoder that maximizes the output SNR
• The AP uses its antennas to actively cancel the interfering streams at a particular client
⎻ In the previous example, the AP cancel x2 and x3 at client 1
cancel x1 and x3 at client 2 cancel x1 and x2 at client 3
⎻ Steer a beam toward to its intended receiver
• How to suppress all the interference using the limited number of antennas?
10
11
Zero-Forcing Beamforming (ZFBF)
• Use all the antennas to send every stream
• Each stream i is precoded using ZFBF weight vector wi = [wi1 wi2 … wiN]
• The precoded signal wijxi is sent by the j-th antenna
• The j-th antenna transmit the summation of all the precoded signal (w1jx1 + w2jx2 + … + wNjxN)
12
h1
h2 h3 [w31 w32 w33] * x3 [w21 w22 w23] * x2 [w11 w12 w13] * x1
Zero-Forcing Beamforming (ZFBF)
13
h1
h2 h3
[w31 w32 w33] * x3 * √P3 [w21 w22 w23] * x2 * √P2 [w11 w12 w13] * x1 * √P1
Client 1
Client 2
Client 3
yi = p
Pihiwixi + X
j6=i
pPjhiwjxj + ni
Interference
Null the interference:
à
Matrix: y = HWpPx + n à Let W be the pseudo inverse of H Then, y = p
Px + n0
W = H† = H⇤(HH⇤) 1
Pjhiwj = 0, j = i
SNR of ZFBF
• ZFBF is essentially equivalent to ZF, but just performed by the transmitter
• The achievable SNR is determined by the
channel correlation among concurrent clients
14
x2
antenna 1 antenna 2
x1 x’1
~h2 = (h12, h22)
~h1 = (h11, h21)
~y = (y1, y2)
θ
|x01| = |x1| cos(90 ✓) = |x1| sin(✓)
MU-MIMO Bit-Rate Selection
AP
A C
B hA
hB
hC
ant. 2 ant. 1
Alice
Bob
ant. 2
Alice
Chris
ant. 1
ant. 2 ant. 1
Bob
Chris
Select a proper rate based on SNRZFBF
MU-MIMO User Selection
ant. 2 ant. 1
Alice
Bob
ant. 2
Alice
Chris
ant. 1
ant. 2 ant. 1
Bob
Chris
AP
A C
B hA
hB
hC
Grouping different subsets of clients as concurrent receivers
results in different sum-rates à Need proper user selection
MU-MIMO User Selection
• Exhaustive search:
⎻ Calculate the sum-rate for each of groups
⎻ Pick the one with the maximal sum-rate
• Greedy:
⎻ sequentially add a user producing the maximal rate after projecting on the subspace of the users that have been selected
AP
A C
B hA
hB
hC
N k
Grouping different subsets of clients as concurrent receivers
results in different sum-rates à Need proper user selection
MU-MIMO Power Allocation
• Achievable sum-rate for a set of user S
18
Power allocated to user i R = max
pi
i S
log(1 + pi|hiwi|2) subject to
i S
wi 2pi Pmax
MU-MIMO Power Allocation
• Optimal power allocation: Waterfilling
19
pi = µ
wi 2 1
+
, where
(x)+ = max{x, 0}
µ is the water level satisfying
i S
(µ wi 2)+ = P
[1] Yoo et.al. “On the optimality of multiantenna broadcast scheduling using zero-forcing beamforming,” IEEE JSAC, 24(3):528–541, March 2006.
[2] Huang et.al., "User Selection for Multiuser MIMO Downlink With Zero-Forcing Beamforming," in IEEE TVT, vol. 62, no. 7, pp. 3084-3097, Sept. 2013.
R = max
pi
i S
log(1 + pi|hiwi|2) s.t.
i S
wi 2pi Pmax
user
Waterfilling Power Allocation
i S
(µ wi 2)+ = P
20
water level µ such that
• Good channels get more power than poor channels
• Fairness is a concern
power allocated to user i: pi = µ
wi 2 1
+
wi 2
Agenda
• Interference Nulling
• Zero-forcing Beamforming (802.11ac)
• Interference Alignment
• Network MIMO
21
Interference Alignment
N-antenna node can only decode N signals
wanted signal I1
I2
2-antenna receiver
If I1 and I2 are aligned,
à appear as one interferer
à 2-antenna receiver can decode the wanted signal x and the combined interference (I1+I2)
à No need to decode I1 and I2 since the Rx does not care
Rotate Signal
• A multi-antenna transmitter can rotate the received signal
• To rotate received signal y to y’ = Ry,
the transmitter precodes the transmitted signal by multiplying it with the rotation matrix R
y y’ = Ry
2-antenna receiver
24
Rotate Signal (2x2 Example)
• Say an interfering transmitter wants to align its signal at the interfered receiver along the
direction (u,v)
• The interferer precodes its signal x with a weight vector (w1, w2)
x x
h11
h12 h21 h22
y1=(h11+h12)x y2=(h21+h22)x
(u, v) (h11+h12, h21+h22)
ant1 ant2
Rotate Signal (2x2 Example)
• Find (w1, w2) such that
⎻ (w1h11+w2h12, w1h21+w2h22)∥ (u, v)
w1x
h11
h12 h21 h22
y1=(w1h11+w2h12)x y2=(w1h21+w2h22)x
(h11+h12, h21+h22)
(u, v) w2x
(2)
q
w12 + w22 = 1 (1) w1h11 + w2h12
w1h21 + w2h22 = u
v Alignment
Power constraint
Interference Alignment
N-antenna node can only decode N signals
wanted signal I1
I2
2-antenna receiver
How to align interfering signals?
à Find the direction of any interference (e.g., I1)
à All the remaining interferers (e.g., I1 and I2) rotate their signals to that direction
I3
Alignment direction
Agenda
• Interference Nulling
• Zero-forcing Beamforming (802.11ac)
• Interference Alignment
• Network MIMO
28
Network MIMO
• Also known as virtual MIMO, cooperative MIMO, distributed MIMO
• Why we need network MIMO?
⎻ Maximal number of concurrent packets is limited by the number of antennas per AP
⎻ It is hard to equip with a large number of antennas in a single AP
• How to build a network MIMO node?
29
Network MIMO
• Combine multiple APs as a giant virtual AP
• Distributed antennas are connected via backhual wired network
• Process signals by one or multiple backend servers
30
vAP
Open Issues of Network MIMO
• Salability
• Latency
• Synchronization
31
Scalability
• Forwarding raw complex signals through the Ethernet requires an extremely large backhual bandwidth
⎻ Ethernet capacity might now become a bottleneck
• Complexity of precoding/decoding a large scale of streams is fairly high
⎻ A single server can only support a limited number of concurrent packets
⎻ Software-based precoding/decoding at the servers is less efficient than hardware-based processing at APs
32
Latency
• Servers need to collect the received signals from distributed antennas
• The latency between antennas and servers might be longer than symbol duration
⎻ For example, the symbol duration of 802.11n is only 4 microseconds (us)
• A packet might not be able to be
acknowledged immediately after data transmission
⎻ The MAC protocol might need to be re-designed
33
Synchronization
• MIMO transmissions require all the antennas to be tightly synchronized
⎻ Otherwise, a small frequency offset could destroy all the concurrent packets
• Potential Solutions
⎻ Connect all the APs to an external clock à scalability would be an issue
⎻ Each AP learn the frequency offset based on a
reference clock and calibrate the offset à hard to achieve a granularity acceptable for network
MIMO
34
Wireless Communication Systems
@CS.NCTU
Lecture 5: Multi-User MIMO (MU-MIMO)
Interference Alignment and Cancellation (SIGCOMM’09) Lecturer: Kate Ching-Ju Lin (林靖茹)
35
Naïve Cooperative MIMO
• Say we combine two 2-antnena APs as a 4–
antenna virtual AP
• Naïve solution:
⎻ Connect the two APs to a server via Ethernet
⎻ Each physical AP sends every received raw signal (complex values) to the server over Ethernet
36
y2 y1
y4 y3
Raw samples
Naïve Cooperative MIMO
• Say we combine two 2-antnena APs as a 4–
antenna virtual AP
• Naïve solution:
⎻ Connect the two APs to a server via Ethernet
⎻ Each physical AP sends every received raw signal (complex values) to the server over Ethernet
37
y2 y1
y4 y3
Raw samples
Impractical overhead:
For example, a 3 or 4-antenna system needs 10’s of Gb/s
How to Minimize Ethernet Overhead?
• High-level idea:
1. Decode some packets in certain AP
2. Forward the decoded packets through the Ethernet to other APs
3. Other APs decode the remaining packets 4. Repeat 1-3 until all packets are recovered
38
How to Minimize Ethernet Overhead?
• Advantage:
⎻ The size of data packets is much smaller than the size of raw samples à minimize overhead
• Challenge:
⎻ In theory, an N-antenna AP cannot recover M concurrent transmissions if M>N
⎻ How can an N-antenna AP recover its packet from M concurrent transmissions (M>N)?
à Interference Alignment and Cancellation
39
Interference Alignment and Cancellation
40
p1
p3
p3
p1
p2 p3
p1
p2 p1
p2
• Align p3 with p2 at AP1
• AP1 broadcasts p1 on Ethernet
• AP2 subtracts/cancels p1à decodes p2, p3
AP1
AP2
Interference Alignment and Cancellation
41
p1
p3
p3
p1
p2 p3
p1
p2 p1
p2
• AP1 broadcasts p1 on Ethernet
AP1
AP2
Only forward 1 data packet through the Ethernet!
How to Align?
1. Learn the direction we need to align
⎻ Client 2 aligns p3 along (h21, h22) at AP1
42
p3
p1
p2 p1
p2
AP2
p1 p2
h11 AP1
h12 h21 h22
(h21, h22) (h11, h12)
w1p3 w2p3
How to Align?
43
p3
p1
p2 p1
p2
AP2
p1 p2
h31 AP1
h32
h41 h42
(h21, h22) (h11, h12)
w1p3 w2p3
2. Precode p3 by (w1, w2)
3. AP2 receives p3 along the direction (w1h31+w2h41, w1h32+w2h42)
(w1h31+w2h41, w1h32+w2h42)
How to Align?
p3
p1
p2 p1
p2
AP2
p1 p2
h31 AP1
h32
h41 h42
(h21, h22) (h11, h12)
w1p3 w2p3
4. Since AP1 tries to decode p1, we align the interference p3 along the direction of p2
à Let (
w
1h
31+w
2h
41)/(w
1h
32+w
2h
42)=h
21/
h22(w1h31+w2h41, w1h32+w2h42)
Infinite number of solution?
No! power constraint w12+w22=Pmax
How to Remove Interference?
• For example, how can AP2 remove the interference from p1?
• Cannot just subtract the bits of p1 from the received packet
⎻ Should subtract interference signals as received by AP2
• How? à Similar to SIC
⎻ AP2 re-modulates p1’s bits
⎻ AP2 estimate the channel from client 1 to AP2 and apply the learned channel on the re-
modulated signals of p1
⎻ Subtract it from the received signal y
45
Theorem
In a M- antenna MIMO system, IAC delivers
• 2M concurrent packets on uplink
• max{2M-2, 3M/2} concurrent packets on downlink
How to Generalize to M-Antenna MIMO?
e.g., M=2 antennas 4 packets on uplink 3 packets on downlink See the paper for the details!
Quiz
• Consider a 2x1 system
• How can the AP (Tx) send a symbol x without being heard by the smartphone?
h1=4 h2=-3
x