MCUXpresso SDK Documentation

The channel sounding standard description#

This chapter focuses on the Channel Sounding (CS) standard description. The CS feature consists of a combination of software link layer procedures and dedicated air interface protocol that creates a tightly interlocked exchange of RF signals at multiple RF channels. This mechanism is called a CS procedure. Before describing it, it is important to describe the high-level software architecture.

Software layers architecture description#

To enable the CS feature between 2 Bluetooth devices, a general service is proposed. In this service, the client and server roles are defined. Typically, the client role in the service is the CS initiator and the server role is the CS reflector. However, there is also a scenario, where the client role is the CS reflector and the server role is the CS initiator. The complete list of scenarios is shown in Table 1.

Table 1. Scenarios for ranging server and ranging client

Scenario I

Scenario II

Host

Ranging Client

Ranging Server

Ranging Client

Ranging Server

Controller

Initiator

Reflector

Initiator

Reflector

The Ranging Server (RAS) and Ranging Profile (RAP) enable the CS configuration parameters and CS results transport toward the Distance Measurement Application. The complete exchange of unmodulated carrier signals and/or packets is controlled by lower Bluetooth protocol layers (Bluetooth controller).

The high-level SW architecture of the ranging server and ranging client Figure 1

The ranging client and ranging server must exchange their capabilities via the RAS capabilities characteristic. The ranging client writes (or reads) the configuration to the Ranging Server through the RAS configuration characteristic. Then, the 2 controllers start the ranging procedure. Once the ranging results are received by the RAS from the controller, the results will be exchanged using GATT toward the Distance Measurement Application. Some implementations may optionally use the enhanced attribute protocol to make notifications more reliable. The roles defined in the ranging service and profiles are as follows:

  • Ranging client: the device in this role supports the GATT client role and optionally the enhanced attribute protocol and the CS initiator or reflector roles The ranging client can have either the central or peripheral roles. The ranging client has a direct interconnection with the Distance Measurement Application.

  • Ranging server: the device in this role supports the ranging service and profile. It implements the GATT server role and optionally the enhanced attribute protocol role. In the controller, it implements the CS reflector or initiator roles. The ranging server has either the central role or the peripheral role. The ranging server assists the ranging client by sending the local device capability, receiving the ranging client configurations, and sending the ranging result toward the ranging client.

The Distance Measurement Application will be implemented in the device that supports the ranging client. The hosts may support both the ranging client and ranging server implementations. The higher layer will choose which device runs the distance application and becomes the ranging client. Figure 1 illustrates the high-level architecture of the ranging server and ranging client for 2 scenarios listed in Table 1. In the asset-tracking and indoor-positioning applications, the distance measurement application may calculate the distance between:

  • A ranging client and more than one ranging server

  • A ranging server and more than one ranging client

The CS standard (the part of the ranging server and ranging profile) also mentions examples of the typical application use cases. Table 2 shows several typical localization applications.

Table 2. Localization user scenario examples

User Scenario

Ranging Client

Ranging Server

Vehicle access

Vehicle Bluetooth LE lock (single Bluetooth LE initiator, an initiator with multiple antennas, or multiple initiators each with a single antenna or multiple antennas)

Vehicle key (can be a phone)

Door access

Door Bluetooth LE lock

Door key (can be a phone)

Locate lamps, sensors, and actuators during commissioning or maintenance

Handhold commissioner

Other lamps/sensors

Locate items with a smartphone

Bluetooth LE localization system (1 initiator or multiple initiators)

Tags

Locate items with a handheld locator device

Handhold with Bluetooth LE

Tags

F: Automatically map mesh nodes

Some/all lamps must support dual roles (initiator and reflector devices)

Some/all lamps must support dual roles (initiator and target devices)

G: Cooktop control

Cooktop

Smartphone

H: Cooktop safety

Cooktop

Smartphone

Note: The CS standard itself is not responsible for computing the distance measurement

Parent topic:The channel sounding standard description

The channel sounding procedure description#

The CS procedure consists of several events that are defined as a set of time and frequency slots, in which 2 devices agree to communicate and exchange a combination of RF signals. The main purpose of this exchange is to estimate the physical characteristics of the transmission channel. These exchanges are always bidirectional.

The CS procedure is divided into one or more events. The CS event can consist of one or more CS steps that are separated by a frequency change period called T_FCS. Time separation between CS events avoids continuous allocation of the RF resources of a given device and facilitates coexistence with other RF technologies. Figure 2 shows the relationship between CS procedures, CS events, and CS steps.

Channel Sounding procedure composition Figure 2

