Main Content

Composition of Bluetooth LE Node

With Bluetooth® Toolbox, you can create Bluetooth low energy (LE) nodes by using the bluetoothLENode object. This object enables you to simulate an LE piconet, LE audio, LE periodic and legacy advertising, or a mesh network. For an LE piconet, LE audio (Multistream and Broadcast-Auracast), or LE advertising, these Bluetooth nodes contain a traffic manager and a protocol stack that comprises the link layer and physical (PHY) layers, as illustrated in this figure.

The protocol stack of a mesh node additionally includes transport and network layers. For more information on the structure of LE mesh nodes, see Protocol Stack for LE Mesh Nodes. This topic outlines the functionalities implemented by the bluetoothLENode object for LE piconets, LE audio, LE advertising, and LE mesh networks.

To use the bluetoothLENode object, you must download the Communications Toolbox Wireless Network Simulation Library. For more information on installing add-ons, see Get and Manage Add-Ons.

Traffic

To model real-world data traffic, the traffic manager employs the networkTrafficOnOff traffic pattern object from the Communications Toolbox™ Wireless Network Simulation Library. This object allows you to create various traffic patterns. For an example, see Generate Periodic, Bursty, and Random Traffic in Wireless Network. Use the addTrafficSource function to add a data traffic source to the bluetoothLENode node.

Link Layer

This section presents the link layer functionalities for LE piconet, LE audio, and LE periodic and legacy advertising nodes:

LE Piconet

The link layer of an LE Piconet has these functionalities:

  • Connection events — During a connection event, both the Central and Peripheral devices alternate in sending and receiving data packets, adhering to the schedule determined by the connection interval. The connection interval defines the time between two consecutive connection events.

  • Support for acknowledgment and Negative acknowledgment (ACK and NAK scheme)— Marks packets for retransmission in the next transmission if they receive no acknowledgment or a failure acknowledgment (As per Bluetooth specifications).

  • Interframe space in ACL transport — Enables you to set the time interval between two consecutive packets on the same channel index.

  • Minimum spacing in connection events — Enables you to set the minimum time interval between the last PDU that the Peripheral node transmits and the anchor point of the next connection event transmitted on a different channel index.

  • Supervision timeout — Supports a connection supervision timeout. This supervision timeout represents the maximum time a connection can elapse without receiving any valid packets before the connection is considered lost.

  • Employs adaptive frequency hopping (AFH) to select channels for data communication over a link. A channel selection algorithm determines the choice of channels. AFH uses the results of channel classification to inform its channel selection process. The link layer uses two channel selection algorithms: Channel Selection Algorithm 1 and Channel Selection Algorithm 2. To specify a channel selection algorithm, use the Algorithm property of the bluetoothLEConnectionConfig object. For more information about these channel selection algorithms, see Volume 6, Part B, Sections 4.5.8.2 and 4.5.8.3 of the Bluetooth Core Specification v5.3.

  • Channel classification and dynamic channel map update — Classifies a channel as used or unused, where used indicates the suitability for transmission and unused indicates an unsuitable channel for transmission. Using the classified channel map, the updateChannelList object function updates the channels for the physical link between the two Bluetooth LE nodes. Note that the channel map is updated after InstantOffset connection events from the current connection event.InstantOffset specifies the number of connection events after which the new channel map is enforced.

    For more information about channel classification, see Noncollaborative Bluetooth LE Coexistence with WLAN Signal Interference.

  • Cyclic redundancy check (CRC)— Perform a CRC check to verify the correctness of received packets.

Use bluetoothLEConnectionConfig to set the link layer connection configuration parameters of a Bluetooth LE Central or Peripheral node.

LE Connected Audio (Multistream)

