Next Generation 802.11n Dina Katabi Jointly with Kate Lin and Shyamnath Gollakota 1-antenna devices 2-antenna devices 3-antenna devices Wireless nodes increasingly have heterogeneous numbers of antennas 802.11 Was Designed for 1-Antenna Nodes Alice Bob Chris When a single-antenna node transmits, multi-antenna nodes refrain from transmitting But, MIMO Nodes Can Receive Multiple Concurrent Streams Alice Bob Chris It’s Not That Simple Alice Bob Interference!! Interference!! Chris But, how do we transmit without interfering at receivers with fewer antennas? + 802.11n • Enables 802.11 nodes to contend for both time and concurrent transmissions • Maintains random access 1. How to transmit without interfering with receivers with fewer antennas? Interference nulling Interference alignment 2. How do we achieve it in a random access manner? Multi-dimensional carrier sense 1. How to transmit without interfering with receivers with fewer antennas? Interference nulling Interference alignment 2. How do we achieve it in a random access manner? Multi-dimensional carrier sense Interference Nulling Alice Bob y • Signals cancel each other at Alice’s receiver don’t cancel each other at Bob’s receiver • Signals Because channels are different Interference Nulling Alice h1 y Bob y h2 h1y h2y 0 Nulling : h1 h2 0 each other at Alice’s receiver • Signals cancel • Signals don’t cancel each other at Bob’s receiver Because channels are different • Bob’s sender learns channels either by feedback from Alice’s receiver or via reciprocity Interference Nulling Alice Bob h1 y y h2 h1y h2y 0 Nulling : h1 h2 0 Q: How to transmit without interfering with receivers with fewer antennas? A: Nulling Interference Nulling Alice Bob Chris NO! Is Nulling Alone Enough? NO!! Alice Bob Chris NO! Is Nulling Alone Enough? NO!! Alice Bob Chris Chris needs to null at three antennas NO! Is Nulling Alone Enough? NO!! null Alice (h11 h21h31)z 0 Bob (h12 h22h32 )z 0 (h13 h23h33 )z 0 z Chris z z z Only solution 0 Transmit Nothing!!! Are we doomed? we can use interference alignment No, MIMO Basics 1. N-antenna node receives in N-dimensional space antenna 1 antenna 2 antenna 1 antenna 2 antenna 3 antenna 1 MIMO Basics 1. N-antenna node receives in N-dimensional space 2. N-antenna receiver can decode N signals 2-antenna receiver y1 y2 MIMO Basics 1. N-antenna node receives in N-dimensional space 2. N-antenna receiver can decode N signals 3. Transmitter can rotate the received signal 2-antenna receiver y y’ = Ry Rotate by multiplying transmitted signal by a rotation matrix R Interference Alignment 2-antenna receiver I2 I1 wanted signal If I1 and I2 are aligned, appear as one interferer 2-antenna receiver can decode the wanted signal Interference Alignment 2-antenna receiver I1 + I2 wanted signal If I1 and I2 are aligned, appear as one interferer 2-antenna receiver can decode the wanted signal Use Nulling and Alignment Alice Null as before Bob Bob Alice (unwanted) Chris Chris Use Nulling and Alignment Alice Bob Alice + Chris (unwanted) Bob Chris 2-signals in 2D-space Can decode Bob’s signal Use Nulling and Alignment Alice Bob Chris 3 packets through receivers have fewer than 3 antennas MAC Protocol • Each sender computes in a distributed way where and how to null where and how to align • Analytically proved: # concurrent streams = # max antenna per sender 1. How to transmit without interfering with ongoing transmissions? Interference nulling Interference alignment 2. How do we achieve it in a random access manner? Multi-dimensional carrier sense 1. How to transmit without interfering with receivers with fewer antennas? Interference nulling Interference alignment 2. How do we achieve it in a random access manner? Multi-dimensional carrier sense In 802.11, contend using carrier sense But, how to contend despite ongoing transmissions? Multi-Dimensional Carrier Sense Multi-Dimensional Carrier Sense Alice Bob Alice Contend Ben Contend Alice Bob and Ben contend for a second concurrent transmission Multi-Dimensional Carrier Sense Alice Bob Alice Contend Ben Contend Alice Project orthogonal to Alice’s signal Multi-Dimensional Carrier Sense Alice orthogonal to Alice no signal from Alice!! Bob Alice Contend Ben Contend Alice orthogonal to Alice no signal from Alice!! Project orthogonal to Alice’s signal Multi-Dimensional Carrier Sense Alice orthogonal to Alice no signal from Alice!! Bob Alice Contend Ben Contend Alice orthogonal to Alice no signal from Alice!! Apply carrier sense in the orthogonal space Multi-Dimensional Carrier Sense Alice Bob Win Ben Lose Alice Bob Detect energy after projection Multi-Dimensional Carrier Sense To contend for the next concurrent transmission • Project orthogonal to ongoing signals • Apply standard carrier sense 1. How to transmit without interfering with receivers with fewer antennas? Interference nulling Interference alignment 2. How do we achieve it in a random access manner? Multi-dimensional carrier sense Performance Implementation • Implemented in USRP2 • OFDM with 802.11-style modulations and convolutional codes Experiment Alice Bob Chris Throughput Results 1 CDFs 0.8 0.6 0.4 0.2 0 0 20 40 60 Total throughput [Mb/s] 80 Throughput Results 1 CDFs 0.8 0.6 0.4 802.11n+ 802.11n 0.2 0 0 20 40 60 Total throughput [Mb/s] 80 Throughput Results 1 CDFs 0.8 0.6 ~2x 0.4 802.11n+ 802.11n 0.2 0 0 20 40 60 Total throughput [Mb/s] n+ doubles the median throughput 80 MegaMIMO: Scaling Wireless Throughput with the Number of Users Hariharan Rahul, Swarun Kumar and Dina Katabi MegaMIMO MegaMIMO alleviates the capacity crunch by transmitting more bits per unit of spectrum using a distributed MIMO transmitter Today’s Wireless Networks Ethernet Access Point 1 Access Point 2 Access Point 3 Interference! User 1 User 2 User 3 Access Points Can’t Transmit Together in the Same Channel MegaMIMO Ethernet Access Point 1 Access Point 2 Access Point 3 User 3 User 1 User 2 Interference from Interference from Interference from x1+x2≈0 x +x ≈0 2 3 Enables senders xto transmitData: together 1+x3≈0 x3 survives Data: x1 surviveswithout Data:interference x survives 2 All Access Points Can Transmit Simultaneously in the Same Channel MegaMIMO = Distributed MIMO Distributed protocol for APs to act as a huge MIMO transmitter with sum of antennas Ethernet AP2 AP1 User 1 User 2 AP3 User 3 … AP10 … 10 APs 10x higher throughput User 10 Diving Into The Details Transmitting Without Interference AP 1 Wants x1 Receives y1 Cli 1 AP 2 Wants x2 Receives y2 Cli 2 y1 = d1 x1 + 0 . x2 y2 = 0 . x1 + d2 x2 y1 d1 0 = y2 0 d2 x1 x2 Transmitting Without Interference AP 1 Wants x1 Receives y1 Cli 1 AP 2 Wants x2 Receives y2 Cli 2 y1 = d1x1Non-Interference + 0 . x2 Diagonal Matrix y2 = 0 . x1 + d2 x2 1 1 Goal: Makeythe effectivexchannel matrix =diagonal D y2 x2 Diagonal On-Chip MIMO • All antennas on the MIMO sender are synchronized in time to within nanoseconds of each other. • All antennas on a MIMO sender have exactly the same oscillator, i.e., no frequency offset. On-Chip MIMO Sends x1 h11 y1 Cli 1 Sends x2 AP h12 h21 h22 y2 Cli 2 y1 = h11 x1 + h12 x2 y2 = h21 x1 + h22 x2 y1 h11 h12 x1 = h21 h22 x2 y2 Non-diagonal Matrix Interference On-Chip MIMO Sends x1 h11 y1 Cli 1 Sends x2 AP h12 h21 h22 y2 Cli 2 y1 = h11 x1 + h12 x2 y2 = h21 x1 + h22 x2 y1 h11 h12 x1 = h21 h22 x2 y2 On-Chip MIMO Sends s1 Sends s2 AP h11 y1 Cli 1 h12 h21 h22 y2 Cli 2 y1 = h11 s1 + h12 s2 y2 = h21 s1 + h22 s2 y1 h11 h12 s1 = h21 h22 s2 y2 On-Chip MIMO Sends s1 Sends s2 AP h11 h12 h21 h22 y2 Cli 2 y1 Cli 1 y1 = h11 s1 + h12 s2 y2 = h21 s1 + h22 s2 y1 = y2 H s1 s2 Making Effective Channel Matrix Diagonal Sends s1 Sends s2 AP h11 h12 h21 h22 y2 Cli 2 y1 Cli 1 y1 = h11 s1 + h12 s2 y2 = h21 s1 + h22 s2 y1 = y2 H s1 s2 Making Effective Channel Matrix Diagonal Sends s1 Sends s2 AP h11 h12 h21 h22 y2 Cli 2 y1 Cli 1 y1 = h11 s1 + h12 s2 y2 = h21 s1 + h22 s2 y1 = y2 H s1 s2 H-1 x1 x2 Making Effective Channel Matrix Diagonal Sends s1 Sends s2 AP h11 h12 h21 h22 y2 Cli 2 y1 Cli 1 y1 = h11 s1 + h12 s2 y2 = h21 s1 + h22 s2 y1 = y2 H H-1 x1 x2 Effective channel is diagonal Beamforming System Description Channel Measurement: • Measure channels from sending antennas to clients • Clients report measured channels back to APs Data Transmission: • MIMO sender computes its beamformed signal si using the equation s = H-1 x • Clients 1 and 2 decode x1 and x2 independently Distributed Transmitters Are Different • Nodes are not synchronized in time. – We use SourceSync to synchronize senders within 10s of ns – Works for OFDM based systems like Wi-Fi, LTE etc. • Oscillators are not synchronized and have frequency offsets relative to each other. Distributed Transmitters Are Different • Nodes are not synchronized in time. – We use SourceSync to synchronize senders within 10s of ns – Works for OFDM based systems like Wi-Fi, LTE etc. • Oscillators are not synchronized and have frequency offsets relative to each other. What Happens with Independent Oscillators? AP 1 h11 AP 2 h12 h21 h22 Cli 2 Cli 1 h11 h12 h21 h22 What Happens with Independent Oscillators? ωT1 AP 1 h11 AP 2 h12 h21 Cli 2 ωR1 Cli 1 h11 ej(ω T1h21 h22 ωR1)t h12 h22 What Happens with Independent Oscillators? ωT1 AP 1 h11 AP 2 h12 h21 Cli 2 ωR1 Cli 1 h11 ej(ω T1h21 h22 ωR1)t h12 h22 What Happens with Independent Oscillators? ωT1 AP 1 h11 ωT2 AP 2 h12 h21 Cli 2 ωR1 Cli 1 h11 ej(ω T1h21 h22 ωR1)t h12ej(ω T2h22 ωR1)t What Happens with Independent Oscillators? ωT1 AP 1 h11 ωT2 AP 2 h12 h21 Cli 2 ωR1 Cli 1 h11 ej(ω T1h21 h22 ωR1)t h12ej(ω T2h22 ωR1)t What Happens with Independent Oscillators? ωT1 AP 1 h11 ωT2 AP 2 h12 h21 ωR2 ωR1 Cli 1 h22 Cli 2 h11 ej(ω T1- ωR1)t h12ej(ω T2- ωR1)t h21 ej(ω T1- ωR2)t h22 ej(ω T2- ωR2)t What Happens with Independent Oscillators? ωT1 AP 1 h11 ωT2 AP 2 h12 h21 ωR2 ωR1 Cli 1 h22 Cli 2 h11 ej(ω T1- ωR1)t h12ej(ω T2- ωR1)t h21 ej(ω T1- ωR2)t h22 ej(ω T2- ωR2)t Time Varying Channel is Time Varying ωT1 AP 1 h11 ωT2 AP 2 h12 h21 ωR2 ωR1 Cli 1 H(t) h22 Cli 2 Does Traditional Beamforming Still Work? ωT1 AP 1 h11 ωT2 AP 2 h12 h21 ωR2 ωR1 Cli 1 y1(t) = y2(t) H(t) h22 Cli 2 s1(t) s2(t) Does Traditional Beamforming Still Work? ωT1 AP 1 h11 ωT2 AP 2 h12 h21 h22 ωR2 Cli 2 Beamforming does not work ωR1 Cli 1 y1(t) = y2(t) H(t) H-1 x1(t) x2(t) Not Diagonal Challenge Channel is Rapidly Time Varying Relative Channel Phases of Transmitted Signals Changes Rapidly With Time Prevents Beamforming Distributed Phase Synchronization High Level Intuition: • Pick one AP as the lead • All other APs are slaves – Imitate the behavior of the lead AP by fixing the rotation of their oscillator relative to the lead. Decomposing H(t) e-jω R1 t 0 h11 ej(ω T1- ωR1)t h12ej(ω T2- ωR1)t h21 ej(ω T1- ωR2)t h22 ej(ω T2- ωR2)t h11 ej(ω T1 )t h12ej(ω T2)t e-jω R2t h21 ej(ω T1)t h22 ej(ω T2)t 0 Decomposing H(t) e-jω R1 t 0 h11 ej(ω T1 )t h12ej(ω T2)t e-jω R2t h21 ej(ω T1)t h22 ej(ω T2)t 0 Decomposing H(t) e-jω R1 t 0 h11 h12 ejω T1 t e-jω R2t h21 h22 0 0 0 ejωT2t Decomposing H(t) e-jω R1 t 0 h11 h12 ejω T1 t e-jω R2t h21 h22 0 0 0 ejωT2t Decomposing H(t) e-jω R1 t ejωT1 t 0 0 H 0 e-jω R2t 0 ejωT2t Diagonal Devices cannot track their own oscillator phases… Decomposing H(t) e-jω R1 t ejωT1 t 0 0 H ejωT1 t 0 e-jω R2t e-jω T1 t 0 ejωT2t Decomposing H(t) ej(ωT1- ωR1)t 0 0 1 H 0 ej(ωT1- ωR2)t R(t) 0 ej(ωT2- ωT1)t T(t) Depends only on transmitters Decomposing H(t) ej(ωT1- ωR1)t 0 0 1 H 0 ej(ωT1- ωR2)t R(t) ej(ωT2- ωT1)t 0 T(t) H(t) = R(t).H.T(t) Beamforming with Different Oscillators y1(t) = R(t).H.T(t) H(t) y2(t) s1(t) s2(t) s1(t) x1(t) = T(t)-1H-1 s2(t) x2(t) Beamforming with Different Oscillators x1(t) y1(t) -1H-1 = R(t).H.T(t) T(t) H(t) x2(t) y2(t) Diagonal s1(t) x1(t) = T(t)-1H-1 s2(t) x2(t) Transmitter Compensation 1 0 T(t) = 0 ej(ωT2- ωT1)t Transmitter Compensation 1 0 T(t)-1 = 0 e-j(ωT2- ωT1 )t Slave AP imitates lead by multiplying each sample by oscillator rotation relative to lead Requires only local information Fully distributed Measuring Phase Offset • Multiply frequency offset by elapsed time • Requires very accurate estimation of frequency offset – Error of 25 Hz (10 parts per BILLION) changes complete alignment to complete misalignment in 20 ms. Need to keep resynchronizing to avoid error accumulation Resynchronization AP 1 Cli 1 h2lead AP 2 Cli 2 h2lead(t) = h2lead ej(ωT2- ω T1)t Directly compute phase at each slave by measuring channel from lead Resynchronization AP 1 Sync AP 2 Data Lead AP: – Prefixes data transmission with synchronization header Resynchronization AP 1 AP 2 Sync Data Slave AP: – Receives Synchronization Header – Corrects for change in channel phase from lead – Transmits data Receiver Compensation y1(t) = R(t).H.T(t) H(t) y2(t) s1(t) s2(t) Receiver Compensation x1(t) y1(t) -1H-1 = R(t).H.T(t) T(t) H(t) x2(t) y2(t) y1(t) = R(t)-1 R(t) y2(t) x1(t) x2(t) Receiver Compensation e-j(ωT1- ωR1)t 0 R(t)-1 = 0 e-j(ωT1- ωR2)t Receiver Compensation e-j(ωT1- ωR1)t 0 R(t)-1 = 0 e-j(ωT1- ωR2)t Receiver does what it does today – correct for oscillator offset from lead Performance Implementation Implemented in USRP2 2.4 GHz center frequency OFDM with 10 MHz bandwidth 10 software radios acting as APs, all in the same frequency • 10 software radios acting as clients • • • • Testbed Does MegaMIMO Scale Throughput with the Number of Users? • • • • Fix a number of users, say N Pick N AP locations Pick N client locations Vary N from 1 to 10 • Compared Schemes: – 802.11 – MegaMIMO Total Throughput [Mb/s] Does MegaMIMO Scale Throughput with the Number of Users? 300 250 200 150 100 50 0 1 2 3 4 5 6 7 8 Number of APs on Same Channel 9 10 Total Throughput [Mb/s] Does MegaMIMO Scale Throughput with the Number of Users? 300 250 200 150 100 802.11 50 0 1 2 3 4 5 6 7 8 Number of APs on Same Channel 9 10 Total Throughput [Mb/s] Does MegaMIMO Scale Throughput with the Number of Users? 300 250 MegaMIMO 200 150 10x 100 802.11 50 0 1 2 3 4 5 6 7 8 9 10 Number of APs on Same Channel 10x throughput gain over existing Wi-Fi What are MegaMIMO’s Scaling Limits? • Theoretical N log SNR Can Scale Indefinitely with N • Practical Errors in H and phase synchronization affect accuracy of beamforming What are MegaMIMO’s Scaling Limits? • N APs transmit to N users, N = 2 .. 10. • Perform MegaMIMO as before, but with a zero signal for some client (i.e. null at that client) Phase Alignment is Accurate Received signal at noise floor (0 dB) Inaccuracy in Phase Alignment Received signal higher than noise floor (>0 dB) Interference to Noise Ratio (dB) What are MegaMIMO’s Scaling Limits? 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 2 3 4 5 6 7 8 9 Number of APs on Same Channel 10 Interference to Noise Ratio (dB) What are MegaMIMO’s Scaling Limits? 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 2 3 4 5 6 7 8 9 Number of APs on Same Channel 10 Interference to Noise Ratio ~1.5 dB at 10 users Conclusion • Learned about Nulling, Alignment, and MegaMIMO • In N+, the gains are lower but – Transmitters need not be connected to the same Ethernet and exchange the packets – No need for phase synchronization • In MegaMIMO, the gains are linear with the total number of users – Need high speed Ethernet to connect the transmitters – Need tight phase synchronization between transmitters