MegaMIMO: Scaling Wireless Throughput with the Number of Users Hariharan Rahul, Swarun Kumar and Dina Katabi
There is a Looming Wireless Capacity Crunch Given the trends in the growth of wireless demand, and based on current technology, the FCC projects that the US will face a spectrum shortfall in 213. The iphone 4 demo failed at Steve Jobs s keynote due to wireless congestion. Jobs s reaction: If you want to see the demos, shut off your laptops, turn off all these MiFi base stations, and put them on the floor, please.
MegaMIMO MegaMIMO alleviates the capacity crunch by transmitting more bits per unit of spectrum.
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 1 User 3 User 2 Interference from Interference from Interference from x 2 +x 3 x x 1 +x 3 1 +x 2 Data: x 1 survives Data: x Data: x 2 survives 3 survives All Access Points Can Transmit Simultaneously in the Same Channel
MegaMIMO Ethernet Access Point 1 Access Point 2 Access Point 3 User 1 User 3 User 2 Interference from Interference from Interference from Enables x 2 +x 3 senders xto 1 +x 3 transmit together x 1 +x 2 Data: x 1 survives Data: x Data: x 2 survives 3 survives without interference 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 AP1 AP2 AP3 AP1 User 1 User 2 User 3 User 1 1 APs 1x higher throughput
Diving Into The Details
Transmitting Without Interference AP 1 AP 2 Wants x 1 Receives y 1 Wants x 2 Receives y 2 y 1 = d 1 x 1 +. x 2 Cli 1 Cli 2 y 2 =. x 1 + d 2 x 2 y 1 y 2 = d 1 d 2 x 1 x 2
Transmitting Without Interference AP 1 AP 2 Wants x 1 Wants x 2 Receives y 1 Receives y 2 Cli 1 Cli 2 y 1 = d 1 x 1 +. x 2 y 2 =. x 1 + d 2 x 2 y 1 y 2 = D x 1 x 2 Diagonal
Transmitting Without Interference AP 1 AP 2 Wants x 1 Wants x 2 Receives y 1 Receives y 2 Cli 1 Cli 2 Diagonal Matrix y 1 = d 1 x 1 Non-Interference +. x 2 y 2 =. x 1 + d 2 x 2 y 1 Goal: Make the effective channel matrix = y D 2 diagonal Diagonal x 1 x 2
On-Chip MIMO All nodes are synchronized in time to within nanoseconds of each other. Oscillators at all nodes have exactly the same frequency, i.e., no frequency offset.
On-Chip MIMO Sends x 1 AP Sends x 2 h 11 h12 h 21 h 22 y 1 Cli 1 y 2 Cli 2 y 1 = h 11 x 1 + h 12 x 2 y 2 = h 21 x 1 + h 22 x 2 y 1 y 2 = h 11 h 12 h 21 h 22 x 1 x 2 Non-diagonal Matrix Interference
On-Chip MIMO Sends x 1 AP Sends x 2 h 11 h12 h 21 h 22 y 1 Cli 1 y 2 Cli 2 y 1 = h 11 x 1 + h 12 x 2 y 2 = h 21 x 1 + h 22 x 2 y 1 y 2 = h 11 h 12 h 21 h 22 x 1 x 2
On-Chip MIMO Sends s 1 AP Sends s 2 h 11 h12 h 21 h 22 y 1 Cli 1 y 2 Cli 2 y 1 = h 11 s 1 + h 12 s 2 y 2 = h 21 s 1 + h 22 s 2 y 1 y 2 = h 11 h 12 h 21 h 22 s 1 s 2
On-Chip MIMO Sends s 1 AP Sends s 2 h 11 h12 h 21 h 22 y 1 Cli 1 y 2 Cli 2 y 1 = h 11 s 1 + h 12 s 2 y 2 = h 21 s 1 + h 22 s 2 y 1 y 2 = H s 1 s 2
Making Effective Channel Matrix Diagonal Sends s 1 AP Sends s 2 h 11 h12 h 21 h 22 y 1 Cli 1 y 2 Cli 2 y 1 = h 11 s 1 + h 12 s 2 y 2 = h 21 s 1 + h 22 s 2 y 1 y 2 = H s 1 s 2
Making Effective Channel Matrix Diagonal Sends s 1 AP Sends s 2 h 11 h12 h 21 h 22 y 1 Cli 1 y 2 Cli 2 x 1 y 1 = h 11 s 1 + h 12 s 2 y 2 = h 21 s 1 + h 22 s 2 H -1 x 2 y 1 y 2 = H s 1 s 2
Making Effective Channel Matrix Diagonal Sends s 1 AP Sends s 2 h 11 h12 h 21 h 22 y 1 Cli 1 y 2 Cli 2 y 1 = h 11 s 1 + h 12 s 2 y 2 = h 21 s 1 + h 22 s 2 y 1 y 2 = H H -1 x 1 x 2 Effective channel is diagonal
Beamforming System Description Channel Measurement: AP1 and AP2 measure channels to clients Clients report measured channels back to APs Data Transmission: Packets are forwarded to both APs Each AP computes its beamformed signal s i using the equation s = H -1 x Clients 1 and 2 decode x 1 and x 2 independently
Distributed Transmitters Nodes are not synchronized in time. We use SourceSync to synchronize senders within 1s of ns (SIGCOMM 21) Works for OFDM based systems like Wi-Fi, LTE etc. Oscillators are not synchronized and have frequency offsets relative to each other.
MegaMIMO First wireless network that can scale network throughput with the number of transmitters Algorithm for phase synchronization across multiple independent transmitters Demonstrated in a wireless testbed implementation
What Happens with Independent Oscillators? AP 1 AP 2 h 11 h12 h 21 h 22 Cli 1 Cli 2 h 11 h 12 h 21 h 22
What Happens with Independent Oscillators? ω T1 AP 1 AP 2 h 11 h12 h 21 h 22 ω R1 Cli 1 Cli 2 h 11 e j(ω T1 - ω R1 )t h 12 h 21 h 22
What Happens with Independent Oscillators? ω T1 AP 1 AP 2 h 11 h12 h 21 h 22 ω R1 Cli 1 Cli 2 h 11 e j(ω T1 - ω R1 )t h 12 h 21 h 22
What Happens with Independent Oscillators? ω T1 AP 1 ω T2 AP 2 h 11 h12 h 21 h 22 ω R1 Cli 1 Cli 2 h 11 e j(ω - ω )t h 12 T1 R1 e j(ω - ω )t T2 R1 h 21 h 22
What Happens with Independent Oscillators? ω T1 AP 1 ω T2 AP 2 h 11 h12 h 21 h 22 ω R1 Cli 1 Cli 2 h 11 e j(ω - ω )t h 12 T1 R1 e j(ω - ω )t T2 R1 h 21 h 22
What Happens with Independent Oscillators? ω T1 AP 1 ω T2 AP 2 h 11 h12 h 21 h 22 ω R1 ω R2 Cli 1 Cli 2 h 11 e j(ω - ω )t h 12 T1 R1 e j(ω - ω )t T2 R1 h 21 ej(ω - ω )t h 22 T1 R2 e j(ω - ω )t T2 R2
What Happens with Independent Oscillators? ω T1 AP 1 ω T2 AP 2 h 11 h12 h 21 h 22 ω R1 ω R2 Cli 1 Cli 2 h 11 e j(ω - ω )t h 12 h 21 T1 R1 e ej(ω - ω )t h 22 T1 R2 e j(ω - ω )t T2 R1 j(ω - ω )t T2 R2 Time Varying
Channel is Time Varying ω T1 AP 1 ω T2 AP 2 h 11 h12 h 21 h 22 ω R1 ω R2 Cli 1 Cli 2 H(t)
Does Traditional Beamforming Still Work? ω T1 AP 1 ω T2 AP 2 h 11 h12 h 21 h 22 ω R1 ω R2 Cli 1 Cli 2 y 1 (t) y 2 (t) = H(t) s 1 (t) s 2 (t)
Does Traditional Beamforming Still Work? ω T1 AP 1 ω T2 AP 2 h 11 h12 h 21 h 22 ω R1 ω R2 Cli 1 Cli 2 y 1 (t) y 2 (t) = H(t) H -1 x 1 (t) x 2 (t) Not Diagonal
Does Traditional Beamforming Still Work? ω T1 AP 1 ω T2 AP 2 h 11 h12 h 21 h 22 ω R1 ω R2 Cli 1 Cli 2 Beamforming does not work y 1 (t) y 2 (t) = H(t) H -1 x 1 (t) x 2 (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) h 11 e j(ω - ω )t h 12 T1 R1 e j(ω - ω )t T2 R1 h 21 ej(ω - ω )t h 22 T1 R2 e j(ω - ω )t T2 R2 e -jω R1 t h 11 e j(ω )t h 12 T1 e j(ω )t T2 e -jω R2 t h 21 ej(ω )t h 22 T1 e j(ω )t T2
Decomposing H(t) e -jω R1 t h 11 e j(ω )t h 12 T1 e j(ω )t T2 e -jω R2 t h 21 ej(ω )t h 22 T1 e j(ω )t T2
Decomposing H(t) e -jω R1 t h 11 h 12 e jω T1 t e -jω R2 t h 21 h 22 e jω T2 t
Decomposing H(t) e -jω R1 t h 11 h 12 e jω T1 t e -jω R2 t h 21 h 22 e jω T2 t
Decomposing H(t) e -jω R1 t e jω T1 t H e -jω R2 t e jω T2 t Diagonal Devices cannot track their own oscillator phases
Decomposing H(t) e -jω R1 t e -jω R2 t H e jω e jω T1 t e -jω T1 t T1 t e jω T2 t
Decomposing H(t) e j(ω - ω )t T1 R1 H 1 e j(ω - ω )t T1 R2 e j(ω - ω )t T2 T1 R(t) T(t) Depends only on transmitters
Decomposing H(t) e j(ω - ω )t T1 R1 H 1 e j(ω - ω )t T1 R2 e j(ω - ω )t T2 T1 R(t) T(t) H(t) = R(t).H.T(t)
Beamforming with Different Oscillators y 1 (t) y 2 (t) = R(t).H.T(t) H(t) s 1 (t) s 2 (t) s 1 (t) s 2 (t) = T(t) -1 H -1 x 1 (t) x 2 (t)
Beamforming with Different Oscillators y 1 (t) y H(t) 2 (t) = R(t).H.T(t) T(t) -1 H -1 Diagonal x 1 (t) x 2 (t) s 1 (t) s 2 (t) = T(t) -1 H -1 x 1 (t) x 2 (t)
Transmitter Compensation 1 T(t) = e j(ω - ω )t T2 T1
Transmitter Compensation 1 T(t) -1 = e -j(ω - ω )t Slave AP imitates lead by multiplying each sample by oscillator rotation relative to lead Requires only local information Fully distributed T2 T1
Measuring Phase Offset Multiply frequency offset by elapsed time Requires very accurate estimation of frequency offset Error of 25 Hz (1 parts per BILLION) changes complete alignment to complete misalignment in 2 ms. Need to keep resynchronizing to avoid error accumulation
Resynchronization AP 1 h 2 lead AP 2 Cli 1 Cli 2 h 2 lead (t) = h 2 lead e j(ω - ω )t Directly compute phase at each slave by measuring channel from lead T2 T1
Resynchronization AP 1 AP 2 Sync 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 y 1 (t) y H(t) 2 (t) = R(t).H.T(t) s 1 (t) s 2 (t)
Receiver Compensation y 1 (t) y H(t) 2 (t) = R(t).H.T(t) T(t) -1 H -1 x 1 (t) x 2 (t) y 1 (t) y 2 (t) = x 1 (t) R(t) -1 R(t) x 2 (t)
Receiver Compensation R(t) -1 = e -j(ω - ω )t T1 R1 e -j(ω - ω )t T1 R2
Receiver Compensation R(t) -1 = e -j(ω - ω )t T1 R1 e -j(ω - ω )t T1 R2 Receiver does what it does today correct for oscillator offset from lead
Enhancements Decoupling channel measurement across different clients Using MegaMIMO for diversity Compatibility with off-the-shelf 82.11n cards Described in paper
Performance
Implementation Implemented in USRP2 2.4 GHz center frequency OFDM with 1 MHz bandwidth 1 software radios acting as APs, all in the same frequency 1 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 1 Compared Schemes: 82.11 MegaMIMO
Total Throughput [Mb/s] Does MegaMIMO Scale Throughput with the Number of Users? 3 25 2 15 1 5 1 2 3 4 5 6 7 8 9 1 Number of APs on Same Channel
Total Throughput [Mb/s] Does MegaMIMO Scale Throughput with the Number of Users? 3 25 2 15 1 5 82.11 1 2 3 4 5 6 7 8 9 1 Number of APs on Same Channel
Total Throughput [Mb/s] Does MegaMIMO Scale Throughput with the Number of Users? 3 25 2 15 1 5 MegaMIMO 82.11 1 2 3 4 5 6 7 8 9 1 Number of APs on Same Channel 1x 1x throughput gain over existing Wi-Fi
What are MegaMIMO s Scaling Limits? Theoretical Practical N log SNR Can Scale Indefinitely with N Errors in H and phase synchronization affect accuracy of beamforming
What are MegaMIMO s Scaling Limits? N APs transmit to N users, N = 2.. 1. 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 ( db) Inaccuracy in Phase Alignment Received signal higher than noise floor (> db)
Interference to Noise Ratio (db) What are MegaMIMO s Scaling Limits? 1,8 1,6 1,4 1,2 1,8,6,4,2 2 3 4 5 6 7 8 9 1 Number of APs on Same Channel
Interference to Noise Ratio (db) What are MegaMIMO s Scaling Limits? 1,8 1,6 1,4 1,2 1,8,6,4,2 Interference to Noise Ratio ~ 1.5 db 2 3 4 5 6 7 8 9 1 Number even of APs at 1 on Same userschannel
Compatibility with 82.11n 82.11n over 2 MHz Bandwidth Two 2-antenna USRPs acting as APs Two 2-antenna 82.11n clients Througput gain of MegaMIMO over 82.11n Demonstrates Compatibility with 82.11n clients Compatibility with MIMO APs and clients
Fraction of Runs Compatibility with 82.11n 1,9,8,7,6,5,4,3,2,1 1,65 1,7 1,75 1,8 1,85 1,9 1,95 2 Throughput Gain
Fraction of Runs Compatibility with 82.11n 1,9,8,7,6,5,4,3,2,1 1.8x 1,65 1,7 1,75 1,8 1,85 1,9 1,95 2 Throughput Gain
Fraction of Runs Compatibility with 82.11n 1,9,8,7,6,5,4,3,2,1 Median Gain of 1.8x with 2 receivers 1.8x 1,65 1,7 1,75 1,8 1,85 1,9 1,95 2 Throughput Gain
Related Work Theoretical Aeron et al., Simeone et al., Ozgur et al. (Distributed and Virtual MIMO) Empirical DIDO, Fraunhofer Network MIMO
Conclusion Wireless networks are facing a spectrum crunch MegaMIMO enables multiple independent transmitters to transmit to independent receivers in the same frequency bands Distributed and accurate phase synchronization Can enable wide body of theoretical work lattice coding, noisy network coding, distributed superposition coding, dirty paper coding