Each CS event has a separate anchor point labeled ‘X’. The link layer configures devices to run this procedure. It defines all the steps for these events in both time and frequency relative to these anchor points. The output of the CS procedure is a table of phase correction terms for both the initiator and the reflector and/or a table of time stamps. The processing algorithms translate those tables into distance estimates. The processing algorithms are not part of the standard. The procedure is composed of one or more CS events. The CS event is composed of the multiple CS steps. There can be programmable gaps between CS events to allow other simultaneous connections.

Four CS step types (mode 0, mode 1, mode 2, and mode 3) are defined. Each mode is used for a specific purpose:

  • Mode 0 is used to calibrate 1 side to the other in terms of frequency and timing.

  • Mode 1 is used to exchange a Round Trip Timing (RTT) packet.

  • Mode 2 is used to exchange Round Trip Phase (RTP) packets and to measure the phase and amplitude of the communication channel.

  • Mode 3 is used to exchange both RTT and RTP measurement packets.

In the CS context, an initiator is the device that starts (initiates) the whole procedure and a reflector is the device that responds to (reflects) the CS procedure. The procedure’s operating parameters are exchanged via link layer control messages. Once the procedure completes, each device has a set of information that describe the real communication channel. Mode 1 and mode 3 measure the time of arrival and the time of departure. Mode 2 and mode 3 measure the phase and amplitude information in the form of in-phase (I) and quadrature-phase (Q) components. The reflector communicates this information back to the initiator. The following chapters describe 4 different step types.

Parent topic:The channel sounding standard description

The CS high-level view#

The high-level view of the several procedures needed for the distance estimation is shown in Distance estimation - high-level view Figure 3. A simple flowchart shows the procedures described in the CS standard. It also contains yellow boxes, which are not directly defined by the CS standard. The data exchange between the initiator and the reflector cover for example the IQ data, RTT timestamps, and so on. The data exchange is planned to be a part of the ranging service profile.

Distance estimation - high-level view Figure 3

The example of the CS events interleaved with LE connection events is shown in Figure 4. This should improve the understanding how the CS events are interleaved with the LE connection events. The CS events are scheduled at an offset from the LE connection anchor points. Only 1 CS event is scheduled in this scheme. As an example, a smartphone in a key fob role may be connected to an automobile for localization purposes. The connection interval of this LE connection may be very long, because its main purpose is to start CS procedures.

CS event scheduling in coexistence scenario Figure 4

At the same time, the phone may be connected to a headset for audio connection purposes. To allow for flexible scheduling of CS events, multiple CS events can be scheduled offset from single LE connection events. A CS event offset is used to separate the multiple CS events in time. The number of CS events allowed in between LE connection events is selectable.

Parent topic:The channel sounding standard description

Channel Sounding steps description#

The CS defines a set of interlocked transfers between initiator and reflector. Within a CS procedure, CSStepCount shall be set to the current CS step number. The CS steps are constructed by a combination of modulated and unmodulated RF signals. The modulated sections convey synchronization information and extract the round-trip time information. The unmodulated sections are used to measure the phase rotation, which is proportional to the distance between the devices. The CS steps use the dedicated packet formats. There are 4 different modes for the CS steps. Each of these modes has different usage goals: measuring frequency offset between devices (mode 0), measuring round-trip times (mode 1), measuring phase rotations due to distance (mode 2), and measuring both round-trip times and phase rotations (mode 3). The CS steps require a precise timing synchronization between the initiator and reflector devices. Figure 5 shows a legend of the diagrams used in the following chapters to describe individual CS step modes.

Legend for CS step type packet description Figure 5

The colored time slots represent the following:

  • Channel Hop time slot

  • TX - transmitting time slot

  • CW - unmodulated continuous wave signal

  • RX - receiving time slot

The CS steps are separated by periods to perform a frequency hop. The structure is shown in Figure 6.

Channel hop period separates CS steps

Figure 6

The time for the frequency hop is known as T_FCS. The initiator and reflector devices exchange the list of T_FCS values that each one can support during the capability procedure. The initiator selects a common T_FCS value during the configuration procedure. The permitted values for T_FCS are given by the BLE standard. Within a CS procedure, the same T_FCS value should be used for each channel hop. Both devices use the T_FCS period to perform internal calibrations in addition to the frequency change. The initiator or reflector may use this time period to allow the settling of the transmitted RF signal. It means that it reached a stable state when the subsequent CS step begins.

The set of variables used in the following chapters describes the CS step modes, as shown in Table 3.

Table 3. Channel Sounding step variables

Variable

Description

Time duration [us]

T_FCS

Time for frequency change spacing. The RF circuitry locks to the measurement channel (f_i). Devices can also use this time for additional internal calibrations, if necessary. The initiator may start to ramp up its output signal toward the end of this step

