Network Coding Innovation Technology Workshop Physical-layer Network Coding: Prototyping and Application Lu Lu 30th August 2013 Outlines • 1. Background of Physical-layer Network Coding (PNC) • 2. Real-time PNC Prototype – Demo Video – PNC Realization Challenges • 3. PNC in Non-relay Setting – Experimental Setup – Performance Evaluation • 4. Conclusion PNC Prototyping & Application 2 What is PNC? • Traditional view in wireless networking: interference is bad. • PNC turns things around by exploiting network coding (NC) performed by nature. • When electromagnetic waves superimpose, they add, a form of NC. • Benefits of PNC: – boost throughput PNC Prototyping & Application 3 Simplest Set-up: Two-Hop Relay Network R B A • System Model: Two-way Relay Channel (TWRC) – No direct channel between nodes A and B. – Half duplex: nodes cannot transmit and receive at the same time. – What is the minimum number of time slots needed for nodes A and B to exchange one packet via relay node R? PNC Prototyping & Application 4 Traditional Scheduling (TS) PA PA A R PB B PB Time slot 1 Time slot 2 Time slot 3 Time slot 4 • Transmissions non-overlapping in time PNC Prototyping & Application 5 Straightforward Network Coding (SNC) PB PR PA PA PB A PR PA PB R PR PA PB Time slot 1 PA PR PB B Time slot 2 Time slot 3 • Transmissions by nodes A and B still non-overlapping • Relay R uses one time slot to broadcast PNC Prototyping & Application 6 Physical-layer Network Coding (PNC) PB PR PA PA PB A PR PA PB R PA PR PB PR PA PB Time slot 1 B Time slot 2 • Transmissions by nodes A and B are simultaneous! PNC Prototyping & Application 7 Outlines • 1. Background of Physical-layer Network Coding (PNC) • 2. Real-time PNC Prototype – Demo Video – PNC Realization Challenges • 3. PNC in Non-relay Setting – Experimental Setup – Performance Evaluation • 4. Conclusion and Future Works PNC Prototyping & Application 8 Specifics • Frequency-domain PNC (FPNC) for TWRC –Build on OFDM technology as used in Wi-Fi –First PNC implementation in 2012 –First real-time PNC implementation in 2013 • Support “real” application in real-time through API PNC Prototyping & Application 9 PNC Implementation: Wireless • Frequency-Domain PNC (FPNC) in GNU Radio testbed A R B PNC Prototyping & Application 10 Demo Video: Real-Time File Exchange with PNC • A short video followed by a demo See demo video in http://www.youtube.com/watch?v=HmRBm_IIBQQ PNC Prototyping & Application 11 PNC Realization Challenges • Asynchrony – Signals from nodes A and B may arrive at the relay R with symbol and carrier-phase misalignments – Solution: PNC with OFDM (FPNC) • Channel Estimation – Relay needs to estimate two channels based on simultaneous signals – Solution: FPNC Frame Format Design PNC Prototyping & Application 12 Frame format for RPNC Data Totally Overlap 320 samples 80 samples Node A Node B CP tsA 80 samples tsA 0 2 long training symbols 128 samples 0 CP tsB CP lts tsB lts 0 0 0 CP lts data lts 0 Cyclic prefix 16 samples User Detection Channel Estimation PNC Prototyping & Application 13 data PNC Realization Challenges • Channel-decoding and Network Coding (CNC) – Tradeoff between optimality and simplicity – Solution: Opt for simplicity; adopt 802.11 convolutional code and XOR-CD CNC. Reduced constellation approach • ARQ for Retransmission – End-to-end ARQ or Relay-assisted ARQ – Solution: Opt for simplicity; adopt end-to-end ARQ PNC Prototyping & Application 14 Single-user Channel Decoder and PNC Channel Decoder in Overall RPNC System Two Users y[k ]k 1,2,... PNC Soft Demodulator x A B [k ]k 1,2,... Binary Viterbi Decoder PNC Decoder User Detector One User s A [m] sB [m]m 1,2,... SU Soft Demodulator x A [k ]k 1,2,... or x [k ] B k 1,2,... PNC Decoder Binary Viterbi Decoder s A [m]m 1,2,... or s [m] B m 1,2,... Single User Decoder P ( y[k ] | xB [k ] 1) log , k = 1, 2,… ) Soft Information (Log Likelihood Ratio: P ( y [ k ] | x [ k ] 1) B PNC Prototyping & Application 15 Reduced Constellation Approach to Computing Soft Information on XOR bit Received sample with noise Mapping four constellation points to two Constellation points for log y likelihood computation Imag hA hB hB hA hB 0 hA hA hB hA hB real • BPSK for both nodes A and B • Between two points of the same XOR, choose the one with the shorter Euclidean distance PNC Prototyping & Application 16 PNC Realization Challenges • Long Latency between USRP-PC – The turn-around time for USRP-PC may be long and unpredictable – Solution: Burst Transmission Mode PNC Prototyping & Application 17 Burst Transmission Mode in RPNC Packet Gap Uplink Fixed Delay Tx End node A X 1A X 2A …… X MA …… X MB f1 X 2B X 1B Tx End node B Y1A B Rx Relay node R Y2A B …… YMA B Fixed Delay M packets for FDD PNC (Burst 1) Tx Relay node R X 1A B Bea con Rx End node B …… X MA B Bea con f2 Downlink Rx End node A X 2A B Random Delay X 1A B X 2A B …… X MA B X 1A B X 2A B …… X MA B PNC Prototyping & Application 18 Normalized throughput of PNC and TS Normalized Throughput 2 PNC TS 1.5 PNC can double the throughput 1 0.5 0 5 10 15 SNR (dB) PNC Prototyping & Application 20 25 19 Outlines • 1. Background of Physical-layer Network Coding (PNC) • 2. Real-time PNC Prototype – Demo Video – PNC Realization Challenges • 3. PNC in Non-relay Setting – Network Coding Multiple Access (NCMA) – Performance Evaluation • 4. Conclusion and Future Works PNC Prototyping & Application 20 PNC in Non-Relay Setting? C Access Point Access Point A D Internet B A Wireless LAN B • Access point wants to get both Message A and Message B, not just their XOR. • Does PNC have a role to play? PNC Prototyping & Application 21 PNC In Non-Relay Network: Network Coding Multiple Access (NCMA) A AP B • Nodes A and B send to AP simultaneously • AP uses three decoders to separately decode packet A, packet B, and packet A B • Eight possible events: – – – – – Packets A, B, and A B decoded Packets A and B decoded … Packet A B decoded None decoded PNC Prototyping & Application 22 PHY-Layer Decoders of NCMA x A [k ]k 1,2,... MUD Soft Demodulator Two Users y[k ]k 1,2,... PNC Soft Demodulator SU Soft User Demodulator Detector Single User xB [k ]k 1,2,... x A B [k ]k 1,2,... x A [k ]k 1,2,... or x [k ] B k 1,2,... Binary Viterbi Decoder Binary Viterbi Decoder Binary Viterbi Decoder Binary Viterbi Decoder CiA CiB CiA CiB CiA or CiB P ( y[k ] | xB [k ] 1) log Soft Information (Log Likelihood Ratio: , k = 1, 2,… P ( y [ k ] | x [ k ] 1) B PNC Prototyping & Application ) 23 Alternatives for MUD Decoding x A [ k ]k 1,2 ,... Binary Viterbi RMUD Soft Demodulator Option 1 Option 2 MUD Decoder Ci A Decoder x B [ k ]k 1,2 ,... B Binary Viterbi Decoder Ci Ci A RMUD Decoder B Ci SIC Decoder MUD Decoder Two Users PNC Soft Demodulator x A B [ k ]k 1,2 ,... Ci Ci A Binary Viterbi Decoder B PNC Decoder y [ k ]k 1,2 ,... User Detector One User SU Soft Demodulator x A [ k ]k 1,2 ,... or x [ k ]k 1,2 ,... B Binary Viterbi Decoder Ci A or C B i Single User Decoder PNC Prototyping & Application 24 NCMA: PHY-layer Bridging C3B PNC Prototyping & Application 25 Are Lone XOR Packets Useful? Complementary XOR Lone XOR • Do lone XOR packets have a role to play? PNC Prototyping & Application 26 MAC-Layer Erasure Code + PHY-Layer Channel Code Message M Packets {C , C ,..., C } A A 1 A 2 A N Message M B Packets {C1B , C2B ,..., CNB } If RS code is used, as soon as AP decodes any L of packets {C1A , C2A ,..., CNA }, it can obtain M A . Similarly for M B . Are XOR packets, {C1A C1B , C2A C2B , ..., CNA CNB }, useful? PNC Prototyping & Application 27 NCMA: MAC-Layer Bridging with L = 3 Example: Decoding M B , based on M A and M A M B , with L 3 Packet Index 1 Eq A Eq A B Packet Index 1 Eq A 2 C2A C3B 3 C3A C4B 4 C4A 5 C5A Eq A C1B Packet Index 1 C2B 2 C2A C3B 3 C3A C4B 4 C4A 5 C5A Eq B C1A C2A B 2 3 4 C4A 5 C5A Packet Index 1 Eq A 2 C2A 3 C3A 4 C4A 5 C5A C4A B Eq A B C1A C2A B C4A B Eq B C5B PNC Prototyping & Application Eq A B Eq B C1A C2A B C3B C4A B C4B Eq A B Eq B C2A B C2B C1A C3B C4A B C4B 28 Experiments: Layout of Indoor Environment for 9 USRP N210 Nodes 4 3 6 1 7 9 AP 2 5 8 Institute of Network Coding (INC) PNC Prototyping & Application 29 PHY-Layer Packet Decoding Statistics (Balanced Power Case) Solo XOR packets 100% AB AX|BX A|B X NONE Percentage 80% 60% X X 40% AX|BX 20% 0% 7 7.5 8 AX|BX 8.5 9 9.5 SNR (dB) 10 10.5 11 11.5 AB: Both A and B decoded AX|BX: A and XOR decoded or B and XOR decoded A|B: Either only A or only B decoded X: Only XOR decoded PNC Prototyping & Application 30 Throughput (packets per slot) Overall Throughputs of Different Schemes with RS code parameter LA = 4, 8, 16, 32, and fixed SNR = 9dB. 1.4 1.3 1.2 1.1 NCMA w. RMUD Upper Bound NCMA w. RMUD, LA=1.5LB 1 NCMA w. RMUD, LA=LB 0.9 RMUD 0.8 5 10 15 20 25 30 LB PNC Prototyping & Application 31 Overall Throughputs of Different Schemes for Different SNRs LA = 1.5×LB = 24. 2 Throughput (packets per slot) NCMA 1.5 MUD SU 1 0.5 0 7.5 8 8.5 9 SNR (dB) 9.5 PNC Prototyping & Application 10 10.5 32 Throughputs of Four User Pairs 2 Throughput 1.5 4 A, NCMA w. RMUD B, NCMA w. RMUD A, NCMA w. RMUD+SIC B, NCMA w. RMUD+SIC A, SU B, SU 3 6 1 7 9 AP 2 5 8 1 0.5 0 Pair 1 Pair 2 Pair 3 Pair 4 PNC Prototyping & Application 33 4 Pairing Strategies 3 6 1 7 9 AP 2 5 8 NCMA with (RMUD+SIC) 3 Throughput 2.5 Strategy 1 Strategy 2 Scenario: Four users at locations 2, 3, 4, 5. How to form pairs? 2 Strategy 1: P2 and P4 Strategy 2: P3 and P5 1.5 1 0.5 0 Loc. 2 Loc. 3 Loc. 4 Loc. 5 Sum Pair “strong with weak” rather than “strong with strong and weak with weak” PNC Prototyping & Application 34 NCMA: Overall Summary A AP B • First venture into non-relay setting for PNC • PNC may have a role to play in the multiple access scenario – for simplification of decoder design – for jumbo messages PNC Prototyping & Application 35 Outlines • 1. Background of Physical-layer Network Coding (PNC) • 2. Real-time PNC Prototype – Demo Video – PNC Realization Challenges • 3. PNC in Non-relay Setting – Experimental Setup – Performance Evaluation • 4. Conclusion PNC Prototyping & Application 36 Conclusions • There has been a lot of theoretical work on PNC • Relatively few experimental investigations • RPNC: The first real-time PNC prototype • NCMA: PNC can be applied in a non-relay setting to boost system throughput • Future: apply PNC and NCMA to commercial wireless networks: cellular (e.g., LTE-A) and WLAN PNC Prototyping & Application 37 PNC Prototyping & Application 38 To Probe Further • “Implementation of Physical-layer Network Coding,” in ICC ’12 and Phycom, Mar. 2013. • “Real-time Implementation of Physical-layer Network Coding,” in SRIF ’13, an ACM SIGCOMM Workshop. • “Network-coded Multiple Access,” Technical Report, http://arxiv.org/abs/1307.1514. PNC Prototyping & Application 39