wlanNode
Download Required: To use wlanNode
,
first download the Communications Toolbox Wireless Network Simulation Library add-on.
Description
Use the wlanNode
object to create and configure a WLAN
node.
Creation
Description
creates a default WLAN
node object.nodeObj
= wlanNode
nodeObj = wlanNode(
sets properties of the WLAN node
object using one or more optional name-value arguments. You can also use this syntax to
create an array of WLAN node objects by setting the value of the Position
property.Name=Value
)
Properties
Name
— Node name
"NodeN"
(default) | character vector | string scalar | string array | cell array of character vectors
Node name, specified as a character vector, string scalar, string array, or cell
array of character vectors. The default format of this value is
"NodeN"
, where N is the
node identifier specified by the ID
property.
When you create an array of wlanNode
objects by specifying the
Position
property, you can name each node in the array at once by specifying the
Name
as a string array or cell array of character vectors. If the
length of the Name
array is greater than the number of nodes, the
extra names do not apply. If the length of the Name
array is less
than the number of nodes, the extra nodes get default names. When creating this object,
you can configure names for multiple nodes simultaneously by setting this property as a
name-value argument. Once you create this object, you can set this property for one
wlanNode
object at a time.
Data Types: char
| string
Position
— Position in 3-D Cartesian coordinates
[0 0 0]
(default) | numeric N-by-3 matrix
Position in 3-D Cartesian coordinates, specified as a numeric
N-by-3 matrix, where N is the number of nodes. By
specifying a matrix with N greater than one, you can create a
1-by-N array of wlanNode
objects.
Specify this value in meters. This value specifies the positions of the nodes in
Cartesian x-, y-, and
z-coordinates. When creating this object, you can configure positions
for multiple nodes simultaneously by setting this property as a name-value argument.
Once you create this object, you can set this property for one wlannode
object at a time.
Data Types: double
MACFrameAbstraction
— MAC frame abstraction
1
or true
(default) | 0
or false
MAC frame abstraction, specified as 0
(false
)
or 1
(true
). Set this property to true to make the
MAC frame abstract. An abstract MAC frame means that the node does not generate MAC
frame bits.
Note
You can set this property only when you create the object. After creation, the property is read-only.
All nodes in the network must specify the same value for this property.
Data Types: logical
PHYAbstractionMethod
— PHY abstraction method
"tgax-evaluation-methodology"
(default) | "tgax-mac-calibration"
| "none"
PHY abstraction method, specified as
"tgax-evaluation-methodology"
,
"tgax-mac-calibration"
, or "none"
.
The value
"tgax-evaluation-methodology"
corresponds to the abstraction method detailed in Appendix 1 of IEEE® 802.11™-14/0571r12 [1].The value
"tgax-mac-calibration"
corresponds to the abstraction method detailed in IEEE 802.11-14/0980r16 [2].The value
"none"
corresponds to full physical layer processing.
For more information, see PHY Abstraction.
Note
You can set this property only when you create the object. After creation, the property is read-only.
All nodes in the network must specify the same value for this property.
Note
Although these methodologies were developed for the 802.11ax™ standard, WLAN Toolbox™ simulations use them for all packet formats.
Data Types: char
| string
DeviceConfig
— Device configuration
wlanDeviceConfig
object (default) | vector of wlanDeviceConfig
objects | wlanMultilinkDeviceConfig
object
Device configuration, specified as a wlanDeviceConfig
object, a
vector of wlanDeviceConfig
objects, or a wlanMultilinkDeviceConfig
object. If you want to configure one or multiple
non-multilink devices (non-MLDs), specify this property as a
wlanDeviceConfig
object or a vector of
wlanDeviceConfig
objects, respectively. To specify settings for
multiple devices in one node, you must set the Mode
property
of each object in the vector to "AP"
or
"mesh"
.
Note
You can set this property only when you create the object. After creation, the property is read-only.
ID
— Node identifier
scalar integer
This property is read-only.
Node identifier, returned as an integer. This value specifies a unique identifier for the node in the simulation.
Note
If you create and store the WLAN nodes in an uninitialized matrix, the IDs that this property allocates to the nodes can be non-sequential because of the memory allocation of the object in the matrix. For more information about MATLAB memory allocation, see How MATLAB Allocates Memory.
Data Types: double
Object Functions
associateStations | Associate stations with WLAN node |
addTrafficSource | Add data traffic source to WLAN node |
addMeshPath | Add mesh path to WLAN node |
addMobility | Add random waypoint mobility model to WLAN node |
update | Update configuration of WLAN node |
statistics | Statistics of WLAN node |
Examples
Create, Configure, and Simulate Wireless Local Area Network
Simulate a wireless local area network (WLAN) using WLAN Toolbox™ with the Communications Toolbox™ Wireless Network Simulation Library.
In this example, you:
Create and configure a WLAN with an access point (AP) node and a station (STA) node.
Add application traffic from the AP node to the STA node.
Simulate the WLAN and retrieve the statistics of the AP node and the STA 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;
Create a wireless network simulator.
networksimulator = wirelessNetworkSimulator.init();
Create a wlanDeviceConfig
object, specifying the operating mode and beacon interval. Use this configuration to create a WLAN node and specify its name and position.
deviceCfg = wlanDeviceConfig(Mode="AP",BeaconInterval=5); apNode = wlanNode(Name="AP",Position=[0 10 0],DeviceConfig=deviceCfg);
Create a WLAN node with the default device configuration. Confirm that the default mode is STA
.
staNode = wlanNode(Name="STA",Position=[5 0 0]);
disp(staNode.DeviceConfig.Mode)
STA
Add a random waypoint mobility model to the WLAN node with the default device configuration. Set the shape of the node's mobility area to "circle"
.
addMobility(staNode,BoundaryShape="circle");
Associate the STA node with the AP node using the associateStations
function.
associateStations(apNode,staNode);
Create a networkTrafficOnOff
object to generate an On-Off application traffic pattern. Specify the data rate in kilobits per second and the packet size in bytes.
traffic = networkTrafficOnOff(DataRate=100,PacketSize=10);
Add application traffic from the AP node to the STA node.
addTrafficSource(apNode,traffic,DestinationNode=staNode);
Add the AP node and STA node to the wireless network simulator.
addNodes(networksimulator,{apNode,staNode});
Set the simulation time in seconds and run the simulation.
simulationTime = 0.05; run(networksimulator,simulationTime);
Get and display the physical layer (PHY) statistics that correspond to the AP node and STA node.
apStats = statistics(apNode); staStats = statistics(staNode); disp(apStats.PHY)
TransmittedPackets: 135 TransmittedPayloadBytes: 6093 ReceivedPackets: 126 ReceivedPayloadBytes: 1764 DroppedPackets: 0
disp(staStats.PHY)
TransmittedPackets: 126 TransmittedPayloadBytes: 1764 ReceivedPackets: 135 ReceivedPayloadBytes: 6093 DroppedPackets: 0
More About
PHY Abstraction
In system-level simulation, you can model the full physical layer (PHY) transmit and receive chain to determine whether a packet was successfully received. However, modeling the PHY in this way for large networks is computationally expensive. Alternatively, you can abstract the PHY. PHY abstraction, or link-to-system mapping, is a method to run simulations in a timely manner by accurately predicting the performance of a link in a computationally efficient way.
WLAN Toolbox supports two PHY abstraction models:
This PHY abstraction model is very simple. It is intended to be applied to MAC-focused simulations, as specified in [2]. It determines whether a packet was successfully received using interference. If interference is present at any point in the packet duration, the reception of the signal of interest is considered unsuccessful.
This PHY abstraction model, defined in [1], determines whether a reception is successful by taking into account the channel model and the transmission scheme as well as interference. For more information, see the Physical Layer Abstraction for System-Level Simulation example.
PHY Modeling Assumptions and Limitations
It is assumed that all transmissions use the full available channel bandwidth. Therefore, the dynamic clear channel assessment (CCA) thresholds in secondary channels are not supported for bandwidths over 20 MHz.
Ideal PHY receiver performance is assumed.
No inter-carrier or inter-symbol interference is modeled.
It is assumed that the channel impairment and interference is constant over the duration of an MPDU subframe.
The first received packet that exceeds the energy detection threshold while the CCA is idle is considered to be the signal of interest. Subsequent signals are considered interference.
To speed up simulation when you abstract the decoding of a received packet, the signal to interference and noise ratio (SINR) is calculated only for every fourth subcarrier. For example, when decoding a 20 MHz non-HT packet, the SINR is calculated for 13 of the 52 subcarriers.
Abstract PHY supports only full-band co-channel interference modeling. It does not support modeling overlapping and adjacent channel interference.
No inter-device interference is modeled between simultaneous transmit and receive (STR) links in a multilink device (MLD).
No sample clock offset impairment or correction is modeled.
Simulations that model adjacent channel interference support only 20 MHz WLAN channel bandwidths.
MAC Modeling Assumptions and Limitations
STAs do not process or adopt the information in the received beacon frames.
Node Modeling Assumptions and Limitations
The channel bandwidth is not validated against the channel number according to regulatory requirements.
References
[1] IEEE 802.11-14/0571r12, TGax Evaluation Methodology.
[2] IEEE 802.11-14/0980r16, TGax Simulation Scenarios.
Version History
Introduced in R2023aR2024a: WLAN MLD configuration
You can now create a WLAN node with MLD configuration by setting the DeviceConfig
property to the wlanMultilinkDeviceConfig
value.
R2024a: Adjacent channel interference modeling
You can now model adjacent channel interference. To configure this feature, use the
InterferenceModeling
and MaxInterferenceOffset
properties of the wlanDeviceConfig
object.
R2024a: Single precision in full PHY
Full PHY system-level simulations now use single-precision numeric values.
R2023b: Bluetooth signals in full PHY
You can now use wlanNode
to model the reception of Bluetooth
signals in full PHY system-level simulations.
R2023b: 802.11be support
You can now specify the
TransmissionFormat
property of thewlanDeviceConfig
object as"EHT-SU"
.You can now specify the
ChannelBandwidth
property of thewlanDeviceConfig
object as320e6
.You can now specify the
MCS
property of thewlanDeviceConfig
object as12
or13
.You can now specify the
MPDUAggregrationLimit
property of thewlanDeviceConfig
object as an integer in the range [1, 1024].
R2023b: Transmission queue size and uplink OFDMA
Use the
TransmitQueueSize
property of thewlanDeviceConfig
object to configure the size of the MAC transmission queue.Use the
EnableUplinkOFDMA
property of thewlanDeviceConfig
object to configure uplink OFDMA transmissions.
R2023b: Support for adding random waypoint mobility model to WLAN node
Use the addMobility
object function to add a random waypoint mobility model to a WLAN node.
See Also
Objects
Functions
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
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)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)