Enabling Low-power Communication, Sensing, and Computation on - - PowerPoint PPT Presentation

enabling low power communication sensing and computation
SMART_READER_LITE
LIVE PREVIEW

Enabling Low-power Communication, Sensing, and Computation on - - PowerPoint PPT Presentation

Enabling Low-power Communication, Sensing, and Computation on Internet-of-Things Pengyu Zhang Stanford University 1 Massive number of IoT devices are emerging Internet of Things Smartphone, Tablet, PC 9 Number of Devices (Billions) IoT


slide-1
SLIDE 1

Enabling Low-power Communication, Sensing, and Computation on Internet-of-Things

Pengyu Zhang Stanford University

1

slide-2
SLIDE 2

Massive number of IoT devices are emerging

Number of Devices (Billions) 2.25 4.5 6.75 9 Year 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018

Internet of Things Smartphone, Tablet, PC

IoT surpasses

2

Source: strategy analytics October 2014

Vision — ubiquitous IoT deployment in the next five years!

slide-3
SLIDE 3

Wireless Connectivity Energy-efficient computing Data Analytics

This vision is limited by problems arise in three domains

3

slide-4
SLIDE 4

Wireless Connectivity Energy-efficient computing Data Analytics

How to provide low power wireless connectivity?

4

Backscatter with Commodity Radios [SIGCOMM 16a, SenSys 16*, CoNext 17a] * best paper awards or nomination

slide-5
SLIDE 5

Wireless communication consumes lots of power

Power (uW) 1 10 100 1,000 10,000 100,000 1,000,000 Accel MCU SRAM BLE Bluetooth ZigBee WiFi ideal

wireless radios

104x 102x 5x

Wireless communication consumes orders of magnitude higher power compared to computation, storage, and sensing

5

Source: www.ti.com

slide-6
SLIDE 6

analog circuits baseband processing

Why a wireless radio consumes lots of power?

baseband AMP

Can we TX data with minimum baseband processing and RF circuits?

6

slide-7
SLIDE 7

Lessons from Radio Frequency Identification (RFID)

TX baseband AMP LNA RX baseband Backscatter tag logic RF harvester Carrier Wave Reflected Signal RFID reader

An RFID tag communicates its data at µWatts and does not need battery

7

slide-8
SLIDE 8

Lessons from Radio Frequency Identification (RFID)

TX baseband AMP LNA RX baseband Backscatter tag logic RF harvester Carrier Wave Reflected Signal RFID reader

The RFID reader infrastructure is NOT widely deployed

8

slide-9
SLIDE 9

Can we leverage commodity radios (WiFi and Bluetooth) to provide low-power wireless connectivity?

9

slide-10
SLIDE 10

WiFi/Bluetooth/ZigBee transmitter

Contribution— backscatter with WiFi, Bluetooth and ZigBee radios

WiFi/Bluetooth/ZigBee receiver

We enable backscatter communication with commodity radios, such as WiFi, Bluetooth and ZigBee [SIGCOMM 2016, SenSys 2016*, CoNEXT 2017]

10

packet packet packet packet packet packet packet packet * best paper awards nomination

slide-11
SLIDE 11

Demo: backscattering ECG sensing data with WiFi radios

WiFi receiver WiFi transmitter Backscatter tag

11

slide-12
SLIDE 12

12

How to inject and decode tag data on top of unknown WiFi traffic?

slide-13
SLIDE 13

Limited number of codewords in a codebook

WiFi transmitter WiFi receiver packets 0101100… 1 signal +1+1+1-1-1-1+1-1-1+1-1

  • 1-1-1+1+1+1-1+1+1-1+1

codeword codebook

WiFi uses a finite set of codewords to encode data 0 and data 1

13

The codewords used by 802.11b WiFi

slide-14
SLIDE 14

Key observation — we can transform codewords used by WiFi

We can transform a codeword i to another codeword j by performing simple operations

+1+1+1-1-1-1+1-1-1+1-1

  • 1-1-1+1+1+1-1+1+1-1+1

codeword codebook +1+1+1-1-1-1+1-1-1+1-1

  • 1-1-1+1+1+1-1+1+1-1+1 X -1

=

  • 1-1-1+1+1+1-1+1+1-1+1

