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 thebluetoothLEConnectionConfig
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 afterInstantOffset
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.
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
- Create, Configure, and Simulate Bluetooth LE Network With Custom Channel
- Create, Configure, and Simulate Bluetooth LE Broadcast Audio Network
- Create, Configure and Simulate Bluetooth Mesh Network
- Establish Friendship Between Friend Node and LPN in Bluetooth Mesh Network
- Create and Visualize Bluetooth LE Broadcast Audio Residential Scenario