The link layer for an LE connected audio has these functionalities.

  • Connected isochronous stream (CIS) events — Schedules transmission and reception time slots within a connected isochronous group (CIG) and for each CIS, facilitating synchronization between a CIS Central and a Peripheral. The time between two adjacent CIS anchor points, known as the ISO Interval, and the time between two adjacent sub-events, known as the sub-interval, define the precise instances when data transmission and reception should occur within each CIS. The term CIS anchor point refers to the start of the CIS event.

  • Retransmission and acknowledgement — Sends same packets in successive sub-events within a CIS when the receiver has not acknowledged a transmission.

  • Channel classification and dynamic channel map update — Classifies channels as suitable or unsuitable for an LE connected audio. The link layer supports dynamic updates of the channel map for an LE connected audio.

  • Flush timeout — Removes packets from the queue to limit packet retransmissions during CIS events and sub-events.

  • Repetition — Facilitates transmitting a payload multiple times within a CIS event for reliability based on the burst number (BurstNumber) and number of sub-events (NumSubevents).

  • Interframe space — Enables you to set the time interval between the end of a transmission by the Central and the subsequent transmission by the Peripheral in a CIS subevent.

  • Minimum subevent space — Enables you to set the minimum time interval between the end of the last bit of the final packet in one subevent and the start of the first bit of the initial packet in the next subevent.

Use the bluetoothLECISConfig object to specify the connected isochronous stream (CIS) configuration parameters of a Bluetooth LE node.

LE Broadcast Audio (Auracast)

The link layer for an LE broadcast audio has these functionalities.

  • Broadcast isochronous stream (BIS) events — Schedules transmission time slots within a broadcast isochronous group (BIG) and for each BIS, and facilitates synchronization between a receiver and a broadcaster. The time between two adjacent BIS anchor points, known as the ISO Interval, and the time between two adjacent sub-events, known as the sub-interval, define exact instances of data transmission and reception within each BIS.

  • Pre-transmission — Enables sub-events to carry data associated with future BIS events.

  • Channel classification and dynamic channel map update — Classifies channels as suitable or unsuitable for an LE broadcast audio. The link layer supports dynamic updates of the channel map for an LE broadcast audio.

  • Repetition — Facilitates transmitting a payload multiple times within a BIS event for reliability based on the burst number and number of sub-events.

  • Flush timeout — Removes packets from the queue to limit packet retransmissions during BIG events and sub-events.

Use the bluetoothLEBIGConfig object to set the BIG configuration parameters between an isochronous broadcaster and a synchronized receiver.

Legacy Advertisement

The link layer offers these functionalities for legacy advertising:

  • Advertising — Broadcasts one or more advertising packets over the primary advertising channels during a specific interval. This interval defines the frequency at which the device broadcasts its packets over these designated physical channels for advertising purposes.

  • Scanning— Listens for advertising packets broadcast in the scanning interval. The scanning interval is the time duration between the beginnings of two consecutive scanning events.

  • Random advertisement — Randomly selects advertising channels for broadcasting advertising packets, instead of using the predetermined sequence of the primary advertising channels (37, 38, and 39).

To configure the legacy advertising parameters, use the Role, ScanInterval, RandomAdvertising, and AdvertisingInterval properties of the bluetoothLENode object.

Periodic Advertisement

The link layer provides these functionalities specific to periodic advertising:

  • Periodic advertising train (PAT) — Enables an advertiser to broadcast advertising packets at regular intervals defined by the periodic advertising interval. The broadcaster transmits these packets on selected data channels, while the observer listens for these broadcasts on the same channels.

  • Channel classification and dynamic channel map update — Classifies channels as suitable or unsuitable for periodic advertisement. The link layer supports dynamic updates of the channel map for periodic advertising.

Use the bluetoothLEPeriodicAdvConfig object to specify the configuration parameters to simulate a Bluetooth LE periodic advertisement between a broadcaster and an observer.

PHY Layer

The Bluetooth LE node supports full PHY processing. This section details the transmitter and receiver operations it implements.

Transmitter

At the transmitter, the PHY layer involves these operations, as illustrated in this figure.

  • Generates a preamble.

  • Whitens the data.

  • Generates a frame that consists of the preamble and the whitened data payload.

  • Applies forward error correction to the frame.

  • Modulates the frame using Gaussian frequency shift keying (GFSK).

  • Adds channel impairments to the modulated data.

