Main Content

bluetoothLEBIGConfig

Bluetooth LE BIG configuration parameters

Since R2022a

    Description

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

    Creation

    Description

    example

    cfgBIG = bluetoothLEBIGConfig creates a default Bluetooth® low energy (LE) BIG configuration object.

    cfgBIG = bluetoothLEBIGConfig(Name=Value) sets properties by using one or more name-value arguments. For example, ISOInterval=0.01 sets the isochronous event interval to 0.01 seconds.

    Properties

    expand all

    Seed access address of the BIG, specified as an 8-element character vector or a string scalar denoting a 4-octet hexadecimal value. This property specifies the seed access address from which the link layer of Bluetooth LE node derives the broadcast isochronous streams (BIS) access address. For more information about seed access address, see Volume 6, Part B, Section 2.1.2 of Bluetooth Core Specification v5.3 [2].

    Data Types: char | string

    PHY mode for transmission or reception, specified as "LE1M", "LE2M", "LE125K", or "LE500K".

    Data Types: char | string

    Number of BISes in BIG, specified as an integer in the range [1, 31]. For more information about the number of BIS, see Volume 6, Part B, Section 4.4.6.3 of Bluetooth Core Specification v5.3 [2].

    Note

    Updating this value might require you to modify the ISOInterval value to accommodate all the subevents.

    Data Types: double

    Isochronous event interval, specified as a scalar in the range of [0.005, 4]. Specify this value in seconds. Set this value as a multiple of 1.25 milliseconds. This property specifies the time between two adjacent BIG anchor points. For more information about isochronous event interval, see Volume 6, Part B, Section 4.4.6.3 of Bluetooth Core Specification v5.3 [2].

    Note

    Updating the NumBIS, NumSubevents, MaxPDU, or SubInterval values might require you to modify this value to accommodate all the subevents.

    Data Types: double

    Time interval between successive BIS events, specified as a scalar in the range of [0.000198, 1.048575]. Specify this value in seconds. This property specifies the time between the start of corresponding subevents in the adjacent BIS events present in the BIG and the start of the first subevent of the last BIS and the control subevent (if present). For more information about the BIS spacing, see Volume 6, Part B, Section 4.4.6.3 of Bluetooth Core Specification v5.3 [2].

    Note

    Updating the NumBIS, NumSubevents, MaxPDU, SubInterval, or BISArrangement values might require you to modify this value to accommodate all the subevents.

    Data Types: double

    Time interval between successive subevents, specified as a scalar in the range of [0.000198, 1.048575]. Specify this value in seconds. This property specifies the time between the start of two consecutive subevents of each BIS. For more information about sub interval, see Volume 6, Part B, Section 4.4.6.3 of Bluetooth Core Specification v5.3 [2].

    Note

    Updating the NumBIS, NumSubevents, MaxPDU, or BISArrangement values might require you to modify this value to accommodate all the subevents.

    Data Types: double

    Maximum payload length, specified as an integer in the range of [1, 251]. This property specifies the maximum number of data octets that can be included in each BIS data PDU. The object does not include the message integrity check in the data octets. For more information about maximum payload length, see Volume 6, Part B, Section 4.4.6.3 of Bluetooth Core Specification v5.3 [2].

    Note

    Updating this value might require you to modify the ISOInterval, SubInterval, or BISSpacing values to accommodate all the subevents.

    Data Types: double

    Number of payloads associated with BIS event, specified as an integer in the range of [1, 7]. For more information about burst number, see Volume 6, Part B, Section 4.4.6.3 of Bluetooth Core Specification v5.3 [2].

    Note

    Updating this value might require you to modify the ISOInterval, SubInterval, or BISSpacing values to accommodate all the subevents. Further, you might also need to modify the RepetitionCount or NumSubevents values to consider all the unique transmission, repetitions, and pretransmissions.

    Data Types: double

    Pretransmission offset, specified as an integer in the range of [0, 15]. The subevents carrying pretransmissions contain data associated with the future BIS events that this property specifies. For more information about pretransmission offset, see Volume 6, Part B, Section 4.4.6.3 of Bluetooth Core Specification v5.3 [2].

    Data Types: double

    Immediate repetition count, specified as an integer in the range of [1, 15]. This property specifies the number of times a payload is transmitted in a BIS event. For more information about immediate repetition count, see Volume 6, Part B, Section 4.4.6.3 of Bluetooth Core Specification v5.3 [2].

    Note

    Updating this value might require you to modify the ISOInterval, SubInterval, or BISSpacing values to accommodate all the subevents. Further, you might also need to modify the BurstNumber or NumSubevents values to consider all the unique transmission, repetitions, and pretransmissions.

    Data Types: double

    Number of subevents in each BIS event of the BIG, specified as an integer in the range of [1, 31]. For more information about the number of subevents, see Volume 6, Part B, Section 4.4.6.3 of Bluetooth Core Specification v5.3 [2].

    Note

    Updating this value might require you to modify the ISOInterval, SubInterval, or BISSpacing values to accommodate all the subevents. Further, you might also need to modify the BurstNumber or RepetitionCount values to consider all the unique transmission, repetitions, and pretransmissions.

    Data Types: double

    Arrangement of BIS events in the BIG, specified as "sequential" or 'interleaved'. In "sequential" BIS arrangement, all the subevents of a BIS event occur together sequentially as a group. In "interleaved" BIS arrangement, corresponding subevents of each BIS event occur adjacent to each other. For more information about the arrangement of BIS events, see Volume 6, Part B, Section 4.4.6.4 of Bluetooth Core Specification v5.3 [2].

    Note

    Updating this value might require you to modify the BISSpacing or SubInterval values to accommodate all the subevents.

    Data Types: char | string

    Offset of the anchor point of the first BIG event, specified as a finite nonnegative scalar. Specify this value in seconds. This property specifies the time after which the first BIG event starts. For more information about BIG offset, see Volume 6, Part B, Section 4.4.6.11 of Bluetooth Core Specification v5.3 [2].

    Data Types: double

    List of BIS indices to be received by the receiver, specified as an integer vector with element values in the range [1, 31].

    Data Types: double

    List of used (good) data channels, specified as an integer vector with element values in the range [0, 36]. This value specifies the indices of the assigned data channels. This property indicates the set of good channels used by the connection. To ensure that at least two channels are set as used (good) channels, specify a vector length greater than 1.

    Data Types: double

    Offset added to the BIG event counter, specified as an integer in the range [6, 65535]. This property specifies the offset added to the BIG event count. The BIG control procedures, such as the channel map update, take effect after InstantOffset BIG events from the current BIG event. For more information about instant offset, see Volume 6, Part B, Section 2.6.3 of Bluetooth Core Specification v5.3 [2]

    Data Types: double

    Base CRC initialization, specified as a 4-element character vector or string scalar denoting a 2-octet hexadecimal value. This property specifies the most significant two octets of the CRC initialization vector. For more information about base CRC initialization, see Volume 6, Part B, Section 3.1.1 of Bluetooth Core Specification v5.3 [2].

    Data Types: char | string

    Object Functions

    expand all

    configureBIGConfigure BIG parameters at Bluetooth LE isochronous broadcaster and receiver

    Examples

    collapse all

    Check if the Communications Toolbox™ Wireless Network Simulation Library support package is installed. If the support package is not installed, MATLAB® returns an error with a link to download and install the support package.

    wirelessnetworkSupportPackageCheck;

    Create a Bluetooth LE node, specifying the role as "isochronous-broadcaster".

    isoBroadcasterNode = bluetoothLENode("isochronous-broadcaster");

    Create a Bluetooth LE node, specifying the role as "synchronized-receiver".

    receiverNode = bluetoothLENode("synchronized-receiver");

    Create a default BIG configuration object.

    bigConfig = bluetoothLEBIGConfig;

    Specify the number of BISes in the BIG, the number of subevents in each BIS event in the BIG, and the BIS arrangement.

    bigConfig.NumBIS = 2;
    bigConfig.NumSubevents = 2;
    bigConfig.BISArrangement = "interleaved";

    Specify the number of payloads associated with a BIS event.

    bigConfig.BurstNumber = 2;

    Specify the time interval between successive BIS subevents and the isochronous event interval.

    bigConfig.SubInterval = 0.006; % In seconds
    bigConfig.ISOInterval = 0.015  % In seconds
    bigConfig = 
      bluetoothLEBIGConfig with properties:
    
            SeedAccessAddress: "78E52493"
                      PHYMode: "LE1M"
                       NumBIS: 2
                  ISOInterval: 0.0150
                   BISSpacing: 0.0022
                  SubInterval: 0.0060
                       MaxPDU: 251
                  BurstNumber: 2
        PretransmissionOffset: 0
              RepetitionCount: 1
                 NumSubevents: 2
               BISArrangement: "interleaved"
                    BIGOffset: 0
            ReceiveBISNumbers: 1
                 UsedChannels: [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36]
                InstantOffset: 6
        BaseCRCInitialization: "1234"
    
    

    Assign the BIG configuration to the Bluetooth LE nodes.

    configureBIG(bigConfig,isoBroadcasterNode,receiverNode);

    References

    [1] Bluetooth Technology Website. “Bluetooth Technology Website | The Official Website of Bluetooth Technology.” Accessed November 12, 2021. https://www.bluetooth.com/.

    [2] Bluetooth Special Interest Group (SIG). "Bluetooth Core Specification." Version 5.3. https://www.bluetooth.com/.

    Version History

    Introduced in R2022a