50
mZig: Enabling Multi- Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015 MobiCom 2015

MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

Embed Size (px)

Citation preview

Page 1: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

mZig: Enabling Multi-Packet Reception in ZigBee

Linghe Kong, Xue LiuMcGill University

2015-09-08

MobiCom 2015MobiCom 2015

Page 2: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

MotivationMotivationMotivationMotivation11

PreliminaryPreliminaryPreliminaryPreliminary22

DesignDesignDesignDesign33

ImplementationImplementationImplementationImplementation44

Performance EvaluationPerformance EvaluationPerformance EvaluationPerformance Evaluation55

Table of ContentsTable of Contents

Page 3: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

MotivationMotivation MotivationMotivation11

22

33

44

55

Table of ContentsTable of Contents

Page 4: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

ZigBee CommunicationZigBee Communication

• Standard: IEEE 802.15.4• Applications: Sensor networks; Smart homes;

Internet of things; Industrial control; ......

1

2

3

4

5

Page 5: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

Convergcast in ZigBeeConvergcast in ZigBee

Tree topology Cluster topology

1

2

3

4

5

Page 6: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

Collision ProblemCollision Problem

Collision

1

2

3

4

5

Page 7: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

Related WorkRelated Work

Collision AvoidanceCollision Avoidance

CSMA/CA[JSAC'04,ToN'08] RTS-CTS[AHNet'03]

backoff, hidden terminal latency

Collision ResolutionCollision ResolutionAnalog NC[SigComm'07], XORs[SigComm'06], Full Duplex[MobiCom'11]

Constructive Interference [IPSN'11, NDS

I'13, TPDS'15]

ZigZag[SigComm'08]

partial known info same content retransmission required

1

2

3

4

5

Page 8: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

11

PreliminaryPreliminary PreliminaryPreliminary22

33

44

55

Table of ContentsTable of Contents

Page 9: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

ZigBee SpecificationZigBee Specification

FrequencyFrequency CoverageCoverage Data RateData Rate # of Chan# of Channelsnels

Rx SensitiRx Sensitibitybity ModulationModulation

2.4GHz World 250kbps 16 -85dBm O-QPSK

868MHz Europe 20kbps 1 -92dBm BPSK

915MHz USA 40kbps 10 -92dBm BPSK

1

2

3

4

5

Page 10: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

Baseband Signal in ZigBeeBaseband Signal in ZigBee

Half chip offset 0.5μs

Chip = 1Chip = 0

Duration of one chip 1μs

1 0 1 1

111

0 0

0 00

I Phase

Q Phase

Amplitude

1

2

3

4

5

Page 11: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

Features of ZigBee ChipsFeatures of ZigBee Chips• Oversampling: sampling rate of recent ADCs

(at RX side) is much higher than 2MHz.

• Known shaping: half-sine.

• Uniform amplitude: O-QPSK, no ASK or QAM.

How to leverage these features to design mZig?

1

2

3

4

5

Chip = 1

Am

plit

ude

Time

0

Chip = 0

0 2μs1μs

Page 12: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

11

22

DesignDesign DesignDesign33

44

55

Table of ContentsTable of Contents

Page 13: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

A Novel Technique: mZigA Novel Technique: mZig

Alice

Bob

RX

1 chip

Sign

alSi

gnal

Time

Time

1

2

3

4

5

• mZig leverages the physical layer features and decomposes a multi-packet collision directly.

• Example: a two-packet collision.

Page 14: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

Two Categories of CollisionsTwo Categories of Collisions

• with chip-level time offset (w/ CTO)

1

2

3

4

5

Chip-level time offset

Alice

Bob

Packet-level time offset Packet-level time offset

No chip-level time offset

1 chip

• without chip-level time offset (w/o CTO)

Page 15: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

CrossICCrossIC

• Cross Interference Cancellation (CrossIC) for collision w/ CTO.

Packet from Bob

Chip-level time offset

Packet from Alice

RX

1

2

3

4

5

Page 16: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

CrossICCrossIC

Alice

Bob

RX

• Cross Interference Cancellation (CrossIC) for collision w/ CTO.

1

2

3

4

5

Page 17: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

CrossICCrossIC

RX

• Cross Interference Cancellation (CrossIC) for collision w/ CTO.

Alice

Bob

1

2

3

4

5

Collision-free samples

Step I: Extract collision-free samples

Page 18: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

CrossICCrossIC

RX

• Cross Interference Cancellation (CrossIC) for collision w/ CTO.

Alice

Bob

1

2

3

4

5

Estimated samples

Step II: Estimate samples to form a whole chip

Page 19: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

CrossICCrossIC

RX

• Cross Interference Cancellation (CrossIC) for collision w/ CTO.

Alice

Bob

1

2

3

4

5New collision-free samples

Substract the estimated chip from the collision

Page 20: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

CrossICCrossIC

RX

• Cross Interference Cancellation (CrossIC) for collision w/ CTO.

Alice

Bob

1

2

3

4

5

Repeat the extraction and estimation steps

Page 21: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

CrossICCrossIC

RX

• Cross Interference Cancellation (CrossIC) for collision w/ CTO.

Alice

Bob

1

2

3

4

5

Repeat the extraction and estimation steps

Page 22: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

CrossICCrossIC

RX

• Cross Interference Cancellation (CrossIC) for collision w/ CTO.

Alice

Bob

1

2

3

4

5

Repeat the extraction and estimation steps

Page 23: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

CrossICCrossIC

RX

• Cross Interference Cancellation (CrossIC) for collision w/ CTO.

Alice

Bob

1

2

3

4

5

Repeat the extraction and estimation steps

Page 24: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

CrossICCrossIC

RX

• Cross Interference Cancellation (CrossIC) for collision w/ CTO.

Alice

Bob

1

2

3

4

5

Repeat the extraction and estimation steps

Page 25: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

CrossICCrossIC

RX

• Cross Interference Cancellation (CrossIC) for collision w/ CTO.

Alice

Bob

1

2

3

4

5

Repeat the extraction and estimation steps

Page 26: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

AmpCoDAmpCoD

• Amplitude Combination based Decomposition (AmpCoD) for collision w/o CTO.

Packet from Bob

No chip-level time offset

Packet from AliceAssume Assume α>βα>β

L1 α+β

L2 α-β

L3 -α+β

L4 -α-βLevel L1 L2 L3 L4AliceBob

11

1 0 010 0

L400

1

2

3

4

5

Page 27: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

Core DesignCore Design

CrossICCrossIC AmpCoDAmpCoD

Design EnhancementDesign Enhancement

Time Offset DetectionTime Offset Detection Anti-NoiseAnti-Noise

Multipath FilterMultipath Filter Frequency Offset ComFrequency Offset Compensationpensation

ScopeScope

mm-Packet Collision-Packet Collision Bluetooth & WiFiBluetooth & WiFi

1

2

3

4

5

Page 28: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

11

22

33

ImplementationImplementation ImplementationImplementation44

55

Table of ContentsTable of Contents

Page 29: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

RX PHY: ZigBee v.s. mZigRX PHY: ZigBee v.s. mZig

Demodulation

Down-sampling

ADC

RX

Despread

Radio Front-endDmZig

………

M p

aral

lel l

ines

DemodulationDown-

sampling ADC

RX

DespreadRadio

Front-end

1

2

3

4

5

Page 30: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

DmZig ModuleDmZig ModuleStart

End

Collision?

CrossIC

CTO?

AmpCoD

Separated?

CrossIC

AmpCoD

Output: Collided original

sequence of samples

Output: Collision-free

original sequence of samples

Output: Collision-free m

sequences of samples

Yes

No

Yes

No

Yes

No

Hybrid

Input: Baseband samples

1

2

3

4

5

Page 31: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

TestbedTestbed

• RX: USRP X310 + PC

• TX: USRP B210*6 + Laptop*6 + iRobots*6

1

2

3

4

5

Page 32: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

11

22

33

44

Performance EvaluationPerformance Evaluation Performance EvaluationPerformance Evaluation55

Table of ContentsTable of Contents

Page 33: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

Experiment SettingExperiment Setting

ConfigurationConfiguration

Sampling rate: 32Msps

TX power: 0dB (1mW)

Channel selection: 26

1

2

3

4

5

FieldField

7.5m×6.8m office

MetricsMetrics

Bit Error Rate (BER)

Throughput

Compared withCompared with

ZigBee

ZigZag

Page 34: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

BER: Different Sampling RatesBER: Different Sampling Rates 1

2

3

4

5

Reference

Page 35: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

BER: Different TechniquesBER: Different Techniques 1

2

3

4

5

Reference

Page 36: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

Throughput: Different TechniquesThroughput: Different Techniques 1

2

3

4

5

Page 37: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

Throughput: Different TechniquesThroughput: Different Techniques 1

2

3

4

5

4.5X

1X

Page 38: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

Throughput: Static v.s. MobileThroughput: Static v.s. Mobile 1

2

3

4

5

Page 39: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

ConclusionConclusion

• We design mZig, a novel RX design to enable multi-packet reception in ZigBee. Theoritcally, the maximal concurrent transmissions is m=S/2C.

• We implement mZig on USRPs. In our testbed, the throughput of mZig achieves 4.5x of ZigBee with four or more TXs.

1

2

3

4

5

Page 40: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

40

Q & [email protected]

Page 41: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

Backup

Page 42: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

PHY in ZigBee

bits

Modulation DAC

chips

1001Demodulation

Down-sampling ADC

TX

RX

chips

1001Spread

PulseShaping

bits

DespreadRadio

Front-end

Radio Front-end

Page 43: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

Time Offset Detection

Page 44: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

Anti-Noise Design

• For CrossIC

• For AmpCoD

Page 45: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

Multipath Filter

• Channel estimation is required to estimate the impulse responses of multipath.

• Multipath effect is filtered chip-by-chip.

Impulse response of multipath

*=

Estimated chip

Page 46: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

Frequency Offset Compensation

• Channel estimation is also required to estimate the frequency offset.

• Compensate the frequency offset chip-by-chip.

I

Q

I

Q

Alice Bob

Page 47: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

Scope

mm-Packet Collision in Zi-Packet Collision in ZigBeegBee

BluetoothBluetooth

WiFiWiFi

Page 48: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

MAC for mZig

• The conventional MAC for ZigBee cannot be applied directly:– CSMA/CA– ACK

RX m TXs

m concurrent packets

mACK

mZig start

CSMA disable

Page 49: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

Simulation

Impact of CTO Impact of SNR

Page 50: MZig: Enabling Multi-Packet Reception in ZigBee Linghe Kong, Xue Liu McGill University 2015-09-08 MobiCom 2015

Simulation (cont)

Multipath Filter Freq. Compensation