630 likes | 893 Views
Analog Network Coding. Sachin Katti Shyamnath Gollakota and Dina Katabi. Current Wireless. C. Router. Current Wireless. C. Router. Traditional Routing requires 4 time slots. Current Wireless. C. Router. Traditional Routing requires 4 time slots.
E N D
Analog Network Coding Sachin Katti Shyamnath Gollakota and Dina Katabi
Current Wireless C Router
Current Wireless C Router Traditional Routing requires 4time slots
Current Wireless C Router Traditional Routing requires 4time slots
Last Year Network Coding COPE C Router = XOR Traditional Routing requires 4 time slots
Last Year Network Coding COPE C Router Traditional Routing requires 4 time slots
Last Year Network Coding COPE C Router = XOR = XOR Traditional Routing requires 4 time slots COPE requires 3 time slots Higher throughput Can we do it in 2 time slots?
Analog Network Coding (ANC) Instead of router mixing packets… Exploit that the wireless channelnaturally mixes signals
Analog Network Coding C Router
Analog Network Coding C Router Interference Dina and Jon transmit simultaneously
Analog Network Coding C Router Dina and Jon transmit simultaneously Router amplifies and broadcasts interfered signal
Analog Network Coding C Router Dina and Jon transmit simultaneously Router amplifies and broadcasts interfered signal Dina subtracts known signal from interfered signal
Analog Network Coding C Router Dina and Robert transmit simultaneously Router amplifies and broadcasts interfered signal Dina subtracts known signal from interfered signal • Analog Network Coding requires 2 time slots • Higher throughput
It Is More Than Going From 3 To 2! • Philosophical shift in dealing with interference • Strategically exploit interference instead of avoiding it • Promises new ways of dealing with hidden terminals
Hidden Terminal Scenario C C C C Src R2 R1 Dst
Hidden Terminal Scenario C C C C Src R2 R1 Dst P1
Hidden Terminal Scenario C C C C Src R2 R1 Dst P1 P2 Src and R2 transmit simultaneously
Hidden Terminal Scenario C C C C Src R2 R1 Dst P1 P2 Src and R2 transmit simultaneously R1 subtracts P1, which he relayed earlier to recover P2 that he wants
Hidden Terminal Scenario C C C C Src R2 R1 Dst P1 P2 • R2 and Src are hidden terminals • Today : Simultaneous transmission Collision • ANC : Simultaneous transmission Success!
Hidden Terminal Scenario C C C C Src R2 R1 Dst • Other Benefits of ANC: • First step toward addressing hidden terminals • ANC extends network coding to new scenarios
Practical Challenges C • Interfered signal is not exactly the sum • Channel distorts signals • Two signals are never synchronized • It is not sD(t) + sJ(t)but f1(sD(t)) + f2(sJ(t-T)) • Prior work assumes full synchronization and ignores channel distortion Not Practical!
Signal No Interference No Interference Time Key Idea: Exploit Asynchrony! • Dina uses interference-free parts toestimate channel and timing • Dina compensates for her interfering signal • Jon runs the same algorithm backwards! Exploit asynchrony to make it practical
Protocol • Router senses idle medium and broadcasts a trigger to Dina and Jon • Dina and Jon jitter their start times randomly and transmit • Router amplifies and forwards interfered signal • Dina and Jon receive and decode How do they decode?
Primer on Modulation • Nodes transmit vectors on channel • Focus on MSK (Minimum Shift Keying) modulation D2 leads D1 by 90 degrees Bit “1” D2 lags D1 by 90 degrees Bit “0” D2 D1 D2 D1
Attenuation Primer on Channel Effects D2 D2 Channel D1 D1 D2 and D1 are attenuated by the same amount
Attenuation • Rotation Primer on Channel Effects D2 D2 Channel D1 D1
Attenuation • Rotation Primer on Channel Effects D2 D1 Channel D2 D1 To decode, receiver computes angle between received vectors Angle (D2,D1)= 90 degrees Bit “1” was transmitted Angle between vectors is preserved
Signal Time So, How Does Dina Decode? No Interference No Interference Dina’s Signal Jon’s Signal
Signal Time So, How Does Dina Decode? No Interference No Interference Interference • Small uninterfered part at the start • Decodes uninterfered part via standard MSK demodulation • Once interference starts, Dina changes decoding algorithm
What did Dina send? D2 D1
What did Dina send? • What did Jon send? J1 D1 D2 J2
What is Interference Vector addition X1 D1 J1 D2 J2 X2
What does Dina know? D2 X1 D1 J1 D2 D1 J2 X2
What does Dina know? D2 X1 β α D1 X2 No Interference Amplitude of Jon’s Vectors β Amplitude of her Vectors α
What does Dina know? D2 X1 D1 D1’ J1’ J1 D1 X2 • Dina finds solutions for X1 and X2
What does Dina know? D2 X1 D1 D1’ J1’ J1 J2’ D2 D1 J2 X2 D2’ • Dina finds solutions for X1 and X2 Two solutions for each interfered vector!
What does Dina know? D2 X1 D1 D1’ J1’ J1 J2’ D2 D1 J2 X2 D2’ • Dina finds solutions for X1 and X2 Four possible angles!
What does Dina know? D2 X1 D1 D1’ J1’ J1 J2’ D2 D1 J2 X2 D2’ • Dina finds solutions for X1 and X2 Four possible angles!
What does Dina know? D2 D1 X1 D1’ J1’ J1 J2’ D2 D1 J2 X2 D2’ • Dina finds solutions for X1 and X2 Four possible angles!
What does Dina know? D2 X1 D1 D1’ J1’ J1 J2’ D2 D1 J2 X2 D2’ • Dina finds solutions for X1 and X2 Four possible angles!
What does Dina know? D2 X1 D1 D1’ J1’ J1 J2’ D2 D1 J2 X2 D2’ • Dina finds solutions for X1 and X2 Four possible angles!
What does Dina know? D2 X1 D1 D1’ J1’ J1 J2’ D2 D1 J2 X2 D2’ • Dina finds solutions for X1 and X2 Pick the correct angle 90 degrees
What does Dina know? D2 X1 D1 D1’ J1’ J1 J2’ D2 D1 J2 X2 D2’ • Dina finds solutions for X1 and X2 Pick the correct angle +90 degrees
What does Dina know? D2 X1 D1 D1’ J1’ J1 J2’ D2 D1 J2 X2 D2’ • Dina finds solutions for X1 and X2 Dictates solution for Jon’s vectors!
What does Dina know? D2 X1 D1 J1 D2 D1 J2 X2 • Dina finds angle between J1 and J2 and decodes
Signal Time Decoding Algorithm – Decoding interference Interference • Decode rest of the interfered part using this algorithm • Decode final uninterfered part from Jon via standard MSK demodulation