wlanMACFrameConfig

Create WLAN MAC frame configuration object

Description

The wlanMACFrameConfig object is a WLAN medium access control (MAC) frame configuration object that initializes properties for an IEEE® 802.11™ MAC frame.

Creation

Description

example

config = wlanMACFrameConfig creates a WLAN MAC frame configuration object, config, with default property values.

example

config = wlanMACFrameConfig(Name,Value) sets properties of config using one or more Name,Value pair arguments.

At run time, the calling function, wlanMACFrame, validates object settings for properties relevant to its operation.

Properties

expand all

Type of MAC frame, specified as one of these values: 'Beacon', 'RTS', 'CTS', 'ACK', 'Block Ack', 'Data', 'Null', 'QoS Data', or 'QoS Null'.

Data Types: char | string

Format of the MAC frame, specified as 'Non-HT', 'HT-Mixed', 'VHT', 'HE-SU', or 'HE-EXT-SU'.

Dependencies

To enable this property, set the FrameType property to 'QoS Data' or 'QoS Null'. The 'VHT', 'HE-SU', and 'HE-EXT-SU' values of this property apply only when you set the FrameType to 'QoS Data'.

Data Types: char | string

Frame is directed to a distributed system (DS), specified as a numeric or logical value of 1 (true) or 0 (false). To indicate that the frame is directed from a non-access point (non-AP) station to a DS, set this property to 1 (true).

Data Types: logical

Frame is exiting a DS, specified as a logical value of 1 (true) or 0 (false). To indicate that the frame is directed from a DS to a non-AP station, set this property to 1 (true).

Data Types: logical

Retransmitted frame, specified as a logical value of 1 (true) or 0 (false). To indicate that the frame is a retransmission, set this property to 1 (true).

Data Types: logical

Power management mode, specified as a logical value of 1 (true) or 0 (false). To indicate that the sender is in power-saving mode, set this property to 1 (true).

Data Types: logical

More data indication, specified as a logical value of 1 (true) or 0 (false). To indicate that the sender has more frames to send, set this property to 1 (true).

Data Types: logical

Frame includes the high-throughput (HT) control field, specified as a logical value of 1 (true) or 0 (false). To indicate that the HT control field is included in the MAC header, set this property to 1 (true)

Data Types: logical

Amount of time, in microseconds, for which the channel is reserved after frame transmission ends, specified as an integer in the interval [0, 215 – 1].

Data Types: double

Receiver address, specified as a 12-element character vector or a string scalar representing a six-octet hexadecimal value. The default value, 'FFFFFFFFFFFF', is a broadcast address.

Data Types: char | string

Transmitter address, specified as a 12-element character vector or a string scalar representing a six-octet hexadecimal value.

Data Types: char | string

Basic service set identifier (BSSID), destination address (DA), or source address (SA), specified as a 12-element character vector or string scalar representing a six-octet hexadecimal value.

  • When the ToDS and FromDS properties are 0 (false), this property represents a BSSID.

  • When the ToDS property is 1 (true) and the FromDS property is 0 (false), this property represents a DA.

  • When the ToDS property is 0 (false) and the FromDS property is 1 (true), this property represents an SA.

Data Types: char | string

Frame sequence number, specified as an integer in the interval [0, 4095].

  • When the MPDUAggregation property is 1 (true), this property represents the sequence number of the first MAC protocol data unit (MPDU). The sequence numbers for subsequent MPDUs increase in increments of one.

  • When the FrameType property is 'Block Ack', this property represents the starting sequence number.

Data Types: double

Traffic identifier representing user priority, specified as an integer in the interval [0, 7].

Data Types: double

Acknowledgment policy, specified as 'No Ack', 'Normal Ack/Implicit Block Ack Request', 'No explicit acknowledgment/PSMP Ack/HTP Ack', or 'Block Ack'.

Data Types: string | char

