Top Banner
Company Public NXP, the NXP logo, and NXP secure connections for a smarter world are trademarks of NXP B.V. All other product or service names are the property of their respective owners. © 2018 NXP B.V. Systems Engineer - Microcontrollers Carlos Neri BLE and Localization October 2018 | AMF-AUT-T3470
28

BLE and Localization - NXP Community

Nov 11, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: BLE and Localization - NXP Community

Company Public – NXP, the NXP logo, and NXP secure connections for a smarter world are trademarks of NXP

B.V. All other product or service names are the property of their respective owners. © 2018 NXP B.V.

Systems Engineer - Microcontrollers

Carlos Neri

BLE and Localization

October 2018 | AMF-AUT-T3470

Page 2: BLE and Localization - NXP Community

COMPANY PUBLIC 1COMPANY PUBLIC 1

Agenda

• Localization

• KW3x Localization Features

− RSSI

− IQ

− ToF

Page 3: BLE and Localization - NXP Community

COMPANY PUBLIC 2

Localization

Page 4: BLE and Localization - NXP Community

COMPANY PUBLIC 3

Object Localization = Distance Estimation + Direction

Finding with respect to a reference location

• Direction Estimation (Ranging)

− Passive (Accuracy )

▪ Signal Power (RSSI)

▪ Beacon Location Sharing

− Active (Accuracy )

▪ Time of Flight (ToF)

▪ Phase Slope/Accumulation

▪ Hybrid: Phase + ToF + Passive

• Direction Finding (2D/3D)

− Angle of Departure (AoD)

▪ Indoor Positioning

− Angle of Arrival (AoA)

▪ Asset Tracking

− High Accuracy distance measurement (HADM)

𝜃

𝜑

𝑥0

𝑦0

𝑧0

x

y

z

0

Beacon

Page 5: BLE and Localization - NXP Community

COMPANY PUBLIC 4

Wireless Ranging Techniques ExamplesRSSI-Based distance estimation• Distance is calculated based on the free space path loss equation • Low accuracy, due to the unknown additional losses• Example: Bluetooth-based proximity (i.e. beacons)

Time-of-Flight based Ranging• One way Time-of-Flight: Distance is (trx-ttx)* Speed of light• Round-trip Time-of-Flight: Distance is (ttotal- tproc)* Speed of light• Angle-of-Arrival + Time-of-Flight can be used to provide 2D/3D

positioning (not just ranging)

Phase-based distance estimation• Distance is calculated based on the phase difference between a received

continuous wave signal and a local reference signal• Example: Low Frequency solution in Passive Keyless Entry key fob

Page 6: BLE and Localization - NXP Community

COMPANY PUBLIC 5

BLE

BLE

BLE

BLE

BLE

BLE

Ranging on Automotive

Secure Accurate Ranging

@ 8m with +/- 3m accuracy@ 12m Bluetooth

LE discovery

Page 7: BLE and Localization - NXP Community

COMPANY PUBLIC 6

Some Localization Use-casesMedical

• Patient Record Access

• Data retrieval from patient pods (glucose, heart, etc.)

• Patient tracking

• Condition Monitoring

Home Automation

• Security

• Smart home parameter

• Pet tracking

• Smart Kitchen

• Smart Lighting

• Personal object location

Industrial

• Asset tracking

• Quality, maintenance and ERP systems

• Meshed herd and environment tracking

• Indoor positioning

• Guidance/Mapping (airports, arena, museums)

Consumer

• Indoor Positioning

• Student/ID Tags

• Smart Access Tags

• Social Networking & Gaming

• Smart Retail

• Phone Tracking

Localization

Page 8: BLE and Localization - NXP Community

COMPANY PUBLIC 7

KW3x LOCALIZATION

FEATURES

Page 9: BLE and Localization - NXP Community

COMPANY PUBLIC 8

RSSI

Page 10: BLE and Localization - NXP Community

COMPANY PUBLIC 9

Features

• Radio reports 2 different RSSI values depending on configuration

- Wideband RSSI (used for AGC fine-step)

- Narrowband RSSI (reported on reception of a packet)

• Narrowband RSSI is designed to be accurate down to the RX

sensitivity level

• With one point calibration, Narrowband RSSI accuracy is within ±3dB

over the entire operational range.

Page 11: BLE and Localization - NXP Community

COMPANY PUBLIC 10

RSS Over Temperature

-110

-105

-100

-95

-90

-85

-80

-75

-70

-65

-60

-55

-50

-45

-40

-35

-30

-25

-20

-15

-10

-5

0-1

00

-98

-96

-94

-92

-90

-88

-86

-84

-82

-80

-78

-76

-74

-72

-70

-68

-66

-64

-62

-60

-58

-56

-54

-52

-50

-48

-46

-44

-42

-40

-38

-36

-34

-32

-30

-28

-26

-24

-22