Receiver

At the receiver, the PHY layer performs these operations, as illustrated in this figure.

Receiver operations performed by the PHY layer of an LE node include modeling interference, applying a low-pass filter, using front-end signal conditioning techniques, recovering data bits, and checking for decode failure.

Interference Modeling

Bluetooth interference occurs when another signal in the same unlicensed 2.4 GHz band interferes with a Bluetooth signal or when a Bluetooth signal interferes with another signal in that band. In the case of Interference modeling, the bluetoothLENode node supports these modes:

  • Overlapping adjacent channel — Considers any signal that overlaps in both time and frequency with the signal of interest as interference.

  • Non-overlapping adjacent channel — Regards signals as interference if they temporally overlap with the signal of interest and their frequencies lie within the range [f1 – fd, f2 + fd], where f1 and f2 denote the start and end frequencies of the signal of interest, respectively, and fd represents the maximum interference offset (MaxInterferenceOffset).

You can configure these interference modes using the InterferenceModeling and MaxInterferenceOffset properties of the bluetoothLENode object.

Decoding

  • Applies a low-pass anti-aliasing filter to the received signal.

  • Performs these front-end signal conditioning.

    • Adjusts the gain of the received waveform by using the automatic gain control (AGC).

    • Corrects the dc offset.

    • Estimates and compensate the frequency offset.

    • Performs timing synchronization.

    • Equalizes the fading effects by using a decision feedback equalizer (DFE) with the Least Mean Square (LMS) algorithm.

  • Recovers data by performing these operations.

    • Preamble synchronization

    • Demodulation and Decoding

    • De-whitening

  • Checks for decode failures.

Protocol Stack for LE Mesh Nodes

A mesh network features a many-to-many topology, enabling each device to communicate with every other device in the mesh. Devices in a mesh network can relay messages to others, extending the end-to-end communication range well beyond the radio range of an individual device.

A Bluetooth mesh node incorporates the transport and network layers, in addition to the traffic, link, and PHY layers, as depicted in this figure. The traffic and PHY layer functionalities remain the same as those in the LE piconet, LE audio, and LE advertising networks.

Transport Layer

The transport layer of a Bluetooth mesh node has these functionalities.

  • Transports and receives data and control PDUs.

  • Supports a friend queue, which is a storage mechanism used by friend nodes to hold messages intended for low power nodes (LPNs). A Friend node efficiently manages message delivery to LPNs by releasing messages only when polled, in a relationship called Friendship.

  • Facilitates LPNs operating within a mesh network at significantly reduced receiver duty cycles, specifically in collaboration with a node that supports the Friend feature. In this relationship, if the Friend node receives no request from the LPN within PollTimeout, the friendship between the LPN and the Friend node is terminated.

Network Layer

The network layer of a Bluetooth mesh node offers these functionalities.

  • Manages the network PDU transmission and reception over an advertising bearer and supports message repetition for reliability.

  • Supports relaying the network PDU over the advertising bearer.

  • Supports managed flooding, where Bluetooth mesh networking optimizes the flooding approach for reliability and efficiency. A key feature is time to live (TTL) which controls the maximum relay hops for Bluetooth mesh PDUs, conserving energy by limiting unnecessary relaying.

Link Layer

The link layer of a Bluetooth mesh node in a mesh network has these key functionalities.

  • Link layer advertising bearer — Broadcasts or receives advertising packets over primary channels 37, 38, and 39.

  • Advertising and scanning — Uses advertising to broadcast messages to nearby devices, and employs scanning to listen for and act on these broadcasts. The link layer of an LE node in a mesh network also enables devices to switch roles between advertising and scanning. The node remains in the scanning state, except when transmitting data

To set mesh profile configuration parameters at an LE node, use the bluetoothMeshProfileConfig object, and then set MeshConfig property of the bluetoothLENode object. To configure the mesh friendship between a Friend node and an LPN, use the bluetoothMeshFriendshipConfig object and then supply it to the configureFriendship function, which then establishes the friendship.

See Also

Topics