HT control field of the MAC header, specified as an eight-element character vector or a string scalar representing a four-octet hexadecimal value. The leftmost byte in HTControl must be the most significant byte.

Data Types: string | char

Form aggregated MAC service data units (A-MSDUs) using MSDU aggregation, specified as a logical value of 1 (true) or 0 (false).

When you set this property to 1 (true), the MAC frame returned on calling wlanMACFrameConfig in the wlanMACFrame function contains A-MSDUs instead of MSDUs.

Dependencies

To enable this property, set the FrameType property to 'QoS Data'.

Data Types: logical

Form A-MPDUs using MPDU aggregation, specified as a logical value of 1 (true) or 0 ( false). To indicate that the MAC frame initialized by wlanMACMFrameConfig contains A-MPDUs instead of MPDUs, set this property to 1 (true).

When you set the FrameType to 'QoS Data' and FrameFormat to 'VHT', the MAC frame returned on calling wlanMACFrameConfig in wlanMACFrame contains A-MPDUs instead of MPDUs.

Dependencies

To enable this property, set the FrameType property to 'QoS Data' and the FrameFormat property to 'HT-Mixed'.

Data Types: logical

Destination address of all A-MSDU subframes, specified as a 12-element character vector or a string scalar representing a six-octet hexadecimal value.

Data Types: char | string

Source address of all A-MSDU subframes, specified as a 12-element character vector or a string scalar representing a six-octet hexadecimal value.

Data Types: char | string

Minimum spacing between the start of MPDUs, specified as an integer in the interval [0, 7]. For more information, see Table 9.163 in [1].

Data Types: double

Block ack bitmap, specified as a character vector or string scalar of octets in hexadecimal format. To indicate an eight-octet block ack bitmap, specify a 16-element character vector or string scalar. To indicate a 32-octet block ack bitmap, specify a 64-element character vector or string scalar.

Data Types: char | string

Management frame-body configuration, specified as a wlanMACManagementConfig object. This property applies only to management frames. This property specifies the fields and information elements (IEs) present within the frame body of the management frame.

Dependencies

To enable this property, set the FrameType property to 'Beacon'.

Examples

collapse all

Create a wlanMACFrameConfig object for a request to send (RTS) frame and display the properties of the object.

cfgMAC = wlanMACFrameConfig;
cfgMAC.FrameType = 'RTS';
disp(cfgMAC)
  wlanMACFrameConfig with properties:

          FrameType: 'RTS'
    PowerManagement: 0
           MoreData: 0
           Duration: 0
           Address1: 'FFFFFFFFFFFF'
           Address2: '00123456789B'

Create a wlanMACFrameConfig object for a quality-of-service (QoS) Data frame. Disable acknowledgement and enable power-saving mode.

config = wlanMACFrameConfig('FrameType','QoS Data','AckPolicy','No Ack', ... 
    'PowerManagement',true);

Specify the frame sequence number and traffic identifier. Display the properties of the MAC frame configuration object.

config.SequenceNumber = 5;
config.TID            = 7;
disp(config);
  wlanMACFrameConfig with properties:

          FrameType: 'QoS Data'
        FrameFormat: 'Non-HT'
               ToDS: 0
             FromDS: 1
     Retransmission: 0
    PowerManagement: 1
           MoreData: 0
           Duration: 0
           Address1: 'FFFFFFFFFFFF'
           Address2: '00123456789B'
           Address3: '00123456789B'
     SequenceNumber: 5
                TID: 7
          AckPolicy: 'No Ack'
    MSDUAggregation: 0

References

[1] IEEE Std 802.11– 2016. “Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications." IEEE Standard for Information technology – Telecommunications and information exchange between systems – Local and metropolitan area networks – Specific requirements.

[2] IEEE P802.11ax™/D3.1. “Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications. Amendment 6: Enhancements for High Efficiency WLAN.” IEEE Standard for Information technology – Telecommunications and information exchange between systems Local and metropolitan area networks – Specific requirements.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Introduced in R2019b