Title: Current 802'11x Wireless Routing uplink
1 Current 802.11x Wireless Routing (uplink)
- Dina in a lossy environment with multiple routers
2 Current 802.11x Wireless Routing (uplink)
- A single packet on the uplink
3 Current 802.11x Wireless Routing (uplink)
- An erroneous packet received
4 Current 802.11x Wireless Routing (uplink)
- Wireless spatial diversity is free
- Both routers overhear Dinas transmitted packet
5 Current 802.11x Wireless Routing (uplink)
- How can these two copies of an erroneous packet
be combined to create a correct packet?
6 Previous Work Multi Radio Diversity (MRD)
Continue recombining packets on a block basis
until a packet with a correct CRC checksum occurs
7Much Lower Retransmission Rate
Instead of using hard decision higher layer
recombining
Exploit wireless spatial diversity and soft
information
8 The SOFT approach
Continue recombining packets on a block basis
until a packet with a correct CRC checksum occurs
9 Analog Network Coding
Router
10 Analog Network Coding
Router
Interference
- Dina and Jon transmit simultaneously
11 Analog Network Coding
Router
- Dina and Jon transmit simultaneously
- Router amplifies and broadcasts interfered signal
12 Analog Network Coding
Router
- Dina and Jon transmit simultaneously
- Router amplifies and broadcasts interfered signal
- Dina subtracts known signal from interfered
signal
13 Analog Network Coding
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
14 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
15Hidden Terminal Scenario
Src
R1
R2
Dst
16Hidden Terminal Scenario
Src
R1
R2
Dst
17Hidden Terminal Scenario
Src
R1
R2
Dst
P2
- Src and R2 transmit simultaneously
18Hidden Terminal Scenario
Src
R1
R2
Dst
P1
P2
- Src and R2 transmit simultaneously
- R1 subtracts P1, which he relayed earlier to
recover P2 that he wants
19Hidden Terminal Scenario
Src
R1
R2
Dst
P1
P2
- R2 and Src are hidden terminals
- Today Simultaneous transmission ? Collision
- ANC Simultaneous transmission ? Success!
20Hidden Terminal Scenario
Src
R1
R2
Dst
- Other Benefits of ANC
- First step toward addressing hidden terminals
- ANC extends network coding to new scenarios
21How do we make it work?
22Practical 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!
23Key Idea Exploit Asynchrony!
24Key Idea Exploit Asynchrony!
- Dina uses interference-free parts to estimate
channel and timing - Dina compensates for her interfering signal
- Jon runs the same algorithm backwards!
Exploit asynchrony to make it practical
25Cross layer realization of our idea
26Protocol
- 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?
27Primer on Modulation
- Nodes transmit vectors on channel
- Focus on MSK (Minimum Shift Keying) modulation
D2 lags D1 by 90 degrees ? Bit 0
D2 leads D1 by 90 degrees ? Bit 1
D2
D1
D2
D1
28Primer on Channel Effects
D2
D2
Channel
D1
D1
D2 and D1 are attenuated by the same amount
29Primer on Channel Effects
D2
D2
Channel
D1
D1
30Primer 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
31So, How Does Dina Decode?
No Interference
No Interference
Dinas Signal
Jons Signal
32So, 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
33D2
D1
34- What did Dina send?
- What did Jon send?
J1
D1
D2
J2
35- What is Interference ? Vector addition
X1
D1
J1
D2
J2
X2
36D2
X1
D1
J1
D2
D1
J2
X2
37D2
X1
ß
a
D1
X2
No Interference
Amplitude of Jons Vectors ? ß
Amplitude of her Vectors ? a
38D2
X1
D1
D1
J1
J1
D1
X2
- Dina finds solutions for X1 and X2
39D2
X1
D1
D1
J1
J1
J2
D2
D1
J2
X2
D2
- Dina finds solutions for X1 and X2
Two solutions for each interfered vector!
40D2
X1
D1
D1
J1
J1
J2
D2
D1
J2
X2
D2
- Dina finds solutions for X1 and X2
Four possible angles!
41D2
D1
X1
D1
J1
J1
J2
D2
D1
J2
X2
D2
- Dina finds solutions for X1 and X2
Four possible angles!
42D2
D1
X1
D1
J1
J1
J2
D2
D1
J2
X2
D2
- Dina finds solutions for X1 and X2
Four possible angles!
43D2
X1
D1
D1
J1
J1
J2
D2
D1
J2
X2
D2
- Dina finds solutions for X1 and X2
Four possible angles!
44D2
X1
D1
D1
J1
J1
J2
D2
D1
J2
X2
D2
- Dina finds solutions for X1 and X2
Four possible angles!
45D2
X1
D1
D1
J1
J1
J2
D2
D1
J2
X2
D2
- Dina finds solutions for X1 and X2
Pick the correct angle ? 90 degrees
46D2
D1
X1
D1
J1
J1
J2
D2
D1
J2
X2
D2
- Dina finds solutions for X1 and X2
Pick the correct angle ? 90 degrees
47D2
D1
X1
D1
J1
J1
J2
D2
D1
J2
X2
D2
- Dina finds solutions for X1 and X2
Dictates solution for Jons vectors!
48D2
D1
X1
J1
D2
D1
J2
X2
- Dina finds angle between J1 and J2 and decodes
49Decoding Algorithm Decoding interference
Interference
- Decode rest of the interfered part using this
algorithm - Decode final uninterfered part from Jon via
standard MSK demodulation
50Performance
51ANC Implementation
- Software GNURadio codebase
- Hardware USRP frontend
- 2.4-2.48 GHz frequency range
- SNR of 20-30 dB
- Canonical topologies in mesh networks
52 Dina and Jon
Router
- ANC throughput gain over current 4/2 2
- ANC throughput gain over COPE 3/2 1.5
53 Throughput gain for Dina-Jon scenario
CDF
Gain over Routing
Throughput gain
Median Gain over Routing 70
54 Throughput gain for Dina-Jon scenario
CDF
Gain over Routing
Gain over COPE
Throughput gain
Median Gain over Routing 70
Median Gain over Routing 70 Median Gain over
COPE 30
55 X topology
Router
Interference
Capture!
Capture!
56 X topology
Router
Interference
Capture!
Capture!
57 X topology
Router
- ANC throughput gain over current 4/2 2
- ANC throughput gain over COPE 3/2 1.5
ANC decodes interference using overheard signals
58 Throughput gain X topology
CDF
Gain over Routing
Throughput gain
Median Gain over Routing 65
59 Throughput gain X topology
CDF
Gain over Routing
Gain over COPE
Throughput gain
Median Gain over Routing 65
Median Gain over Routing 65 Median Gain over
COPE 28
60 Chain topology
Src
R1
R2
Dst
- ANC throughput gain over current 3/2 1.5
61 Throughput gain Chain topology
CDF
Throughput gain
Median Gain over Routing 37
62Conclusion
- Shifts in the design of wireless networks to
recognize wireless for what it is - Embrace Broadcast
- Embrace Interference
- Implementation that yields large throughput gains