15, 20, 30, 40, 50, 60, 80, 100, 120, 150

T_FM

Time for frequency measurement

80

T_SY

Time for synchronization sequence (CS packet)

26 for 2M PHY, 44 for 1M PHY

T_IP1

Interlude period 1. The transition from TX to RX and the other way around when transmitting in mode 1 (Pk-Pk).

10, 20, 30, 40, 50, 60, 80, 145

T_IP2

Interlude period 2. The transition from TX to RX and the other way around when transmitting in mode 2 (Tn-Tn).

10, 20, 30, 40, 50, 60, 80, 145

T_GD

Transition time between packet and tone

10

T_RD

Ramp-down time for transmission

5

T_PM

Single-antenna phase measurement period

10, 20, 40

N_AP

Number of antenna paths

1, 2, 3, 4

T_SW

Antenna switching period

1, 2, 4, 10

N_AP*T_PM

Phase measurement period. This measurement must be performed for each antenna path. N_AP is the total number of antenna paths. Transmitted signals are expected to be stable during this period. When multiple antenna paths are used, an equivalent number of T_PM periods is used. Each T_PM reserves the first 2 us for antenna switching (T_SW).

-

CS step mode 0#

TCS step mode 0 is used to measure the frequency offset between the initiator and the reflector at a given frequency. The step mode 0 is a basic step supported by all the devices with CS feature. Figure 7 shows the exchange defined for CS step mode 0.

CS step Mode 0 packet exchange Figure 7

The frequency hop is created before each CS step. The initiator starts by transmitting the CS SYNC packet (T_SY). The duration of the packet is shown in Table 3. The initiator performs a measurement of the frequency offset from the transmitted RF signals from the reflector during CS step mode 0. The initiator shall use this information to compensate all further transmissions within the subsequent CS steps in a CS event. This is used for synchronization purposes.

After the transmission from the initiator completes, a defined ramp-down window of 5 us (T_RD) is allowed for the initiator to remove the transmitted energy from the RF channel. After T_RD, the output power shall be lower by 40 dB than the output power used during the transmission of the CS SYNC packet (measured at the initiator’s antenna).

T_IP1 represents the idle time between the transmission from the initiator and the transmission from the reflector. Devices may use this time for internal calibrations, if needed. The reflector can use this time to ramp up its transmitted signal (if necessary) in advance of the transmission of the CS SYNC packet (T_SY) with the unmodulated carrier after synchronization. A transition time from packet to tone (T_GD) is needed. Then the reflector device makes the frequency-measurement period. The duration of this period (T_FM) for CS mode 0 shall be 80 us. The frequency measurement period ends the CS step mode 0 procedure.

It is important to mention 2 packet formats for channel sounding. Channel sounding uses a specific modulated bit sequence known as CS SYNC. The CS SYNC packet format is similar to a packet format for uncoded PHY, but it has no CRC. The CS SYNC packet has a specific format shown in Figure 8.

CS SYNC packet format

Figure 8

The preamble is 1 octet when transmitting or receiving on the LE 1M PHY and 2 octets when transmitting or receiving on the LE 2M PHY. The CS access address is 4 octets. The trailer is 4 bits. The sounding sequence or random bit sequence are optional fields. If present, the sounding sequence shall be 32 or 96 bits long. If the random bit sequence is present, it shall be 32, 64, or 128 bits long.

The variable length of the optional sounding sequence and random bit sequence allows an implementation to optimize the total packet length vs the correlation accuracy of the field. CS packets with no sounding or random bit sequence take 44 us to transmit when sent by LE 1M PHY and 26 us to transmit when sent by LE 2M PHY. CS packets that include a sounding or random bit sequence take proportionally longer to transmit, based on the length of the field and the PHY selection.

Parent topic:The channel sounding steps description

CS step mode 1#

CS mode 1 is used to measure the round-trip time between the initiator and the reflector. Devices supporting the CS feature shall implement the CS step mode 1. This mode uses the theoretical background described in RTT estimation fundamentals. The packet structure in Figure 9 is defined for CS step mode 1. Before each CS step, a frequency hop is created

CS step mode 1 packet exchange

Figure 9

The initiator starts by transmitting the CS SYNC packet. The duration of the CS SYNC packet is marked as T_SY. In this case, CS step mode 1 may include a payload as part of the CS SYNC packet. After the transmission from the initiator completes, a defined ramp down window of 5 us is allowed. It helps the initiator to remove the transmitted energy from the RF channel. After the ramp down, the output power shall be lower by 40 dB than the output power used during the transmission of the packet, measured at the initiator’s antenna.