+1+1+1-1-1-1+1-1-1+1-1

X -1

= The codewords shown are used by1Mbps 802.11b WiFi

14

slide-15
SLIDE 15

WiFi transmitter WiFi receiver packet

codeword i tag data 0

How does a tag backscatter its own information?

15

packet

codeword i

slide-16
SLIDE 16

WiFi transmitter WiFi receiver packet

codeword i tag data 1

How does a tag backscatter its own information?

16

packet

codeword j

slide-17
SLIDE 17

WiFi transmitter packet

codeword i

Codeword translation — embed tag information on WiFi packets

17

packet

codeword j

WiFi receiver

backscatter codeword = tag data XOR WiFi codeword tag data = backscatter codeword XOR WiFi codeword Input signal tag data 0 tag data 1 Codeword i Codeword i Codeword j Codeword j Codeword j Codeword i

slide-18
SLIDE 18

WiFi transmitter WiFi receiver packet

codeword i

How to do codeword translation at low power?

18

packet

codeword j codeword i = codeword j X -1 codeword j = codeword i X -1 How does tag introduce the X -1 at low power?

slide-19
SLIDE 19

WiFi transmitter WiFi receiver packet

codeword i

How to do codeword translation at low power?

19

packet

codeword j codeword i = codeword j X -1 codeword j = codeword i X -1 X -1 means a 180o phase change on the reflected signal

slide-20
SLIDE 20

WiFi transmitter WiFi receiver packet

codeword i

How to change the phase at low power?

20

packet

codeword j

phase shifter — 400 µWatts [1] [1] Peregrine Semiconductor PE44820

slide-21
SLIDE 21

WiFi transmitter WiFi receiver packet

codeword i

How to change the phase at low power?

21

packet

codeword j

phase shifter — 400 µWatts [1] 180o phase difference delay delay — 1 µWatts for a 10ns delay [1] Peregrine Semiconductor PE44820

slide-22
SLIDE 22

Codeword translation can be done in three dimensions

A wireless signal can be presented by:

S(t) = Ae2πft+θ

Amplitude modification Frequency modification Phase modification

S(t) = Ae2πft+θ S(t) = Ae2πft+θ

22

We can embed tag data on 802.11 b/g/n WiFi, Bluetooth and ZigBee

slide-23
SLIDE 23

23

What is the impact of scrambler and interleaving?

slide-24
SLIDE 24

What is the impact of scrambler on backscattering 802.11b?

scrambler descrambler packets x[n] y[n] packets z[n] 802.11b transmitter

Z-1 Z-1 Z-1 Z-1 Z-1 Z-1 Z-1

x[n] y[n] y[n] = x[n] + y[n-4] + y[n-7]

Z-1 Z-1 Z-1 Z-1 Z-1 Z-1 Z-1

y[n] z[n] z[n] = y[n] + y[n-4] + y[n-7] = x[n] 802.11b receiver

24

slide-25
SLIDE 25

What is the impact of scrambler on backscattering 802.11b?

scrambler descrambler packets x[n] y[n] packets z*[n] tag y*[n]

Z-1 Z-1 Z-1 Z-1 Z-1 Z-1 Z-1

x[n] y[n]

Z-1 Z-1 Z-1 Z-1 Z-1 Z-1 Z-1

y*[n] z*[n] z*[n] = y*[n] + y*[n-4] + y*[n-7] = x[n] + tag[n] + tag[n-4] + tag[n-7] y[n] = x[n] + y[n-4] + y[n-7] y*[n] = y[n] + tag[n] tag[n] 802.11b transmitter 802.11b receiver

25

slide-26
SLIDE 26

What is the impact of scrambler on backscattering 802.11b?

scrambler descrambler packets x[n] y[n] packets z*[n] tag y*[n]

Z-1 Z-1 Z-1 Z-1 Z-1 Z-1 Z-1

x[n] y[n]

Z-1 Z-1 Z-1 Z-1 Z-1 Z-1 Z-1

z*[n] = y*[n] + y*[n-4] + y*[n-7] = x[n] + tag[n] + tag[n-4] + tag[n-7] y[n] = x[n] + y[n-4] + y[n-7] tag[n] 802.11b transmitter 802.11b receiver

