bluetoothNode
Download Required: To use bluetoothNode
,
first download the Communications Toolbox Wireless Network Simulation Library add-on. For more
information, see Get and Manage Add-Ons.
Description
Use the bluetoothNode
object to create and configure a
Bluetooth® basic rate/enhanced data rate (BR/EDR) node.
Creation
Description
creates a default Bluetooth BR/EDR node object for the specified role,
BRNode
= bluetoothNode(Role
)Role
. The Role
argument sets the value of the
Role
property.
sets properties of
the Bluetooth BR/EDR node object by using one or more optional name-value arguments. For
example, BRNode
= bluetoothNode(Role
,Name=Value
)bluetoothNode("central",NoiseFigure=5)
sets the noise figure
of the specified node to 5 dB.
Properties
Name
— Name of Bluetooth BR/EDR node
character vector | string scalar
Name of the Bluetooth BR/EDR node, specified as a character vector or a string scalar.
Data Types: char
| string
Position
— Node position in 3-D Cartesian coordinates
[0 0 0]
(default) | three-element row vector
Node position in 3-D Cartesian coordinates, specified as a three-element numeric row vector. This value specifies the position of the node in Cartesian x, y, and z coordinates. Units are in meters.
Data Types: double
TransmitterGain
— Transmitter antenna gain
0
(default) | finite numeric scalar
Transmitter antenna gain, specified as a finite numeric scalar. Units are in dB.
Data Types: double
ReceiverGain
— Receiver antenna gain
0
(default) | finite numeric scalar
Receiver antenna gain, specified as a finite numeric scalar. Units are in dB.
Data Types: double
ReceiverSensitivity
— Receiver sensitivity
-100
(default) | finite numeric scalar
Receiver sensitivity, specified as a finite numeric scalar. This property sets the minimum power that the receiver requires to detect the incoming packet. If the received power of an incoming packet is below this value, the node drops the packet. Units are in dBm.
Data Types: double
NoiseFigure
— Noise figure
0
(default) | nonnegative finite scalar
Noise figure, specified as a nonnegative finite scalar. The object uses this value to apply thermal noise on the received packet. Units are in dB.
Data Types: double
InterferenceFidelity
— Fidelity level to model interference
0
(default) | 1
Fidelity level to model interference, specified as 0
or
1
.
If you set this value to
0
, the object considers packets overlapping in time and frequency as interference (co-channel interference).If you set this value to
1
, the object considers all the packets (in the 2.4GHz ISM band) overlapping in time as interference, irrespective of the frequency overlap.
Data Types: double
ID
— Node identifier
integer scalar
This property is read-only.
Node identifier, stored as an integer scalar. This value specifies a unique
identifier for the node in the simulation. The object assigns this value incrementally,
starting from 1
.
Data Types: double
Role
— Role of Bluetooth BR/EDR Node
"central"
| "peripheral"
This property is read-only.
Role of the Bluetooth BR/EDR node, specified as "central"
or
"peripheral"
.
Data Types: char
| string
NodeAddress
— Address of Bluetooth BR/EDR node
12-element character vector | string scalar denoting 6-octet hexadecimal value
Address of the Bluetooth BR/EDR node, stored as a 12-element character vector or a
string scalar denoting a 6-octet hexadecimal value. This value is unique to each
Bluetooth BR/EDR node and is derived from the ID
property.
Data Types: char
| string
ConnectionConfig
— Bluetooth BR/EDR connection configuration parameters
bluetoothConnectionConfig
object
This property is read-only.
Bluetooth BR/EDR connection configuration parameters, stored as a bluetoothConnectionConfig
object.
NumConnections
— Number of Peripheral nodes associated with Central node
positive integer
This property is read-only.
Number of Peripheral nodes associated with the Central node, stored as a positive integer.
Dependencies
To enable this property, set the Role
property to "central"
.
Data Types: double
Object Functions
Specific to This Object
addTrafficSource | Add data traffic source to Bluetooth BR/EDR node on ACL connection |
configureScheduler | Configure baseband scheduler at Bluetooth BR/EDR Central node |
statistics | Get statistics of Bluetooth BR/EDR node |
updateChannelList | Update channel list of Bluetooth BR/EDR node |
Examples
Create, Configure, and Simulate Bluetooth BR Nodes
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;
Initialize the wireless network simulator.
networkSimulator = wirelessNetworkSimulator.init;
Create two Bluetooth BR nodes, one with the "central"
role and the other with the "peripheral"
role. Specify the position of the Peripheral node, in meters.
centralNode = bluetoothNode("central"); peripheralNode = bluetoothNode("peripheral",Position=[1 0 0]);
Create a default Bluetooth BR/EDR connection configuration object to configure and share a connection between the Bluetooth BR Central and Peripheral nodes.
cfgConnection = bluetoothConnectionConfig;
Configure the connection between the Central and the Peripheral nodes.
connection = configureConnection(cfgConnection,centralNode,peripheralNode)
connection = bluetoothConnectionConfig with properties: CentralToPeripheralACLPacketType: "DH1" PeripheralToCentralACLPacketType: "DH1" SCOPacketType: "None" HoppingSequenceType: "Connection adaptive" 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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 ... ] PollInterval: 40 InstantOffset: 240 TransmitterPower: 20 SupervisionTimeout: 32000 Read-only properties: CentralAddress: "D091BBE70001" PrimaryLTAddress: 1
Create and configure a networkTrafficOnOff
object to generate an On-Off application traffic pattern.
traffic = networkTrafficOnOff(DataRate=200,PacketSize=27, ...
GeneratePacket=true,OnTime=inf);
Add application traffic from the Central to the Peripheral node.
addTrafficSource(centralNode,traffic,DestinationNode=peripheralNode);
Add the Central and Peripheral nodes to the wireless network simulator.
addNodes(networkSimulator,[centralNode peripheralNode]);
Specify the simulation time, in seconds.
simulationTime = 0.3;
Run the simulation for the specified simulation time.
run(networkSimulator,simulationTime);
Custom channel model is not added. Using free space path loss (fspl) model as the default channel model.
Retrieve the application, baseband, and physical layer (PHY) statistics corresponding to the Central and Peripheral nodes.
centralStats = statistics(centralNode)
centralStats = struct with fields:
Name: "Node1"
ID: 1
App: [1x1 struct]
Baseband: [1x1 struct]
PHY: [1x1 struct]
peripheralStats = statistics(peripheralNode)
peripheralStats = struct with fields:
Name: "Node2"
ID: 2
App: [1x1 struct]
Baseband: [1x1 struct]
PHY: [1x1 struct]
Schedule Updated Channel Map for Bluetooth EDR Node
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;
Initialize the wireless network simulator object.
networkSimulator = wirelessNetworkSimulator.init();
Create two Bluetooth EDR nodes, one with the "central"
role and other with the "peripheral"
role. Specify the position of the Peripheral node in meters.
centralNode = bluetoothNode("central"); peripheralNode = bluetoothNode("peripheral",Position=[1 0 0]);
Create a default Bluetooth BR/EDR connection configuration object to configure and share a connection between Bluetooth EDR Central and Peripheral nodes.
cfgConnection = bluetoothConnectionConfig(CentralToPeripheralACLPacketType="2-DH3",PeripheralToCentralACLPacketType="2-DH5");
Configure connection between the Central and the Peripheral nodes.
connection = configureConnection(cfgConnection,centralNode,peripheralNode)
connection = bluetoothConnectionConfig with properties: CentralToPeripheralACLPacketType: "2-DH3" PeripheralToCentralACLPacketType: "2-DH5" SCOPacketType: "None" HoppingSequenceType: "Connection adaptive" 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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 ... ] PollInterval: 40 InstantOffset: 240 TransmitterPower: 20 SupervisionTimeout: 32000 Read-only properties: CentralAddress: "D091BBE70001" PrimaryLTAddress: 1
Create and configure a networkTrafficOnOff
object to generate an On-Off application traffic pattern.
traffic = networkTrafficOnOff(DataRate=200,PacketSize=27, ...
GeneratePacket=true,OnTime=inf);
Add application traffic from the Central to the Peripheral node.
addTrafficSource(centralNode,traffic,DestinationNode=peripheralNode);
Schedule channel list update at the Central node at 0.05 seconds to use channels 0 to 40.
scheduleAction(networkSimulator,@(varargin) updateChannelList(centralNode, ...
0:40,DestinationNode=peripheralNode),[],0.05);
Add the Central and Peripheral nodes to the wireless network simulator.
addNodes(networkSimulator,[centralNode peripheralNode]);
Specify the simulation time in seconds.
simulationTime = 0.3;
Run the simulation for the specified simulation time.
run(networkSimulator,simulationTime);
Custom channel model is not added. Using free space path loss (fspl) model as the default channel model.
Retrieve application, baseband, and physical layer (PHY) statistics corresponding to the Central and Peripheral nodes.
centralStats = statistics(centralNode); peripheralStats = statistics(peripheralNode);
References
[1] Bluetooth Technology Website. “Bluetooth Technology Website | The Official Website of Bluetooth Technology.” Accessed May 22, 2022. https://www.bluetooth.com/.
[2] Bluetooth Core Specifications Working Group. "Bluetooth Core Specification" v5.3. https://www.bluetooth.com/.
Version History
Introduced in R2022b
Beispiel öffnen
Sie haben eine geänderte Version dieses Beispiels. Möchten Sie dieses Beispiel mit Ihren Änderungen öffnen?
MATLAB-Befehl
Sie haben auf einen Link geklickt, der diesem MATLAB-Befehl entspricht:
Führen Sie den Befehl durch Eingabe in das MATLAB-Befehlsfenster aus. Webbrowser unterstützen keine MATLAB-Befehle.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)