Wireless Network Coding
description
Transcript of Wireless Network Coding
![Page 1: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/1.jpg)
Wireless Network Coding
Sachin KattiAssistant Professor
EE & CS, Stanford University
![Page 2: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/2.jpg)
What is Network Coding?Generalization of store and forward networks
Routers mix/code packets’ content before forwarding
![Page 3: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/3.jpg)
The Butterfly ExampleSource wants to multicasts a and b to both
destinations
src
dst1 dst2
a b
a
a
a
a
b
b?
a a b
Link capacity is 1 message/second
![Page 4: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/4.jpg)
The Butterfly ExampleSource wants to multicasts a and b to both
destinations
src
dst1 dst2
a b
a
a
a
a
b
b?
src
dst1 dst2
a b
a
a
a
a
b
b?
+b
a+b +b
a a b a a bb
XOR
Link capacity is 1 message/second
a XOR (a XOR b) = b
This multicast connection is impossible without network coding
![Page 5: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/5.jpg)
What is Network Coding Good for?
Throughput
![Page 6: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/6.jpg)
Improves Multicast Throughput
src
dst1 dst2
a b
a
a
a
a
b
b?
src
dst1 dst2
a b
a
a
a
a
b
b
+b
a+b +b
Without network coding, multicast throughput is 1.5
With network coding, multicast throughput is 2
XOR
![Page 7: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/7.jpg)
Improves Unicast Throughputs1 wants to send a to d1, and s2 wants to send b to d2
s2
d2
s1
d1
a b
![Page 8: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/8.jpg)
Improves Unicast Throughput
s2
d2
s1
d1
a
a
a
a
b
b
+b
a+b +b
s1 wants to send a to d1, and s2 wants to send b to d2
Without net-coding, avg. per flow throughput is 0.5With net-coding, avg. per-flow throughput is 1
XOR
![Page 9: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/9.jpg)
What is Network Coding Good for?
ThroughputRobustness
![Page 10: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/10.jpg)
Robustness to Packet Loss
With source coding, the maximum rate is (1- ε)(1- ε)E.g., ε=0.05; of each 100 packets 10% should be redundancy data rate = 0.9
With network coding, the maximum rate is (1- ε)
dstsrc Rε
Each link has a loss rate of ε Virtual link Delivery Prob. = (1- ε)(1- ε)ε
![Page 11: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/11.jpg)
Robustness to Packet Loss
With source coding, the maximum rate is (1- ε)(1- ε)E.g., ε=0.05; of each 100 packets 10% should be redundancy data rate = 0.9
With network coding, the maximum rate is (1- ε)E.g., ε= 0.05; of each 100 packets only 5% should be redundancy data rate =0.95
dstsrc Rε ε
Each link has a loss rate of εDelivery = (1- ε) Delivery = (1- ε)
![Page 12: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/12.jpg)
Coupon Collector ProblemProblem: n unique coupons; a collector samples
randomlyWithout coding
Need a sample size of about nlog(n) to collect all unique coupons
With random codingNeed n samples to collect all unique coupons e.g., 3 coupons c1, c2 and c3
Robustness to Randomness
Y2 = 5 c1 + c2 + 7c3 Y1 = c1 + 3 c2 + 4 c3
Y3 = c1 + c2
![Page 13: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/13.jpg)
• Codes packets across connections
• Mainly Unicast
Inter-flow
Two Types of Network Coding
• Increases Throughput
• Codes packets within a connection
• Mainly multicast
Intra-flow
• Robustness to packet loss
![Page 14: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/14.jpg)
COPE An Example of Inter-flow Network
Coding
![Page 15: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/15.jpg)
City-wide Network
Increased Demands for Wireless Networks Digital Home
Emergency Networks
![Page 16: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/16.jpg)
But, wireless networks struggle with low throughput, particularly in dense deployments
Can network coding help?
![Page 17: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/17.jpg)
Current Approach
Router
Current Approach Requires 4 transmissionsBut can we do better?
Alice Bob
![Page 18: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/18.jpg)
COPE
Router
Network Coding 3 transmissions instead of 4
XOR =
XOR = XOR =
Network Coding Increases Throughput
Alice Bob
![Page 19: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/19.jpg)
Beyond Duplex Communications
S1 S2
D1D2
Two communications that intersect at a router
Router
![Page 20: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/20.jpg)
Beyond Duplex Communications
S1 S2
D1D2
Router
D2 overhears packet
D1 overhears packet
![Page 21: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/21.jpg)
Beyond Duplex Communications
S1 S2
D1D2
Router
XOR =
XOR = XOR =
3 transmissions instead of 4 Higher Throughput
![Page 22: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/22.jpg)
Generalizes to arbitrary networks
![Page 23: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/23.jpg)
Generalizes to arbitrary networks
![Page 24: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/24.jpg)
Differences from Traditional Wireless Networks
Embrace the broadcast nature of wirelessDispose of the point-to-point abstraction
Routers mix bytes across packets, then forward them Network Coding
![Page 25: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/25.jpg)
Nodes snoop on all packetsA node stores all heard packets for a limited time
Exploit Broadcast - Snoop
![Page 26: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/26.jpg)
Nodes snoop on all packetsA node stores all heard packets for a limited time
Exploit Broadcast - Snoop
Storage
Tx Queue
![Page 27: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/27.jpg)
Routers Code Packets
To send packet p to neighbor A, XOR p with packets already known to A
Thus, A can decode
But how can multiple neighbors benefit from a single transmission?
![Page 28: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/28.jpg)
Which Packets to Code Together?
Arrows show next-hop
CD
A
B
![Page 29: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/29.jpg)
CD
A
B
XORXOR
XOR =
=
Bad CodingOnly one neighbor benefits from one
transmission
Which Packets to Code Together?
![Page 30: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/30.jpg)
CD
A
B
XOR =
XOR =
XOR =
Good CodingTwo neighbors benefit from one
transmission!
Which Packets to Code Together?
![Page 31: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/31.jpg)
CD
A
B
XOR =XORXOR =XOR
XOR XOR =
XOR =XOR
Best CodingThree neighbors benefit from one
transmission!
Which Packets to Code Together?
![Page 32: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/32.jpg)
CD
A
B
XOR =XORXOR =XOR
XOR XOR =
XOR =XOR
XOR n packets together iff the next hop of each packet already has the other n-1 packets apart from the one it wants
Which Packets to Code Together?
![Page 33: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/33.jpg)
Problem Formalization
Router has n packets, each node has a different subset of these packets and needs a specific subsetMinimize number of transmissions subject to coding constraints
Router
AB
C
![Page 34: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/34.jpg)
Solution IntuitionVirtual graph: Each packet is a vertex, edge if corresponding packets can be coded together
Router
ABC
COPE coding problem Virtual Graph
![Page 35: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/35.jpg)
Solution IntuitionVirtual graph: Each packet is a vertex, edge if corresponding packets can be coded together
Router
ABC
Coded packet Clique in virtual graph
COPE coding problem Virtual Graph
Minimizing no. of transmissions Clique partitioning in virtual
graph
![Page 36: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/36.jpg)
Solution IntuitionCOPE’s coding problem Clique partitioning in virtual graphClique partitioning Graph coloring in complementary graphNP hard, heuristic solution in paper
Coding in COPE
Graph coloring
Network capacity with network coding
![Page 37: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/37.jpg)
COPE’ s CharacteristicsCOPE is a forwarding mechanismIt sits transparently between IP and MACRouting is unmodified (i.e., shortest path)
Opportunistic Code packets if possible, if not forward without coding
Does not delay packets
![Page 38: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/38.jpg)
Performance
![Page 39: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/39.jpg)
COPE is implemented in Linux
![Page 40: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/40.jpg)
Alice-and-Bob Experiment
Router
3 transmissions instead of 4 Throughput gain is 4/3 = 1.33
Alice Bob
![Page 41: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/41.jpg)
Results of the Alice-and-Bob
11.11.21.31.41.51.61.71.81.92
1 2 5.5 11
COPE almost doubles the throughput
Ratio of Throughput with COPE to Current Approach
802.11b bit rate
![Page 42: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/42.jpg)
Why More Gain than 1.33?
802.11 MAC is fair 1/3 capacity for each nodeWithout COPE, router needs to send twice as much as George or Willy Router drops packetsWith COPE, all nodes need equal rateCOPE alleviates the mismatch between
MAC’s capacity allocation and the congestion at a node
Router
Alice Bob
![Page 43: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/43.jpg)
802.11 is fair 1/3 for each node• Without COPE router needs to send twice as much
• With COPE, all nodes need equal rate
Why More Than 1.33?
COPE alleviates the mismatch between MAC’s allocation and the congestion at a
node
1/3 1/3
1/3
![Page 44: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/44.jpg)
Reduction in #Transmissions
Improvement of Draining Rate at Bottlenecks
In Alice-Bob scenario, Coding Gain is 4/3 = 1.33
In Alice-Bob scenario, Coding+MAC Gain is 2
Coding Gain Coding+MAC Gain
Coding gain is bounded by 2
Coding+MAC gain can be infinite
Can show that
Nodes not backlogged Nodes backlogged
![Page 45: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/45.jpg)
Extension: Coding-Aware Routing [SRB07]
No coding opportunities since flows take different routes
A
B C D
EF Red Flow: A DGreen Flow: D F
6 transmissions to send two packets
![Page 46: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/46.jpg)
Extension: Coding-Aware Routing [SRB07]
A
B C D
EF Red Flow: A DGreen Flow: D F
Pick routes that enable coding5 transmissions instead of 6
C & E can now code packets
Modified routing that maximizes throughput given coding
![Page 47: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/47.jpg)
Can We Do Better?
How about 2 time slots?Network coding requires 3 time slotsCurrent approach requires 4 time slots
Router
![Page 48: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/48.jpg)
Analog Network Coding
Instead of router mixing packets…
Exploit that the wireless channel naturally mixes signals when packets interfere!
![Page 49: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/49.jpg)
Analog Network Coding
![Page 50: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/50.jpg)
Analog Network Coding
• Alice and Bob send simultaneously• Router receives the sum of the two signals (plus time
and phase shifts)• Router amplifies and forwards• Alice subtracts her transmission from received signal
- =
2 Time Slots Even Higher Throughput
Collision
- =
![Page 51: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/51.jpg)
ChallengesInterfered signal is not really the sum
Channel distort signalTwo signals are never synchronizedIt is not A(t) + B(t) but f1( A(t) ) + f2( B(t-T) )
![Page 52: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/52.jpg)
Solution: The Bliss of Asynchrony
Alice uses non-interfering bits from her signal to estimate her channelAlice compensates for her interfering signalBob runs the same algorithm backward
Time
SignalNo Interference No Interference
We exploit the lack of synchronization!
![Page 53: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/53.jpg)
Design & ImplementationANC works with any modulation scheme
Accurate channel, frequency & sampling offset estimationIterative algorithms to deal with interference
Linear decoding complexityImplemented in software radios
(GMSK, BPSK, QPSK, …)
![Page 54: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/54.jpg)
Primer on Modulation• Digital version of wireless signals Complex samples
• Focus on GMSK (Gaussian Minimum Shift Keying)
N2 lags N1 by 90 degrees Bit “0”N2
N1
N2N1
N2 leads N1 by 90 degrees Bit “1”
![Page 55: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/55.jpg)
Primer on Channel Effects• Attenuation
N2 and N1 are attenuated by the same amount
Channel
N2
N1
N2
N1
![Page 56: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/56.jpg)
Primer on Channel Effects• Attenuation• Rotation
Channel
N2
N1
N2
N1
![Page 57: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/57.jpg)
Primer on Channel Effects• Attenuation• Rotation
Angle between complex numbers is preserved
ChannelN2
N1
N2
N1
To decode, compute angle between received complex numbers Angle (N2, N1) = 90 degrees
Bit “1” was transmitted
![Page 58: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/58.jpg)
So, How Does Alice Decode?
Time
SignalNo
Interference
No Interferen
ce
Alice’s Signal
Bob’s Signal
![Page 59: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/59.jpg)
Time
Signal
• Small uninterfered part at the start• Decodes uninterfered part via standard GMSK
demod• Once interference starts, Alice changes decoding
algorithm
Interference
No Interferen
ce
No Interferen
ce
So, How Does Alice Decode?
![Page 60: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/60.jpg)
• What did Alice send?
N1
N2
![Page 61: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/61.jpg)
• What did Alice send?• What did Bob send?
N1
N2
B1
B2
![Page 62: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/62.jpg)
B1
N1
B2N2
• What did Alice send?• What did Bob send?
![Page 63: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/63.jpg)
• What is Interference Complex addition
B1
N1X1
X2B2
N2
![Page 64: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/64.jpg)
N2
N1
• What does Alice know?
B1
N1X1
X2B2
N2
![Page 65: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/65.jpg)
N2
N1
• What does Alice know?
Amplitude of his Samples α
Amplitude of Bob’s Samples β
No Interferen
ce
αβ
X1
X2
![Page 66: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/66.jpg)
Solutions for interfered complex sample
Lemma:“If X is an interfered complex number satisfying the
above equation, then the pair takes one of the following two values:
where ))DjααD(X(β
))DjββD(X(αθ2
2
1
1
arg
arg
2
222
|| XD
jj eeX
],[
Interfered complex no:
![Page 67: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/67.jpg)
N1
N2
• Alice finds solutions for X1 and X2
• What does Alice know?
B1
N1X1
X2B2
N2
B1’N1’
N2’
B2’
Two solutions for each interfered complex sample!
![Page 68: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/68.jpg)
N1
N2
Alice finds solutions for X1 and X2
• What does Alice know?
Four possible angles!
B1
N1X1
X2B2
N2
B1’N1’
N2’
B2’
![Page 69: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/69.jpg)
N1
N2
Alice finds solutions for X1 and X2
• What does Alice know?
Four possible angles!
B1
N1X1
X2B2
N2
B1’N1’
N2’
B2’
![Page 70: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/70.jpg)
N1
N2
Alice finds solutions for X1 and X2
• What does Alice know?
Four possible angles!
B1
X1
X2B2
N2
B1’N1’
N2’
B2’
N1
![Page 71: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/71.jpg)
N1
N2
Alice finds solutions for X1 and X2
• What does Alice know?
Four possible angles!
B1
N1X1
X2B2
N2
B1’N1’
N2’
B2’
![Page 72: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/72.jpg)
N1
N2
Alice finds solutions for X1 and X2
• What does Alice know?
Four possible angles!
B1
N1X1
X2B2
N2
B1’
N2’
B2’
N1’
![Page 73: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/73.jpg)
N1
N2• What does Alice know?
B1
N1X1
X2B2
N2
B1’N1’
N2’
B2’
Pick the correct angle +90 degrees
![Page 74: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/74.jpg)
• What does Alice know?
B1
N1X1
X2B2
N2
B1’N1’
N2’
B2’
N1
N2
Pick the correct angle +90 degrees
![Page 75: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/75.jpg)
• What does Alice know?
B1
N1X1
X2 B2N2
B1’N1’
N2’
B2’
N1
N2
Dictates solution for Bob’s complex samples!
![Page 76: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/76.jpg)
• What does Alice know?
B1
N1X1
X2 B2N2
B1’N1’
N2’
B2’
N1
N2
• Alice finds angle between B1 and B2 and decodes
![Page 77: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/77.jpg)
Decoding Algorithm – Decoding interference
Time
Signal Interference
• Decode rest of the interfered part using this algorithm
• Decode final uninterfered part from Bob via standard GMSK demodulation
• Bob runs the same algorithm backwards
![Page 78: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/78.jpg)
Generalizes to other topologies
Chain (even with single flow)
Cross
Other COPE topologies
CS CR1 CR2 CD
S1 B2
D1D2
R
![Page 79: Wireless Network Coding](https://reader035.fdocuments.us/reader035/viewer/2022062410/568163a3550346895dd4a778/html5/thumbnails/79.jpg)
SummaryNetwork coding allows routers to mix packet content before forwarding
Inter-flow network coding mixes packets across flows
Exploits broadcastProvides in-network compressionExploits strategic collisions
Prototypes that yield large throughput increases