26

y*[n] z*[n] y*[n] = y[n] + tag[n]

Feed received data to a scrambler to decode the tag data

slide-27
SLIDE 27

What is the impact of interleaving on backscattering 802.11g/n?

802.11g/n block diagram

data interleaving 802.11g/n transmitter deinterleaving y[n] data x[n] z[n] x[n] = b0 b1 b2 … bn z[n] = x[n] = b0 b1 b2 … bn-1 bn 802.11g/n receiver

27

y[n] = bn b10 b1 b5 … b2 b36

slide-28
SLIDE 28

What is the impact of interleaving on backscattering 802.11g/n?

data interleaving deinterleaving data x[n] z*[n] y[n] tag y*[n]

Interleaving is done on data bits of one OFDM symbol

z*[n] = b0 b1 b2 … bn-1 bn != x[n] xor tag[n] = b0 b1 b2 … bn-1 bn

802.11g/n block diagram

y*[n] = y[n] + tag[n] 802.11g/n transmitter 802.11g/n receiver

28

x[n] = b0 b1 b2 … bn y[n] = bn b10 b1 b5 … b2 b36 tag[n] = 101010….10 = bn b10 b1 b5 … b2 b36

slide-29
SLIDE 29

What is the impact of interleaving on backscattering 802.11g/n?

data interleaving deinterleaving data x[n] z*[n] y[n] tag y*[n]

802.11g/n block diagram data 0

One OFDM 802.11g/n transmitter 802.11g/n receiver

29

z*[n] = b0 b1 b2 … bn y*[n] = bn b10 b1 b5 … b2 b36 x[n] = b0 b1 b2 … bn y[n] = bn b10 b1 b5 … b2 b36

slide-30
SLIDE 30

What is the impact of interleaving on backscattering 802.11g/n?

data interleaving deinterleaving data x[n] z*[n] y[n] tag y*[n]

802.11g/n block diagram data 1

802.11g/n transmitter 802.11g/n receiver

30

z*[n] = b0 b1 b2 … bn x[n] = b0 b1 b2 … bn

Decode the tag data by checking whether the bits in an OFDM symbol is modified

One OFDM y*[n] = bn b10 b1 b5 … b2 b36 y[n] = bn b10 b1 b5 … b2 b36

slide-31
SLIDE 31

31

How to do spectrum efficient data injection?

slide-32
SLIDE 32

WiFi transmitter WiFi receiver packet

codeword i

Interference from the WiFi transmitter

32

packet

codeword j Signals from the WiFi transmitter is much louder than the reflected signal

slide-33
SLIDE 33

WiFi transmitter WiFi receiver packet

S(t)

Frequency-shifting the backscattered signal

33

packet

B(t) = S(t) x Tag(t)

WiFi signal backscatter Power Frequency

Enabling Practical Backscatter Communication for On-body Sensors Pengyu Zhang, Mohammad Rostami, Pan Hu, Deepak Ganesan SIGCOMM 2016

Tag(t)

slide-34
SLIDE 34

WiFi transmitter WiFi receiver packet

Inefficient spectrum usage — double-side band backscatter

34

packet WiFi signal backscatter Power Frequency Interference for

  • ther WiFi

S(t) B(t) = S(t) x Tag(t) Tag(t)

slide-35
SLIDE 35

Single-side band backscatter

Signal 1 Signal 2

+ =

WiFi signal backscatter

35

slide-36
SLIDE 36

Software and hardware prototype

36

backscatter radio board image sensing board

  • Open sourced software and hardware

https://github.com/pengyuzhang/HitchHike

  • Used for teaching Stanford EE107

Networked Embedded Systems

slide-37
SLIDE 37

Experiment Setup

Intel 5300 WiFi transmitter Backscatter tag Apple Macbook Pro laptop

WiFi RX 37

slide-38
SLIDE 38

Throughput (kbps)

100 200 300 400

Tag-to-laptop distance (m)

5 9 14 19 23 28 33 37 42 47 51 56

15dBm 30dBm

Throughput across distances in line-of-sight deployment

38

slide-39
SLIDE 39

Throughput across distances in non-line-of-sight deployment

Throughput (kbps)

100 200 300 400