T_IP1 represents the idle time between the transmission from the initiator and the transmission from the reflector. Devices may use this time for internal calibrations, if needed. The reflector can use this time to ramp up its transmitted signal (if necessary) in advance of the transmission of the CS SYNC packet. The duration of T_IP1 is shown in Table 3. After T_IP1, the reflector device transmits its CS SYNC packet. The CS step mode 1 may have a payload as part of the CS SYNC packet. The reflector may transmit its CS SYNC packet even if it does not receive a previous CS SYNC packet from the initiator or if the CS SYNC packet was received with bit errors.

Parent topic:The channel sounding steps description

CS step mode 2#

CS mode 2 is used to measure the phase rotations of the RF signal between the initiator and the reflector. The theoretical description of this mode is in RTP estimation fundamentals. The devices supporting this feature should fully support CS step mode 2. The structure of CS step mode 2 is shown in Figure 10.

CS step mode 2 tone exchange

Figure 10

Before each CS step, a frequency hop is created. The duration of the frequency hop is marked as T_FC. The initiator starts the transmission with an Unmodulated Carrier (UC) RF signal. The duration of the unmodulated carrier RF signal should be T_PM*N_AP, where T_PM is the phase-measurement period and N_AP is the number of antenna paths. Each individual T_PM reserves the first configurable time (1, 2, 4, 10 us) for antenna switching. The available values of T_PM are given by the standard and shown in Table 4.

Table 4. Permitted values for T_PM

T_PM Index

T_PM

Comment

1

10 us

Optional

2

20 us

Mandatory if any shorter T_PM extent is supported, else optional

3

40 us

Mandatory

For added security, each N_AP set of T_PM length transmissions shall be followed by a single tone-extension slot of the same T_PM extent. This tone-extension slot may or may not carry a transmission. The presence of the added security is controlled by random bit generation.

After the transmission from the initiator completes, a defined ramp-down window of 5 us is allowed for the initiator to remove the transmitted energy from the RF channel. The same rule is applied here. The output power shall be lower by 40 dB than the output power used during the transmission of the UC RF signal. The signal level is measured at the initiator’s antenna. T_IP2 represents the idle time between the transmission including the tone extension slot from the initiator and the transmission from the reflector. Devices may use this time for internal calibrations (if needed). The reflector can use this time to ramp up its transmitted signal (if necessary) in advance of the transmission of the UC. The permitted values for T_IP2 are shown in Table 5. The T_IP1 value can be different from T_IP2.

Table 5. Permitted values for T_IP2

T_IP2 Index

T_IP2

Description

1

10 us

Optional

2

20 us

Optional

3

30 us

Optional

4

40 us

Mandatory if any shorter T_PM extent is supported, else optional

5

50 us

Optional

6

60 us

Optional

7

80 us

Mandatory if any shorter T_PM extent is supported, else optional

8

145 us

Mandatory

After T_IP2, the reflector device transmits its (UC) RF signal. The duration of the unmodulated carrier RF signal should be T_PM*N_AP, where T_PM is the phase-measurement period and N_AP is the number of antenna paths. Each individual T_PM reserves the first 2 us for antenna switching. The N_AP parameter is common to the entire CS procedure and shall range from 1 to 4. An added extension transmission slot shall immediately follow the last valid N_AP transmission, as it was similarly present in the initiator-to-reflector direction. If a transmission is present, it shall be identical to that of the last T_PM slot and it shall use the same antenna element used in that slot. If a transmission is not present in the tone-extension slot, then that T_PM period shall still be present but not carry a transmission. The presence of the added security is controlled by the random bit generation.

Parent topic:The channel sounding steps description

CS step mode 3#

CS step mode 3 is used to measure the phase rotations of the RF signal and the round-trip time between the initiator and the reflector. It uses a combination of the previous modes. All the devices supporting the CS feature may optionally implement also step mode 3. Figure 11 is defined for CS step mode 3.

CS step mode 3 packet exchange

Figure 11

A frequency hop is created before each CS step. The channel hop duration is marked as T_FCS. In the reflector to initiator direction, the duration is given by the CS SYNC synchronization packet (T_SY), transition time between the packet mode to tone (T_GD), and the unmodulated carrier RF signal T_PM*N_AP. T_PM is the phase-measurement period and N_AP is the number of antenna paths. Each individual T_PM reserves the first configurable time (1, 2, 4, 10 us) for the antenna switching (T_SW).

If a tone-extension slot is present, then the tone duration is (T_SW+T_PM)x(N_AP+1). If the tone-extension slot is not present, then the tone duration is (T_SW+T_PM) x N_AP. To compensate for the missing tone slot a “no tone” slot is added after the synchronization.

