Wireless Physical Layer Network Coding GRCon 2015 David Halls Ph.D. Toshiba Telecommunications Research Lab. 26 th August 2015
© 2014 Toshiba Corporation
Outline • Motivation and introduction to WPLNC. • Implementation of 2x1 USRP system. • Expansion to 2x1x2 USRP system. • Multi-source modulation for 2x1x2 USRP system. • Expansion to 2x2x2 USRP system. • Future plans.
© 2014 Toshiba Corporation
2
Motivation - Smart Meter Network Vision • New paradigm in self-adaptive, reconfigurable, generic wireless networks supporting multiple concurrent uses: IoT. • Require: high-throughput, energy efficiency, and reliability.
Robust schemes allowing reliability in harsh environments
Water Meter
Electricity Meter
CCTV
Densification of relay networks Applicable to dense Smart Meter Networks and Internet of Things Water Board
Electricity Board
Police/Fire service © 2014 Toshiba Corporation
3
Dense Wireless Cloud Network (DIWINE) • To facilitate this vision we introduce the DIWINE with a massively interacting distributed PHY. • Avoid orthogonalisation, exploit interference and avoid centralised control. • Allocates as much of the functionality traditionally performed at upper layers to the self-organising PHY. • To facilitate this DIWINE makes use of a technique known as Wireless Physical Layer Network Coding. © 2014 Toshiba Corporation
4
Wireless Physical Layer Network Coding
• Wireless Physical Layer Network Coding (WPLNC) is a wireless extension of packet-based Network Coding. • Applied to multisource wireless relay networks gives gains in throughput using compression of data flows.
• Allows non-orthogonal transmission (same time and frequency) leading to efficient resource usage.
INSERT TITLE HERE
© 2014 Toshiba Corporation
5
Wireless Physical Layer Network Coding • Only functions of the superimposed data are decoded at relays instead of multi-user decoding.
• The most well known WPLNC map is the eXclusive OR (XOR) function.
INSERT TITLE HERE
© 2014 Toshiba Corporation
6
BPSK PHY-level XOR – ‘Building Block’ 1
0
-1
1
SA
11
10,01
-2
R
SB 1
0
-1
1
2
0
0
00 Relay I/P
0
1 1
0
-1
1
Relay O/P
2 input bits map to 1 output © 2014 Toshiba Corporation
7
Implementation of 2x1 ‘Building Block’ • Used GNU Radio and N210s with XCVR2450 at 2.4GHz. • Implemented a Cloud Initialisation Procedure (CIP) which allows number of sources to be estimated [1].
[1] T. Hynek, D. Halls, J. Sýkora, “Practical implementation of cloud initialization procedure for wireless physical layer network coding clouds”, European Wireless, June 2014. © 2014 Toshiba Corporation
8
Implementation of 2x1 Building Block • Based on GNU Radio’s OFDM tx/rx (thanks MB!) a) Expanded to support MISO/MIMO, dual headers for sync/est, b) Expanded to perform per symbol channel est/eq (instead of packet).
Updated HPD to cope with two sources Updated frame eq. to do per symbol and per stream © 2014 Toshiba Corporation
9
Calling MATLAB from GNU Radio • Calling MATLAB code from C++ blocks in GNU Radio. • Allows rapid prototyping and use of advanced DSP libraries. • Requires complicated updates to GNU Radio configuration.
This block calls functions in a MATLAB compiled shared library (requires CompilerToolbox)
© 2014 Toshiba Corporation
10
Developing the Smart Meter Network • We then progressed from the 2x1 building block... Water Meter
Water Board
Electricity Meter
Electricity Board
CCTV
Police/Fire service
© 2014 Toshiba Corporation
11
Developing the Smart Meter Network • ...to what is known as the 1-relay butterfly. Water Meter
Water Board
Electricity Meter
Electricity Board
CCTV
Police/Fire service
© 2014 Toshiba Corporation
12
1-relay Butterfly with WPLNC • No direct path from SA to DA or SB to DB • Half timeslots = double throughput! Hierarchical Side Information (H-SI)
DB
SA a1
a1
b1
a1 b1
SB
b1
a1
a1
(b1
a1)=b1
R
DA
Hierarchical Side Information (H-SI) b1
a1
Timeslot 1/Time Slot 2 MA/BC
b1 b1 b1
a1 (b1
a1)=a1
© 2014 Toshiba Corporation
13
1-relay Butterfly Implementation • OFDM using QPSK with ½ rate LDPC code. • Processing delay of relay = 200ms; so only quasi-real-time. • Works without external sync (except SA&SB) using CFO correction.
Encoding/decoding
© 2014 Toshiba Corporation
14
Burst MIMO Transmission at Source • Issue with tx sync when transmitting bursty data. • Use UHD source block at source node in order to obtain rx_time0. • Tx_time = rx_time0 + init_delay + burst_int*burst_num. init_delay rx_time0
0
1
2
burst_int
Source Flowgraph
• SOB added to beginning of header(s), EOB added to end of PL(s). © 2014 Toshiba Corporation
15
Transmitting Bursty Sensor Data • Issue when transmitting real-time data in bursty fashion. • Buffers fill with 1000’s of initial sensor data value. • Transmission every Xms thus leads to backlog of values.
Message strobe controls data flow
Reads sensor data from DB Source Flowgraph © 2014 Toshiba Corporation
16
Timing at Relay • rx_time tracked in updated Header Payload Demux (HPD). • In HPD: rx_timex = rx_time0 + n_items_read/samp_rate. • In ‘tag_control_cc’: tx_time = rx_timex + burst_int.
HPD (Must ensure rx_timex tag added to PL stream)
Relay Flowgraph
• SOB added to beginning of header, EOB added to end of PL.
© 2014 Toshiba Corporation
17
Multi-source Modulation Design • Combined WPLNC with Superposition-Coding (SC). • Constellation chosen depending on SNR of the three links (S->R, R->D, S->D) leading to an adaptive modulation scheme.
Constellation design; ‘basic’ and ‘superposed’ parts [2],[3]. © 2014 Toshiba Corporation
18
Pre-rotation Calculation at Relay • Constellations designed for AWGN, so we implement pre-rotation of sourceB. Phase difference between HA and HB calculated in FD, 𝜃𝐵 − 𝜃𝐴 𝑚𝑜𝑑 2𝜋
Quantized integer rotation passed back to source via UDP Relay flowgraph
© 2014 Toshiba Corporation
19
Pre-rotation Implementation at Source
Prerotation index received via UDP, value sampled using Function Probe
Phase prerotation (𝑒 −𝑗𝜋𝑛 16 ) applied to header and payload of TxB Source flowgraph
© 2014 Toshiba Corporation
20
Pre-rotation Results
No pre-rotation
With pre-rotation
Relay Received Constellations
© 2014 Toshiba Corporation
21
Multi-source Modulation Design Results
Throughput a) fixed SNRMAC=20 dB, SNRBC=20 dB, b) fixed SNRMAC=20 dB, SNRBC=16 dB [2].
Analytical throughput (left) and USRP real-world setup (right) for SNRBC = 20dB [3]. © 2014 Toshiba Corporation
22
Developing the Smart Meter Network • We then expanded from the 1-relay butterfly... Water Meter
Water Board
Electricity Meter
Electricity Board
CCTV
Police/Fire service
© 2014 Toshiba Corporation
23
Developing the Smart Meter Network • ...to the 2-relay butterfly which requires the Distributed Learning Algorithm (DLA)... Water Meter
Water Board
Electricity Meter
Electricity Board
CCTV
Police/Fire service
© 2014 Toshiba Corporation
24
Distributed Learning Algorithm (DLA) • Algorithm for WPLNC combining function selection where multiple relays are present. • Global goal - invertibility at all destinations (can’t all use XOR). • Local goal - maximise relay's utility function (e.g. constellation size or power consumption). • Game Theory bargaining between relays to find global optimum. • No longer need S->D link, so range is enhanced.
2S x 2R x 2D © 2014 Toshiba Corporation
25
DLA Implementation • Relays start off using a full map, i.e. they map 2*2bps input to 4bps output (16QAM), so there is diversity but no compression.
SA a1,a2
SB b1,b2
11
01
10
00
11
01
10
00
DB Rc
a1,a2,b1,b2 a1,a2,b1,b2
DA
Rr
a1,a2,b1,b2 a1,a2,b1,b2
Timeslot 1/Timeslot 2/Timeslot 3 © 2014 Toshiba Corporation
26
DLA Implementation • Rc wins bargaining and maps 4 input to 3 output bits (8PSK) using an extended map.
SA a1,a2
11
01
10
00
101 001
Rc
100 000
DB
010
fext1(a1,a2;b1,b2) a1,a2,b1,b2
011 111
110
Rc wins
SB b1,b2
11
01
10
00
DA
Rr
fext1(a1,a2;b1,b2) a1,a2,b1,b2
Timeslot 1/Timeslot 2/Timeslot 3 © 2014 Toshiba Corporation
27
DLA Implementation • Rr wins and uses different extended WPLNC mapping to map 4 i/p bits to 3 o/p bits; combination of fext1 and fext2 are invertible 11
SA a1,a2
10
01 00
101 001
Rc
SB b1,b2
11
01
10
00
000
010
011 111
Rr wins
100
101 001
110
100 000
DB fext1(a1,a2;b1,b2) fext2(a1,a2;b1,b2) (a,b)=[fext1(a1,a2;b1,b2), fext2(a1,a2;b1,b2)]-1
010
011 111
Rr
Timeslot 1/Timeslot 2/Timeslot 3
110
DA fext1(a1,a2;b1,b2) fext2(a1,a2;b1,b2) (a,b)=[fext1(a1,a2;b1,b2), fext2(a1,a2;b1,b2)]-1 © 2014 Toshiba Corporation
28
DLA Implementation • Rc wins again and this time it drops to a minimum WPLNC mapping to map 4 i/p bits to 2 o/p bits (XOR is one e.g.). 11
SA a1,a2
10
01 00
Rc Rc wins
SB b1,b2
11
01
10
00
11
01
10
00
101 001
DB
100
fmin1(a1⨁b1;a2⨁b2) fext2(a1,a2;b1,b2) (a,b)=[fmin1(a1⨁b1;a2⨁b2), fext2(a1,a2;b1,b2)]-1
000
010
011 111
Rr
Timeslot 1/Timeslot 2/Timeslot 3
110
DA fmin1(a1⨁b1;a2⨁b2) fext2(a1,a2;b1,b2) (a,b)=[fmin1(a1⨁b1;a2⨁b2), fext2(a1,a2;b1,b2)]-1 © 2014 Toshiba Corporation
29
DLA Implementation • Rr wins again (cannot choose XOR as two XOR functions results in a non-invertible combination at the destinations). 11
SA a1,a2
10
01 00
Rc
11
01
10
00
11
01
10
00
Rr wins
11
SB
10
b1,b2
DB fmin1(a1⨁b1;a2⨁b2) fmin2(a1,a2;b1,b2) (a,b)=[fmin1(a1⨁b1; a2⨁b2), fmin2(a1,a2;b1,b2)]-1
01
DA
00
Rr
Timeslot 1/Timeslot 2/Timeslot 3
fmin1(a1⨁b1;a2⨁b2) fmin2(a1,a2;b1,b2) (a,b)=[fmin1(a1⨁b1;a2⨁b2), fmin2(a1,a2;b1,b2)]-1 © 2014 Toshiba Corporation
30
DLA Implementation • Selfish nodes choosing to maximise local utility could result in non-invertible combination at destination. • The time to converge to two minimum mappings depends on p, the probability of transmitting request to adapt.
DLA average convergence time (adaptation steps) and its standard deviation [4].
[4] T. Hynek, D. Halls, J. Sykora, “Hardware implementation of distributed learning algorithm for wireless physical layer network coding selection”, Proceedings of ICC 2015. © 2014 Toshiba Corporation
31
Demonstrations EuCNC Paris, July 2015.
https://www.youtube.com/watch?v=NAJYbv93XeA&feature=youtu.be © 2014 Toshiba Corporation
32
Future Plans • Expand to a 9-node bidirectional scenario. • Integrate WPLNC with distributed synchronisation [6] and Toshiba’s Smart City Dashboard for SMN/IoT. • Utilise the E310 to allow mobility, and use RFNoC to reduce processing delays in the relays.
© 2014 Toshiba Corporation
33
Summary • Motivation and introduction to WPLNC. • Implementation of 2x1 USRP system: – Expansion of GNU Radio SISO OFDM to MISO. – Use of MATLAB within GNU Radio.
• Expansion to 2x1x2 USRP system: – Burst MIMO transmission. – Transmitting bursty sensor data. – Timing at the relay.
• Constellation design for 2x1x2 USRP system: – Pre-rotation.
• Expansion to 2x2x2 USRP system – Distributed Learning Algorithm (DLA) implementation.
• Future plans. © 2014 Toshiba Corporation
34
Thank you • To my collaborators: – Tomáš Hynek, Jan Sýkora, David Simmons, Justin P. Coon, Maria Antonieta Alvarez, William Thompson, Umberto Spagnolini, Pavel Procházka, Tomáš Uricár and Stojan Denic.
• To the EU FP7 framework for part-funding the DIWINE project.
• And to the GNU Radio community...
© 2014 Toshiba Corporation
35
GNU Radio Related Publications 1. Tomáš Hynek, David Halls, and Jan Sýkora, “Practical implementation of cloud initialization procedure for wireless physical layer network coding clouds”, Proceedings of the 20th European Wireless Conference (EW), Barcelona, Spain, May 2014.
2. Pavel Procházka, Tomáš Uricár, David Halls and Jan Sýkora, "Relaying in butterfly network: superposition constellation design for wireless network coding", International Workshop on Super Dense Networks (IWSDN) at ICC, June 2015. 3. T. Uricar, P. Prochazka, D. Halls, J. Sykora, “Multi-source modulation design for broadcast channels in wireless network coding systems”, submitted to IEEE Transactions on Wireless Comms. 4. T. Hynek, D. Halls, J. Sykora, “SER-based Utility Optimization for WPLNC Mapping Selection in Relay Networks”, submitted to IEEE Communications Letters. 5. Tomáš Hynek, David Halls, and Jan Sýkora, "Hardware implementation of distributed learning algorithm for mapping selection for wireless physical layer network coding", International Workshop on Super Dense Networks (IWSDN) at ICC, June 2015. 6. Maria Antonieta Alvarez, William Thompson, and Umberto Spagnolini, "Distributed time and frequency synchronization: USRP hardware implementation", International Workshop on Super Dense Networks (IWSDN) at ICC, June 2015. 7. David Simmons, David Halls, and Justin P. Coon, “OFDM-based nonlinear fixed-gain amplifyand-forward relay systems: SER optimisation and experimental testing”, Best Paper Award, Proceedings of the European Conference on Networks and Communications (EuCNC), Bologna, Italy, June 2014.
© 2014 Toshiba Corporation
36
Thank you Q&A?
[email protected]
© 2014 Toshiba Corporation
37
SNR Calculation • For purposes of experimentation we wanted to accurately estimate SNR. • Added two additional OFDM (equal) symbols to the header. • Using the two additional symbols, an accurate SNR estimate can be obtained. • 𝑁=
𝑁𝑠 𝑘=1
• 𝑆+𝑁 = • 𝑆𝑁𝑅 =
𝑦𝑘 − 𝑦2𝑘
2𝑁𝑠 2 𝑘=1 𝑦𝑘 𝑆+𝑁 −𝑁 𝑁
2 Ns = number of samples/symbol (64+16) y = received signal N.B. assumes channel constant over 2 OFDM symbols (160μs at 1MS/s)
© 2014 Toshiba Corporation
38
DLA Optimization • Issue: – QPSK has 28 − 1 maps that are optimal from cardinality point of view; – some have better error performance depending on channel conditions; – e.g. LHS mapping has better performance because min. dist. is between two points which map to same output value.
• Solution: – Use dynamic, not fixed, mapping to choose best map for given channel conditions – avoids error floor due to undesirable overlaps.
Two different BPSK WPLNC mappings, (-,-) shows source symbols. Dotted background indicates o/p = 1, hatched background indicates o/p = 0.
SER performance of various WPLNC mappings [5].
[5] T. Hynek, D. Halls, J. Sykora, “SER-based Utility Optimization for WPLNC Mapping Selection in Relay Networks”, submitted to IEEE Communications Letters. © 2014 Toshiba Corporation
39
Backup • Pseudo-code for SC
INSERT TITLE HERE
© 2014 Toshiba Corporation
40
BSLD 1-Relay Butterfly (5 USRPs) • No direct path from SA to DA nor SB to DB. H-SI
SA
101 001
as,ab
DB
100 000
010
011
R as,bs,bb
ab
111
110
101 001
100
[as,ab]-as=ab 000
bs ab
(bb
ab)=bb
010
011 111
SB
as,ab as,bs,(bb+ab)
110
H-SI bs,bb
Timeslot 1/Timeslot 2 MA/BC
DA bs,bb as,bs,(bb+ab) [bs,bb]-bs=bb as bb
(bb
ab)=ab
© 2014 Toshiba Corporation
41