-20

-18

-16

-14

-12

-10 -8 -6

RS

SI

(dB

m)

Input Power (dBm)

RSSI Vs Input Power - Over Temperature and Channel Board 11

0 - -40

0 - 25

0 - 105

19 - -40

19 - 25

19 - 105

39 - -40

39 - 25

39 - 105

• There is a fixed offset (around 5dB) between input power and RSSI on the evaluation board.

• This offset can be removed by tweaking RSSI_ADJ register.

Page 12: BLE and Localization - NXP Community

COMPANY PUBLIC 11

IQ Samples

Page 13: BLE and Localization - NXP Community

COMPANY PUBLIC 12

Features

• NXP’s 2.4GHz radios (KWxx series) have the intrinsic capability to capture a variety of internal data during the reception process

▪ Captures any of 4 sources of RX_DIG data and 4 sources of PHY data

▪ Simultaneous Mission Mode and DMA operation possible

▪ Hardware start-triggering capability

• For KW35/KW36 Up to 2 Mwords/S− Word = 32-bit containing a pair of IQ

− Each IQ sample is 12-bit two’s complement

• IQ is useful for direction finding (AoA/AoD) and phase based ranging

Page 14: BLE and Localization - NXP Community

COMPANY PUBLIC 13

IQ Triggers

• IQ data sampling can be triggered on different scenarios via HW or

SW

• Triggering by SW allows more flexibility to start a capture at specific

payloads

• Triggering by HW automates the process, being “access address

found” the recommended option

Page 15: BLE and Localization - NXP Community

COMPANY PUBLIC 14

IQ Data Capture using DMA; Decimation OSR = 32

(i.e.,2MHz)

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

0 100 200 300 400 500 600 700 800 900 1000

Residual Slope (radians)

-600

-400

-200

0

200

400

6001

18

35

52

69

86

103

120

137

154

171

188

205

222

239

256

273

290

307

324

341

358

375

392

409

426

443

460

477

494

511

528

545

562

579

596

613

630

647

664

681

698

715

732

749

766

783

800

817

834

851

868

885

902

919

936

953

970

987

10

04

10

21