Tag-to-laptop distance (m)

3 6 9 11 14 17 20 23 26 28 31 34

39

slide-40
SLIDE 40

Wireless Connectivity Energy-efficient computing Data Analytics

How to enable energy-efficient computing for IoTs?

40

Micro-Energy Harvesting [NSDI 14, HotOS XIV] * best paper awards or nomination

slide-41
SLIDE 41

How to run software and hardware tasks on micro-powered devices?

41

slide-42
SLIDE 42

Leverage energy harvesting for continuous operations

Macro energy harvesting

TinyOS

Day Night

TinyOS

Huge energy buffer Long time scale Micro energy harvesting

TinyOS

ms ms

TinyOS

Tiny energy buffer ~ms time scale Tiny amount of energy accumulated for a single discharge cycle

42

slide-43
SLIDE 43

Big gap between operational and communication range

RFID reader Dewdrop [NSDI 2011] 1.2m RF harvesting Wireless communication

43

slide-44
SLIDE 44

Big gap between operational and communication range

RFID reader Dewdrop [NSDI 2011] 1.2m RF harvesting Wireless communication 6.2 m Communication range BIG gap! Why a big gap between the operational range and the communication range?

44

slide-45
SLIDE 45

The operational regime is limited

Mementos [3] Dewdrop [2] Energy EPC Gen 2 Flit [1]

[1] Flit. MobiSys 2012. [2] Dewdrop. NSDI 2011. [3] Mementos. ASPLOS 2011.

A task needs to complete within a single discharge cycle Time

slide-46
SLIDE 46

atomic unit

A close look at the communication task

data packet handshake messages Atomic units cannot fit into a single discharge cycle RFID reader RFID tag

46

slide-47
SLIDE 47

How to avoid energy outage when running tasks?

min energy outage rate Energy Time Smallest task

47

slide-48
SLIDE 48

Contribution — efficiently execute tasks on micro powered devices

min energy outage rate task execution rate max [NSDI 2014, HotOS XIV] Energy Time Tasks Sleep

48

slide-49
SLIDE 49

How to choose sleep time?

Longer sleep time = more energy buffered ?= higher energy harvesting efficiency Energy Time Sleep

49

slide-50
SLIDE 50

How to choose sleep time?

Longer sleep time = more energy buffered ?= higher energy harvesting efficiency

Energy Harvesting Rate (uW)

45 90 135 180

Sleep Time (seconds)

2 4 6 8 10 12 14 16 18 20

Optimal gradient = H(V1) − H(V2) t1 − t2 Energy Time Sleep

50

slide-51
SLIDE 51

Which dimension to search the optimum sleep time?

Mementos [2] Dewdrop [1]

[1] Dewdrop: NSDI 2011 [2] Mementos: ASPLOS 2011

Voltage ADC is expensive for micro powered devices 1 ADC = 27 bits TX Energy Time Sleep

51

slide-52
SLIDE 52

Why is the time domain information sufficient?

H ∝ num of tasks t = num of bits TX t

Energy Sleep Time Energy harvesting rate is proportional to the number of tasks executed per second

52

slide-53
SLIDE 53

How many tasks should we run in a single discharging cycle?

Energy Time Num of tasks Should we deplete all the available energy?

Signal Strength

  • 0.2
  • 0.133
  • 0.067

0.067 0.133 0.2

Transmission Time (ms)

1 2 3 4 5 6 7 8 9 10

53

slide-54
SLIDE 54

How many tasks should we run in a single discharging cycle?

Signal Strength

  • 0.2
  • 0.133
  • 0.067

0.067 0.133 0.2

Transmission Time (ms)

1 2 3 4 5 6 7 8 9 10

logic RF harvester

RF power Less RF power is reflected when the local energy becomes low

54

slide-55
SLIDE 55

Improved operational range for communication tasks

Operational distance (m)

2.5 5 7.5 10

RF power (dBm)

17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26

Dewdrop Our system 3.5x

55

slide-56
SLIDE 56

Run an image sensing task when the system is powered by a 3cm x 3cm solar panel

Improved operational range for image sensing tasks

1 pixel sleep 1 pixel 1 pixel sleep 1 pixel 1 pixel

control signal sleep amplifier ADC sleep

56