MCUXpresso SDK Documentation

Appendices#

This chapter provides some additional information about the following:
- Test mode hardware setup and operation
- Wireless ranging and channel sounding standardization.

Test mode#

There is an alternate way to test CS feature that does not require a BLE connection to be established between the boards. This is called “test mode”, and it relies on the LE_CS_Test HCI command from the standard.

Hardware setup#

This mode requires that both boards are connected to the controller PC to collect and combine data from both initiator and reflector.

Parent topic:Test mode

Operating test mode#

This chapter provides information on how to use wireless application in test mode.

Using Python host application#

When using test mode from Python host application, the following parameter must be added to the command:

--testmode

Parent topic:Operating test mode

Using the console#

To start the measurement on the reflector side:

\> test rx

To start the measurement on the initiator side:

\> test tx

Both devices synchronize to each other and perform a CS test procedure using default settings.

The expected output (on both devices) is a JSON-like structure similar to the following:

items:[{hadm:{cfg:{rtyp:0,rphy:0,txpwr:0,fcs:150,ip1:145,ip2:145,tpm:20,ant:7},sts:0,stp:{nb:101,md:'00022221222212222122221222212222122221222212222122221222212222122221222212222122221222212222122221222',ch:'0001020001020303040506070708090A0B0B0C0D0E0F0F1011121313141516171718191A1B1B1C1D1E1F1F2021222323242526272728292A2B2B2C2D2E2F2F3031323333343536373738393A3B3B3C3D3E3F3F4041424343444546474748494A4B4B4C4D4E',evt:'00',se:'65'}},md0:{cfg:{n_stp:3},init:{r:'808080',c:'800080008000'},refl:{r:'5A555D',c:'7FFF7FFF7FFF'}},mciq:{cfg:{n_ap:4,n_stp:79},refl:{i:['lMjijwmvkNmoZOjCmxkglIcvkIZebvgqiMnAZGj1eFb+l1ZbjSkIljmMhDcgmEe9mQbNfTegk8azh1aWfFcvmEdobceLe8iEizfle1lWcCbYg1eWdKdRZtgeiqcrZ6hSgtdGlbeVhelSazfdg6lRjvjic3i3kT','kBgKgOj6gzkacUjpkUkJhmf4g4cEcGiKfQj0c9kChpgDh6b/kik4iJjjeDbakFhKlCdVeKgBkHdPiMb/gqfOkJf/eIdVd0iogzgxeLkEd9djhHeTdtfLcmhNgafUcuh/fKfcjfd9fyjUcvgufVi/iyiudXgwiT','XVmVmLdZlUbKhgWvb+XfkDZcltiaohXLnMdHgiYiYzakifhdZcaIjRhtmolXiSZIgtaanBYicyaoZVheYTYofaYWZhmdm9Zon9X/nZeZYhZUYam3l3YVeYY6nVY8efaNmjZZgnksmMhDfQaRlvihe3e5hglOkE','w6X7X8oYaZr/Y4xKrBwtcyoVZyX1PYvAVKpBa6wTr5m6fyX4vovEeyijTtRXiksimrkiRqsJs/i0u+UtsPoWpfqRlMRzR9uQW5srSEq8mSkUtNSaSlpUaXsMW2n+bdr9VFoMmPU8WdlVaWp+WUimnXneYZY8dl',],q:['bGmDlwgNlUegfHZ3exa1kfaMlMf5lHZSmlfnepaKZdaojTgVaWa/jThwmXlYh9ZwffcCmLaDcYcwaIiYZ7ateQaJbtl+mIaHlpZzmFdAbVb4ZymIltaTgVZvluaxfiaGl7bBeQlbldeLiBailXfZcdcdjtjthX','ezkUkdiSkfhFdcdYhUeUkNbhkceDh3cYkNh6dEebb6bdkVdZeKeukvj6lBiyjea2hhbpkobVeRc4cfgkcCcBgWbzcKjdj2cgkXbvj7e1cfc7cWjWi3cjfWc1jbcpezdIjbcjgGixjagBgOc6jGgse8e0hbi7h+','bvY4YwW4YMX6pZeCXecAXmmpYnpAjeh1bBYCoSc4jXloY2nUdCcHZ9ZffTkGZpgGZDkiiNgZZNlYcYnifpieYRhNkJkUjpbUeleRjwX4jjkwdNkFlRhMniddfChkm/cIiAg1ZikchXZ0mPdniYafaQadlRfxdI','kJvVvUvHwTsbQVfKtDjLwpRRvzRPdlYsslt6QViLUyRYwDSZhMjivNu1oYeVujYHtaRvkgXHnpRjePWZXmT5rIVzSmhuive6rBZdi7pKTWSrb2hhe9WlUTcLorWgUtfFkcX6pdfXlWpbXEdFjNpqmamGaUmMpA',],tqi:['00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000','00000000000000000000000000000000000000000000000200000000000000000000000000020202000000000000000000000000000000000000000000000000000000000000000000000000000000','00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000','00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000',],},},tof:{cfg:{n_stp:19},refl:{d:'AP+AAP+EAP+NAP+YAP+hAP+qAP+vAP/BAP/DAP/RAP/YAP/kAP/oAP/yAAAAAAAIAAASAAAVAAAl',r:'625A565C6159585A6159565B6059545A5E5853',nadm:'FFFFFFFFFFFFFFFFFFF'},},info:{init:{},refl:{syn:0,syg:0,syr:0,syc:0,f:0x0000,x:0,ta:0,te:0,},},},]
CRC32:17002f48
marker:[DONE]

