53
mZig mZig : Enabling : Enabling M M ulti- ulti- Packet Reception in Packet Reception in Zig Zig Bee Bee

MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

Embed Size (px)

Citation preview

Page 1: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

mZigmZig: Enabling : Enabling MMulti-Packet ulti-Packet Reception in Reception in ZigZigBeeBee

Page 2: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

MotivationMotivationMotivationMotivation11

PreliminaryPreliminaryPreliminaryPreliminary22

DesignDesignDesignDesign33

ImplementationImplementationImplementationImplementation44

Performance EvaluationPerformance EvaluationPerformance EvaluationPerformance Evaluation55

Table of ContentsTable of Contents

Page 3: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

MotivationMotivation MotivationMotivation11

22

33

44

55

Table of ContentsTable of Contents

Page 4: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

ZigBee CommunicationZigBee Communication

• Standard: IEEE 802.15.4• Focus: low-power, low-cost, low-bitrate• Applications: Sensor networks; Smart homes;

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

1

2

3

4

5

Page 5: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

Concurrent Transmissions in ZigBeeConcurrent Transmissions in ZigBee

Tree topology Cluster topology

1

2

3

4

5

Page 6: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

Collision ProblemCollision Problem

Collision

1

2

3

4

5

Page 7: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

Related WorkRelated Work

Collision AvoidanceCollision Avoidance

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

hidden terminal delay

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 infosynchronizedsame content

retransmission required

1

2

3

4

5

Page 8: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

Our GoalOur Goal

No pre-known info No retransmission requirement Multiple TXs are allowed to send different

packets

1

2

3

4

5

Decompose multiple packets Decompose multiple packets from one collision directly!from one collision directly!

Page 9: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

11

PreliminaryPreliminary PreliminaryPreliminary22

33

44

55

Table of ContentsTable of Contents

Page 10: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

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 11: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

PHY in ZigBee

bits

Modulation DAC

chips

1001Demodulation

Down-sampling ADC

TX

RX

chips

1001Spread

PulseShaping

bits

DespreadRadio

Front-end

Radio Front-end

Page 12: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

Baseband Signal at TX sideBaseband Signal at TX side

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 13: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

Features of Chips at RX sideFeatures of Chips at RX side• Oversampling: sampling rate of recent ADCs is

much higher than 2MHz.

• Known shaping: half-sine.

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

1

2

3

4

5

Chip = 1

Am

plit

ude

Time

0

Chip = 0

0 2μs1μsHow to use these features to resolve How to use these features to resolve multi-packet collisions?multi-packet collisions?

Page 14: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

11

22

DesignDesign DesignDesign33

44

55

Table of ContentsTable of Contents

Page 15: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

Core Design of mZigCore Design of mZig

Alice

Bob

RX

1 chip

Sign

alSi

gnal

Time

Time

1

2

3

4

5

• Example: a two-packet collision.• Alice: 11000; Bob: 10100.• Every chip has 5 samples.

Page 16: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

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 17: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

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 18: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

CrossICCrossIC

Alice

Bob

RX

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

1

2

3

4

5

Page 19: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

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 20: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

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 21: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

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 22: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

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. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

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. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

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. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

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. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

CrossICCrossIC

RX

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

Alice

Bob

1

2

3

4

5

Repeat the extraction and estimation steps

Page 27: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

CrossICCrossIC

RX

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

Alice

Bob

1

2

3

4

5

Repeat the extraction and estimation steps

Page 28: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

AmpCoDAmpCoD

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

Packet from Bob

No chip-level time offset

Packet from Alice

1

2

3

4

5

Page 29: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

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 30: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

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 (m>-Packet Collision (m>2)2)

Bluetooth Bluetooth WiFiWiFi

1

2

3

4

5

Page 31: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

11

22

33

ImplementationImplementation ImplementationImplementation44

55

Table of ContentsTable of Contents

Page 32: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

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 33: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

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 34: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

TestbedTestbed

• RX: USRP X310 + PC

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

1

2

3

4

5

Page 35: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

11

22

33

44

Performance EvaluationPerformance Evaluation Performance EvaluationPerformance Evaluation55

Table of ContentsTable of Contents

Page 36: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

Experiment SettingExperiment Setting

ConfigurationConfiguration

Sampling rate: 32Msps

TX power: 0dB

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 37: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

BER: Different Sampling RatesBER: Different Sampling Rates 1

2

3

4

5

Reference

Page 38: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

BER: Different TechniquesBER: Different Techniques 1

2

3

4

5

Reference

Page 39: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

Throughput: Different TechniquesThroughput: Different Techniques 1

2

3

4

5

Page 40: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

Throughput: Different TechniquesThroughput: Different Techniques 1

2

3

4

5

Page 41: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

Throughput: Different TechniquesThroughput: Different Techniques 1

2

3

4

5

4.5X

1X

Page 42: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

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

2

3

4

5

Page 43: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

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 44: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

44

Q & [email protected]

Page 45: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

Backup

Page 46: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

Time Offset Detection

Page 47: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

Anti-Noise Design

• For CrossIC

• For AmpCoD

Page 48: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

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 49: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

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 50: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

Scope

mm-Packet Collision in Zi-Packet Collision in ZigBeegBee

BluetoothBluetooth

WiFiWiFi

Page 51: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

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 52: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

Simulation

Impact of CTO Impact of SNR

Page 53: MZig: Enabling Multi-Packet Reception in ZigBee. MotivationMotivation 1 PreliminaryPreliminary 2 DesignDesign 3 ImplementationImplementation 4 Performance

Simulation (cont)

Multipath Filter Freq. Compensation