DMA IQ Data Capture (250kHz tone

I Samples Q Samples

Page 16: BLE and Localization - NXP Community

COMPANY PUBLIC 15

IQ SDK APIs

• KW35/KW36 SDK provides APIs to capture IQ and some post-processing

• Below an example of some of the mentioned APIs:

▪ dma_start_capture: Configures the trigger, DMA buffers and starts the capture in case SW trigger is used

▪ iq_to_phase_float: Takes a buffer with IQ samples and calculates the phase from the signal using

IEEE734 floating point

▪ iq_to_phase_fixedpt : Takes a buffer with IQ samples and calculates the phase from the signal

using fixed point Q12 (1-bit sign, 3-bits integer and 12-bits fraction)

Page 17: BLE and Localization - NXP Community

COMPANY PUBLIC 16

Time-Of-Flight

Page 18: BLE and Localization - NXP Community

COMPANY PUBLIC 17

Measuring

deviceRx device

T1

T2

T3

T4

𝑇𝑜𝐹 =𝑇4 − 𝑇1 − 𝑇3 − 𝑇2

2

Processing time Total time

T1 = MD Tx timestamp

T2 = RD Rx timestamp

T3 = RD Tx timestamp

T4 = MD Rx timestamp

Processing time = T3-T2

Total time = T4-T1

Time of Flight

Page 19: BLE and Localization - NXP Community

COMPANY PUBLIC 18

Measuring

deviceRx device

T1 T2

T3T4

Start Measurement

Extract T2 and T3 from

received packet

Timestamps

Calculate Process time

Calculate Total time

Calculate ToF

Single

measurement

Report ToF measurement

Measurement done

Time of Flight Single Measurement

Page 20: BLE and Localization - NXP Community

COMPANY PUBLIC 19

Measuring

deviceRx device

Single Measurement [1]

Calculate ToF and Accumulate

Measurement done

Single Measurement [2]

Calculate ToF and Accumulate

Single Measurement [3]

Calculate ToF and Accumulate

Single Measurement [n]

Calculate ToF and Accumulate

Get ToF Average

Report ToF measurement

Time of Flight Averaging Measurements

Page 21: BLE and Localization - NXP Community

COMPANY PUBLIC 20

ToF Demo System Details

• Use TPM input capture for HW generated timestamps using 32MHz oscillator as timer reference

• XCVR debug signals (DTEST) used for Tx and Rx timestamps:− tx_dig_en: Signal from the Sequence Manager that is asserted when the system is ready to send

the first preamble bit after PA is ramped-up

− aa_sfd_match: Signal from the PHY that is asserted when the system detects access address received on the packet

• Use Generic FSK Link Layer for better system control− Packet structure and PHY configure similar to Bluetooth LE

• Frequency hopping is used for security, interference avoidance and accuracy

Page 22: BLE and Localization - NXP Community

COMPANY PUBLIC 21

ToF block diagram

Page 23: BLE and Localization - NXP Community

COMPANY PUBLIC 22

Pre-

Processing

ToF Measurement

Phases

Time

stamps

Post-

Processing

Report

Result

Start Measurement

Page 24: BLE and Localization - NXP Community

COMPANY PUBLIC 23

Testing

• NXP GDL Parking lot

• Line of sight

• Distances from 0 – 15 meters in

0.5 mt increments

Page 25: BLE and Localization - NXP Community

COMPANY PUBLIC 24

Example Line of Sight Distance Measurement Results (1)Actual Distance

(m)Measured ToF

(ns)ToF Estimated Distance (m)

ToF Measured Distance Error (m)

0 -2 -0.6 0.60.5 2 0.6 -0.11 1 0.3 0.7

1.5 3 0.9 0.62 9 2.7 -0.7

2.5 9 2.7 -0.23 12 3.6 -0.6

3.5 8 2.4 1.14 11 3.3 0.7

4.5 21 6.3 -1.85 23 6.9 -1.9

5.5 19 5.7 -0.26 22 6.6 -0.6

6.5 22 6.6 -0.17 38 11.4 -4.4

7.5 23 6.9 0.68 32 9.6 -1.6

8.5 32 9.6 -1.19 31 9.3 -0.3

9.5 35 10.5 -110 43 12.9 -2.9

10.5 40 12 -1.511 32 9.6 1.4

11.5 40 12 -0.512 40 12 0

12.5 47 14.1 -1.613 45 13.5 -0.5

13.5 45 13.5 014 50 15 -1

14.5 52 15.6 -1.115 65 19.5 -4.5

-5

0

5

10

15

20

25

0 2 4 6 8 10 12 14 16

ToF

Estim

ate

d D

ista

nce (

m)

Actual Distance(m)

ToF Estimated Distance vs Actual

Actual Distance (m) Variable Slope Estimated Distance (m)

Results from

March 2018

Page 26: BLE and Localization - NXP Community

COMPANY PUBLIC 25

ToF Measurement Repeatability

0

5

10

15

20

25

0 2 4 6 8 10 12 14 16ToF

Estim

ate

d D

ista

nce (

m)

Actual Distance(m)

ToF Distance vs Actual Channel 90 Backwards

Actual Distance (m) Variable Slope Estimated Distance (m)

-2

0

2

4

6

8

10

12

14

16

0 2 4 6 8 10 12 14 16ToF

Estim

ate

d D

ista

nce (

m)

Actual Distance(m)

ToF Distance vs Actual Channel 90 Forward

Actual Distance (m) Variable Slope Estimated Distance (m)

-5

0

5

10

15

20

25

0 2 4 6 8 10 12 14 16

ToF

Estim

ate

d D

ista

nce (

m)

Actual Distance(m)

ToF Distance vs Actual Channel 114 Backwards

Actual Distance (m) Variable Slope Estimated Distance (m)

-5

0

5

10

15

20

25

0 2 4 6 8 10 12 14 16

ToF

Estim

ate

d D

ista

nce (

m)

Actual Distance(m)

ToF Distance vs Actual Channel 114 Forward

Actual Distance (m) Variable Slope Estimated Distance (m)

Results from

March 2018

Page 27: BLE and Localization - NXP Community

COMPANY PUBLIC 26

Classification Accuracy at 5mCh90-20171213 Ch114-20171213 Ch114f-20180122 Ch114b-20180122

Distance (m)

Measured ToF(ns)

Distance Estimate(m)

Measured ToF(ns)

Distance Estimate(m)

Measured ToF (ns)

Distance Estimate(m)

Measured ToF (ns)

Distance Estimate(m)

0 63242 0.000 63242 0.000 63241 -0.300 63242 0.000

1 63248 1.778 63245 0.900 63247 1.500 63245 0.900

2 63257 4.589 63253 3.300 63248 1.800 63254 3.600

3 63256 4.307 63254 3.600 63256 4.200 63252 3.000

4 63261 5.700 63259 5.100 63257 4.500 63269 8.100

5 63258 4.952 63260 5.400 63267 7.500 63261 5.700

6 63265 6.305 63260 4.909 63251 2.455 63270 7.636

7 63266 6.578 63270 7.636 63278 9.818 63272 8.182

8 63270 7.030 63273 7.750 63281 9.750 63287 11.250

Classification Criterion Measured TOF(ns) <=63261

Prior to adding

AGC group delay

compensation

Page 28: BLE and Localization - NXP Community

NXP, the NXP logo, and NXP secure connections for a smarter world are trademarks of NXP B.V. All other product or service names are the property of their respective owners. © 2018 NXP B.V.

www.nxp.com