SLIDE 1
Current W ireless Router C Current W ireless Router C - - PDF document
Current W ireless Router C Current W ireless Router C - - PDF document
Analog Network Coding Sachin Katti Shyamnath Gollakota and Dina Katabi Current W ireless Router C Current W ireless Router C Traditional Routing requires 4 time slots Current W ireless Router C Traditional Routing requires 4 time slots
SLIDE 2
SLIDE 3
XOR
=
Router Traditional Routing requires 4 time slots
Last Year Network Coding COPE
C
Last Year Network Coding COPE
Router Traditional Routing requires 4 time slots C
SLIDE 4
Last Year Network Coding COPE
XOR
=
XOR
=
Router Traditional Routing requires 4 time slots CO PE requires 3 time slots
- Higher throughput
Can we do it in 2 time slots?
C
Analog Network Coding (ANC)
Instead of router mixing packets… Exploit that the wireless channel naturally mixes signals
SLIDE 5
Analog Network Coding
Router C Router
Analog Network Coding
1) Dina and J
- n transmit simultaneously
Interference C
SLIDE 6
Router
Analog Network Coding
1) Dina and J
- n transmit simultaneously
2) Router amplifies and broadcasts interfered signal C Router
Analog Network Coding
1) Dina and J
- n transmit simultaneously
2) Router amplifies and broadcasts interfered signal 3) Dina subtracts known signal from interfered signal C
SLIDE 7
Router
Analog Network Coding
1) Dina and Robert transmit simultaneously 2) Router amplifies and broadcasts interfered signal 3) Dina subtracts known signal from interfered signal
Analog Network Coding requires 2 time slots Higher throughput
C
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
SLIDE 8
C C C C
Hidden Terminal Scenario
R1 R2 Src Dst P1
Hidden Terminal Scenario
C C C C R1 R2 Src Dst
SLIDE 9
P2
Hidden Terminal Scenario
P1 1) Src and R2 transmit simultaneously C C C C R1 R2 Src Dst
Hidden Terminal Scenario
1) Src and R2 transmit simultaneously 2) R1 subtracts P1, which he relayed earlier to recover P2 that he wants P1 P2 C C C C R1 R2 Src Dst
SLIDE 10
Hidden Terminal Scenario
R2 and Src are hidden terminals
Today : Simultaneous transmission Collision AN C : Simultaneous transmission Success! P1 P2 C C C C R1 R2 Src Dst
Hidden Terminal Scenario
Other Benefits of ANC: First step toward addressing hidden terminals ANC extends network coding to new scenarios
C C C C R1 R2 Src Dst
SLIDE 11
How do we make it work? Practical Challenges
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!
C
SLIDE 12
Key Idea: Exploit Asynchrony! Key Idea: Exploit Asynchrony!
Time Signal No Interference No Interference
Dina uses interference-free parts to estimate channel and timing Dina compensates for her interfering signal J
- n runs the same algorithm backwards!
Exploit asynchrony to make it practical
SLIDE 13
Cross layer realization of our idea
Router senses idle medium and broadcasts a trigger to Dina and J
- n
Dina and J
- n jitter their start times randomly and
transmit Router amplifies and forwards interfered signal Dina and J
- n receive and decode
Protocol
How do they decode?
SLIDE 14
Primer on Modulation
N odes transmit vectors on channel Focus on MSK (Minimum Shift Keying) modulation
D2 lags D1 by 90 degrees
- Bit “0”
D2 D1 D2 D1
D2 leads D1 by 90 degrees
- Bit “1”
Primer on Channel Effects
Attenuation
D2 and D1 are attenuated by the same amount
Channel D2 D1 D2 D1
SLIDE 15
Primer on Channel Effects
Attenuation Rotation Channel D2 D1 D2 D1
Primer on Channel Effects
Attenuation Rotation Angle between vectors is preserved Channel D2 D1 D2 D1
To decode, receiver computes angle between received vectors
Angle (D2, D1) = 90 degrees
Bit “1” was transmitted
SLIDE 16
So, How Does Dina Decode?
Time Signal No Interference No Interference Dina’s Signal Jon’s Signal Time Signal
Small uninterfered part at the start Decodes uninterfered part via standard MSK demodulation O nce interference starts, Dina changes decoding algorithm
Interference
So, How Does Dina Decode?
No Interference No Interference
SLIDE 17
W hat did Dina send?
D1 D2
W hat did Dina send? W hat did J
- n send?
D1 D2 J1 J2
SLIDE 18
W hat is Interference Vector addition
J1 J2 X1 X2 D1 D2 D2 D1
W hat does Dina know?
J1 J2 X1 X2 D1 D2
SLIDE 19
D2 D1
W hat does Dina know?
Amplitude of her Vectors
α
Amplitude of J
- n’s
Vectors
β
No Interference
X1 X2 D1 D2
Dina finds solutions for X1 and X2 W hat does Dina know?
D1’ J1’ J1 D1 X1 X2
SLIDE 20
D1 D2
Dina finds solutions for X1 and X2 W hat does Dina know?
Two solutions for each interfered vector!
D1’ J1’ J1 D1 X1 X2 J2 D2 D2’ J2’ D1 D2
Dina finds solutions for X1 and X2 W hat does Dina know?
Four possible angles!
D1’ J1’ J1 D1 X1 X2 J2 D2 D2’ J2’
SLIDE 21
D1 D2
Dina finds solutions for X1 and X2 W hat does Dina know?
Four possible angles!
D1’ J1’ J1
D1
X1 X2 J2
D2
D2’ J2’ D1 D2
Dina finds solutions for X1 and X2 W hat does Dina know?
Four possible angles!
D1’ J1’ J1
D1
X1 X2 J2 D2
D2’
J2’
SLIDE 22
D1 D2
Dina finds solutions for X1 and X2 W hat does Dina know?
Four possible angles!
D1’
J1’ J1 D1 X1 X2 J2
D2
D2’ J2’ D1 D2
Dina finds solutions for X1 and X2 W hat does Dina know?
Four possible angles!
D1’
J1’ J1 D1 X1 X2 J2 D2
D2’
J2’
SLIDE 23
D1 D2
Dina finds solutions for X1 and X2 W hat does Dina know?
Pick the correct angle 90 degrees
D1’ J1’ J1 D1 X1 X2 J2 D2 D2’ J2’ D1 D2
Dina finds solutions for X1 and X2 W hat does Dina know?
Pick the correct angle +90 degrees
D1’ J1’ J1
D1
X1 X2 J2
D2
D2’ J2’
SLIDE 24
D1 D2
Dina finds solutions for X1 and X2 W hat does Dina know?
Dictates solution for J
- n’s vectors!
D1’ J1’
J1 D1
X1 X2
J2 D2
D2’ J2’ D1 D2
W hat does Dina know? Dina finds angle between J
1 and J 2 and decodes
J1 D1
X1 X2
J2 D2
SLIDE 25
Decoding Algorithm – Decoding interference
Time Signal Interference
Decode rest of the interfered part using this algorithm Decode final uninterfered part from J
- n via standard
MSK demodulation
Performance
SLIDE 26
ANC Implementation
Software – GN URadio codebase Hardware – USRP frontend 2.4-2.48 GHz frequency range SN R of 20-30 dB Canonical topologies in mesh networks
Dina and J
- n
Router
AN C throughput gain over current 4/2 = 2 AN C throughput gain over CO PE 3/2 = 1.5
C
SLIDE 27
Throughput gain for Dina-J
- n scenario
Throughput gain CDF
0.2 0.4 0.6 0.8 1 1 1.2 1.4 1.6 1.8 2
Median Gain over Routing – 70%
Gain over Routing
Throughput gain for Dina-J
- n scenario
Throughput gain CDF
0.2 0.4 0.6 0.8 1 1 1.2 1.4 1.6 1.8 2
Gain over Routing Gain over COPE
Median Gain over Routing – 70% Median Gain over Routing – 70% Median Gain over COPE – 30%
SLIDE 28
X topology
Router Capture! Capture! Interference C
X topology
Router Capture! Capture! Interference C
SLIDE 29
X topology
Router
AN C throughput gain over current 4/2 = 2 AN C throughput gain over CO PE 3/2 = 1.5 ANC decodes interference using overheard signals
C
Throughput gain – X topology
Throughput gain CDF
0.2 0.4 0.6 0.8 1 1 1.2 1.4 1.6 1.8 2
Gain over Routing
Median Gain over Routing – 65%
SLIDE 30
Throughput gain – X topology
Throughput gain CDF
0.2 0.4 0.6 0.8 1 1 1.2 1.4 1.6 1.8 2
Gain over Routing Gain over COPE
Median Gain over Routing – 65% Median Gain over Routing – 65% Median Gain over COPE – 28%
Chain topology
AN C throughput gain over current 3/2 = 1.5
C C C C R1 R2 Src Dst
SLIDE 31
Throughput gain – Chain topology
Throughput gain CDF
0.2 0.4 0.6 0.8 1 1.15 1.2 1.25 1.3 1.35 1.4 1.45 1.5