The initiator starts a transmission with the Unmodulated Carrier (UC) RF signal. The duration of the unmodulated carrier RF signal should be T_PM*(N_AP + 1) and it should also depend on the physical layer used. CS step mode 3 may use a payload as part of the synchronization.

For added security, each N_AP set of T_PM length transmissions shall be followed by a single tone-extension slot of the same T_PM extent. This tone-extension slot may or may not carry a transmission. If a transmission is present, it shall be identical to that of the last T_PM slot and it shall use the same antenna element used in that slot. If a transmission is not present in the tone-extension slot, then that T_PM period shall still be present, but it shall not carry a transmission. The presence of a physical transmission in the extension transmission slot is seeded by the random bit generation.

After the transmission from the initiator is completed, a defined ramp down window of 5 us (T_RD) is allowed for the initiator to remove the transmitted energy from the RF channel. After T_RD, the output power should be lower by 40 dB than the output power during the transmission of the synchronization. This is measured at the initiator’s antenna.

T_IP2 represents the idle time between the transmission from the initiator and the reflector. Devices may use this time for internal calibrations (if needed). The reflector can use this time to ramp up its transmitted signal before the transmission. The duration of T_IP2 is defined the same way as the CS step mode 2 in Table 5.

After T_IP2, the reflector device transmits a CS synchronization using the unmodulated carrier. The duration of the unmodulated carrier shall be either T_PMxN_AP or T_PMx(N_AP + 1). This depends on whether a transmission is selected for the tone­ extension slot. If a transmission is present, it should be identical to that of the last T_PM slot and it shall use the same antenna element as in that slot. If a transmission is not present in the tone-extension slot, then the T_PM period should not be present. The presence of a physical transmission in the extension is controlled by the random bit generation.

The reflector device may then transmit its CS synchronization even if it does not receive a CS synchronization from the initiator or if the synchronization was received with bit errors.

Parent topic:The channel sounding steps description

Channel Sounding mode sequencing#

The CS mode sequencing describes specific time slots of the whole flow. The CS event will always start with one or more mode 0 steps, which is represented by blue rectangles in FFigure 12. A series of subsequent non-mode 0 steps shall follow in the same event. Any CS procedure shall only use at most two non-mode 0 modes. One of these two is known as the main mode and the other is known as the submode. An example of this sequencing is shown in Figure 12. Many other CS mode sequencing examples can be generated.

Channel Sounding mode sequencing Figure 12

The submode insertion sequences the occurrence of the main mode steps and the submode steps and uses the following parameters:

  • Main_Mode_Min_Steps – the minimum main-mode steps that shall occur before a single submode step.

  • Main_Mode_Max_Steps – the maximum main-mode steps that shall occur before a single submode step.

The number of main-mode steps that occur before a submode step shall be between Main_Mode_Min_Steps and Main_Mode_Max_Steps, inclusive. The exact number of main-mode steps that occur before a submode step insertion is randomized for each sequence. The randomized function is defined by the BLE standard.

Parent topic:The channel sounding steps description

Parent topic:The channel sounding standard description

Wireless channels randomization#

The whole ISM frequency band is used for the CS technique for distance estimation. There is an important aspect about the frequency channel switching. The ISM band is not swept linearly, but there is a procedure to create randomly selected channels. The BLE standard assumes the use of the channel-selection algorithm for two cases:

  • Channel-selection algorithm for mode 0 steps

  • Channel-selection algorithm for non-mode 0 steps

The channel-selection algorithm #3a is used to generate a randomized channel map with uniform distribution for mode 0 CS steps. The number of times that the mode 0 channel list is required to be regenerated in a CS procedure depends on several factors, including the size of the list of included filtered channels, as indicated by the filter-channel bitmap Chesterfield (the number of non-mode 0 steps included in a CS event and a CS procedure along with the runtime construction of CS events whose content may vary from event to event), depending on the CS mode sequencing.

The channel-selection algorithms #3b and #3c support channel selection for each non-mode 0 CS step within a CS procedure. Only one of the two algorithms shall be used within a single CS procedure. The number of times that the non-mode 0 channel list is required to be regenerated in a CS procedure depends on several factors, including the size of the list of included filtered channels, as indicated by the filter channel bitmap CSFilteredChM, the number of times the filtered channel map is repeated in a procedure for non-Mode 0 steps, along with the runtime construction of CS events whose content may vary from event to event (depending on the CS mode sequencing).

Detailed information about the wireless channels’ randomization algorithms is in the BLE standard.

Parent topic:The channel sounding standard description