It contains all the CS results returned locally by HCI events and debug data, but does not show the final distance. In this mode, the host PC can only compute the final distance.

See Command response for how to interpret these results.

Parent topic:Operating test mode

Parent topic:Test mode

Parent topic:Appendices

Wireless ranging and channel sounding standardization#

In this chapter, we are highlighting which part of wireless ranging application complies with a standard and which one does not.

The Bluetooth Low Energy SIG defines two standards:

  • Channel sounding is defined by the core working group. It defines the behavior of the Bluetooth Low Energy controller and how to interface it for CS features. The specification covers how the CS feature must be implemented in a Bluetooth Low Energy controller.

  • Ranging service and profile (RASP) is defined by the “Direction Finding” working group. It defines an architecture (client/server) and a Bluetooth Low Energy profile for applications that require to operate Channel Sounding feature.

The Bluetooth Low Energy SIG does not define any sort of distance computation method. Wireless ranging application provides two sample algorithms to demonstrate the full ranging concept. The first is CDE, an embedded implementation with low complexity. The second one is RADE, which provides an essential compromise between complexity and performance. As mentioned previously, wireless ranging Python framework ensures that a user can develop their own signal processing algorithm using the real IQ datasets.

Wireless ranging is based on channel sounding core specifications, as mentioned in the associated SDK release note. It does not implement RASP specification. The figure below shows the application architecture with a colored overlay of what is defined by the standards.

Figure: Wireless ranging software architecture and channel sounding overlay

Similarly, the figure below shows a sequence chart highlighting a single measurement sequencing with colored overlay. The steps defined by the standard are highlighted in orange.

Figure: Wireless ranging software flow diagram and channel sounding overlay

Parent topic:Appendices

Acronyms#

The table below lists the terms and acronyms used in this document.

Term

Definition

Measurement bias

Constant offset observed between estimated distance and real distance

Central/Peripheral

Refer to BLE connection roles – the central must be connected to a PC

Initiator

Device initiating the measurement and collecting data

Reflector

Device responding to the initiator during measurement phase

Multi channel IQ (MCIQ)

Method to capture IQ samples of data exchanged between two devices on multiple channels separated by a fixed increment

Time of flight (ToF)

Method to capture round-trip time between two devices and estimate distance based on speed of light

Complex-domain distance estimation (CDE)

Phase-based distance estimation algorithm

Multiple signal classification (MUSIC)

Phase-based distance estimation super-resolution algorithm

RTT

Round-trip time

RTP

Round-trip phase; synonym for MCIQ

HADM

High accuracy distance measurement

CS

New name for HADM

AGC

Automatic gain control

CFO

Carrier frequency offset

RSSI

Receive signal strength indicator

PCT

Phase correction term (I&Q)

WR

Wireless ranging application

RADE

Rapid and accurate distance estimation

Parent topic:Appendices