Main Content

wlanHESUConfig

Configure HE SU or HE ER SU transmission

Description

The wlanHESUConfig object is a configuration object for the WLAN high-efficiency single-user (HE SU) and HE extended-range single-user (HE ER SU) packet formats.

Creation

Description

cfgHESU = wlanHESUConfig creates a configuration object that initializes parameters for an IEEE® 802.11™ HE SU PPDU. For a detailed description of the HE WLAN formats, see [2].

example

cfgHESU = wlanHESUConfig(Name,Value) sets properties using one or more name-value pairs. Enclose each property name in quotation marks. For example, wlanHESUConfig('GuardInterval',1.6) specifies a 1.6 microsecond guard interval (cyclic prefix) duration.

At runtime, the calling function validates object settings for properties relevant to the operation of the function.

example

Properties

expand all

Channel bandwidth of PPDU transmission, specified as one of these values:

  • 'CBW20' — Channel bandwidth of 20 MHz

  • 'CBW40' — Channel bandwidth of 40 MHz

  • 'CBW80' — Channel bandwidth of 80 MHz

  • 'CBW160' — Channel bandwidth of 160 MHz

Data Types: char | string

Enable HE ER SU format, specified as a numeric or logical 1 (true) or 0 (false). To create an HE ER SU format configuration object, set this property to 1 (true).

Dependencies

This property applies only when you set the ChannelBandwidth property to 'CBW20'.

Data Types: logical

Enable higher frequency 106-tone resource unit (RU), specified as a numeric or logical 1 (true) or 0 (false). To use only the higher frequency 106-tone RU within the primary 20 MHz channel bandwidth of an HE ER SU transmission, set this property to 1 (true).

Dependencies

This property applies only when you set the ChannelBandwidth property to 'CBW20' and the ExtendedRange property to 1 (true).

Data Types: logical

Indicate inactive 20 MHz subchannels in an HE sounding null data packet (NDP), specified as a numeric or logical 0 (false) or a logical vector with at least one element set to 0 (false). When specifying a vector, the elements correspond to subchannels in order of increasing absolute frequency. Each element indicates whether the corresponding 20 MHz subchannel is inactive. To indicate an inactive 20 MHz subchannel, set the corresponding element to 1 (true). If you set this property to 0 (false), the wlanHESUConfig object applies that value to all 20 MHz subchannels, indicating that all subchannels are active.

Example: [0 0 0 1] indicates an HE sounding NDP such that the subchannel with the highest absolute frequency value is inactive.

Dependencies

To enable this property, set the ChannelBandwidth property to either 'CBW80' or 'CBW160' and the APEPLength property to 0.

Data Types: logical

Number of transmit antennas, specified as a positive integer.

Data Types: double

Cyclic shift values, in nanoseconds, of additional transmit antennas for the pre-HE fields of the waveform. The first eight antennas use the cyclic shift values specified in Table 21-10 of [1]. The remaining L antennas use the values you specify in this property, where L = NumTransmitAntennas – 8. Specify this property as one of these values:

  • An integer in the interval [–200, 0] – the wlanHESUConfig object uses this cyclic shift value for each of the L additional antennas.

  • A row vector of length L of integers in the interval [–200, 0] – the wlanHESUConfig object uses the kth element as the cyclic shift value for the (k + 8)th transmit antenna.

    Note

    If you specify this property as a row vector of length greater than L, the wlanHESUConfig object uses only the first L elements. For example, if you set the NumTransmitAntennas property to 16, the wlanHESUConfig object uses only the first L = 16 – 8 = 8 elements of this vector.

Dependencies

To enable this property, set the NumTransmitAntennas property to a value greater than 8.

Data Types: double

Number of space-time streams in the transmission, specified as an integer in the interval [1, 8].

Data Types: double

Spatial mapping scheme, specified as 'Direct', 'Hadamard', 'Fourier', or 'Custom'.

Dependencies

The default value, 'Direct', applies only when you set the NumTransmitAntennas and NumSpaceTimeStreams properties to the same value.

Data Types: char | string

Spatial mapping matrix, specified as one of these values:

  • A complex-valued scalar. This value applies to all the subcarriers.

  • A complex-valued matrix of size NSTS -by-NT, where:

    • NSTS is the number of space-time streams;

    • NT is the number of transmit antennas.

    In this case, the spatial mapping matrix applies to all the subcarriers.

  • A complex-valued 3-D array of size NST-by-NSTS-by-NT, where NST is the number of occupied subcarriers. The ChannelBandwidth property determines the value of NST. In this case, each occupied subcarrier has its own spatial mapping matrix.

    This table shows the ChannelBandwidth setting and the corresponding NST:

    ChannelBandwidthNST
    'CBW20'242
    'CBW40'484
    'CBW80'996
    'CBW160'

    1992

Use this property to rotate and scale the output vector of the constellation mapper. The spatial mapping matrix is used for beamforming and mixing space-time streams over the transmit antennas. The calling function normalizes the spatial mapping matrix for each subcarrier.

Example: [0.5 0.3; 0.4 0.4; 0.5 0.8] represents a spatial mapping matrix with three space-time streams and two transmit antennas.

Dependencies

This property applies only when you set the SpatialMapping property to 'Custom'.

Data Types: double
Complex Number Support: Yes

Enable signaling of a transmission with beamforming, specified as a numeric or logical 1 (true) or 0 (false). To apply a beamforming steering matrix, set this property to 1 (true). The SpatialMappingMatrix property specifies the beamforming steering matrix.

Dependencies

This property applies only when you set the SpatialMapping property to 'Custom'.

Data Types: logical

Enable spatial mapping of the pre-HE-short-training-field (pre-HE-STF) portion of the PPDU, specified as a numeric or logical 1 (true) or 0 (false). To spatially map the pre-HE-STF portion of the PPDU in the same way as the first symbol of the HE-LTF on each tone, set this property to 1 (true). To apply no spatial mapping to the pre-HE-STF portion of the PPDU, set this property to 0 (false).

Data Types: logical

Enable space-time block coding (STBC) of the PPDU data field, specified as a numeric or logical 1 (true) or 0 (false). STBC transmits multiple copies of the data stream across assigned antennas.

  • When you set this property to 0 (false), STBC is not applied to the data field. The number of space-time streams is equal to the number of spatial streams.

  • When you set this property to 1 (true), STBC is applied to the data field. The number of space-time streams is twice the number of spatial streams.

Dependencies

This property applies only when the NumSpaceTimeStreams property is 2 and the DCM property is 0 (false).

Data Types: logical

Modulation and coding scheme (MCS) used in transmitting the current packet, specified as a nonnegative integer in the interval [0, 11]. This table shows the modulation type and coding rate for each valid value of MCS:

MCSModulationDual Carrier ModulationCoding Rate
0Binary phase-shift keying (BPSK)

0 or 1

1/2
1Quadrature phase-shift keying (QPSK)

0 or 1

1/2
2

Not applicable

3/4
316-point quadrature amplitude modulation (16-QAM)

0 or 1

1/2
43/4
564-QAM

Not applicable

2/3
63/4
75/6
8256-QAM3/4
95/6
101024-QAM3/4
115/6

Dependencies

  • When you set the ExtendedRange to 1 (true), you can only set this property to 0, 1, or 2.

  • When you set the Upper106ToneRU to 1 (true), you can only set this property to 0.

Data Types: double

Dual carrier modulation (DCM) indicator, specified as a numeric or logical 1 (true) or 0 (false). To indicate that DCM is used for the HE-Data field, set this property to 1 (true).

Dependencies

You can only set this property to 1 (true) when all of these conditions are satisfied:

Data Types: logical

Forward-error-correction (FEC) coding type for the HE-Data field, specified as 'LDPC' for low-density parity-check (LDPC) coding or 'BCC' for binary convolutional coding (BCC).

Dependencies

You can only set this property to 'BCC' when all of these conditions are satisfied:

  • The MCS property is not 10 or 11.

  • The size of any RU is less than or equal to 242. Obtain the RU sizes by using the ruInfo object function.

  • The NumSpaceTimeStreams property is less than or equal to 4.

Data Types: char | string

Aggregated MPDU (A-MPDU) pre-end-of-frame (pre-EOF) padding (APEP) length, in bytes, specified as an integer in the interval [0, 6451631]. Setting this property to 0 specifies transmission of an HE NDP.

The object uses this property to determine the number of OFDM symbols in the data field. For more information, see [2].

Data Types: double

Guard interval (cyclic prefix) duration for the data field within a packet, in microseconds, specified as 3.2, 1.6, or 0.8.

Note

The possible value of this property depends on the HELTFType property. For 1 × HE-LTF or 2 × HE-LTF, the value cannot be 3.2. For 4 × HE-LTF, the value cannot be 1.6.

Data Types: double

HE-LTF compression mode of HE PPDU, specified as 4, 2, or 1. This property indicates the type of HE-LTF, where a value of 4, 2, or 1 corresponds to four times, two times, or one times HE-LTF duration compression mode, respectively. Table 27-1 of [2] enumerates the HE-LTF type as:

  • 1 × HE-LTF — Duration of 3.2 μs. The guard interval duration must be 0.8 μs or 1.6 μs.

  • 2 × HE-LTF — Duration of 6.4 μs. The guard interval duration must be 0.8 μs or 1.6 μs.

  • 4 × HE-LTF — Duration of 12.8 μs. The guard interval duration must be 0.8 μs or 3.2 μs.

For more information on the HE-LTF, see section 27.3.11.10 of [2].

Data Types: double

Uplink transmission indicator, specified as a numeric or logical 1 (true) or 0 (false). To indicate that the PPDU is sent on a downlink transmission, set this property to 0 (false). To indicate that the PPDU is sent on an uplink transmission, set this property to 1 (true).

Data Types: logical

Basic service set (BSS) color identifier, specified as an integer in the interval [0, 63].

Data Types: double

Spatial reuse indicator, specified as an integer in the interval [0, 15].

Data Types: double

Duration information for transmit opportunity (TXOP) protection, specified as an integer in the interval [0, 127]. Except for the first bit, which specifies TXOP length granularity, each bit of the TXOP subfield of the HE-SIG-A field is equal to TXOPDuration. Therefore a duration in microseconds must be converted according to the procedure set out in Table 27-18 of [2].

Data Types: double

High-Doppler mode indicator, specified as a numeric or logical 1 (true) or 0 (false). To indicate high-Doppler mode in the HE-SIG-A field, set this property to 1 (true).

Dependencies

The 1 (true) value of this property is valid only when the NumSpaceTimeStreams property is less than or equal to 4 for any RU.

Data Types: logical

Midamble periodicity of the HE-Data field, in number of OFDM symbols, specified as 10 or 20.

Dependencies

This property applies only when the HighDoppler property is 1 (true).

Data Types: double

Nominal packet padding, in microseconds, specified as 0, 8, or 16. The wlanHESUConfig object uses this property and a, the pre-forward-error-correction (pre-FEC) padding factor to calculate the duration, TPE, of the packet extension (PE) field. For more information about the packet extension field, see section 27.3.12 of [2].

This table shows the possible values of TPE for different values of this property and a, which is defined by equation (27-83) or (27-84) of [2].

Value of aValue of TPE in Microseconds
NominalPacketPadding Set to 0NominalPacketPadding Set to 8NominalPacketPadding Set to 16
1004
2008
30412
40816

Dependencies

To enable this property, set the APEPLength property to an integer in the interval [1, 6,500,531]. The duration of the PE field for an NDP, regardless of the nominal packet padding, is 4 microseconds.

Data Types: double

Post-FEC padding bit source used by the wlanWaveformGenerator function, specified as one of these values.

  • 'mt19937ar with seed' — Generate normally distributed random bits by using the mt19937ar algorithm with seed specified in the PostFECPaddingSeed property.

  • 'Global stream' — Generate normally distributed random bits by using the current global random number stream.

  • 'User-defined' — Use the bits specified in the PostFECPaddingBits property as the post-FEC padding bits.

Data Types: char | string

Post-FEC padding bit seed for the mt19937ar algorithm, specified as a nonnegative integer.

Dependencies

To enable this property, set the PostFECPaddingSource property to "mt19937ar with seed".

Data Types: double

Post-FEC padding bits, specified as a binary-valued scalar or column vector.

To generate a waveform, the wlanWaveformGenerator function requires n bits, where n depends on the specified configuration. To calculate n, use the getNumPostFECPaddingBits object function with the specified configuration object as the input argument and specify this property as a vector of length n. Alternatively, specify this input as a binary-valued scalar or column vector of arbitrary length. If the length of this property is less than n, the waveform generator loops the vector to create a vector of length n. If the length of this property is greater than n, the function uses only the first n entries as the post-FEC padding bits.

Note

For C/C++ code generation, you must specify the data type of this property as int8.

Data Types: single | double | int8

Object Functions

getNumPostFECPaddingBitsCalculate required number of post-FEC padding bits
getPSDULengthCalculate HE or WUR PSDU length
packetFormat WLAN packet format
ruInfoResource unit allocation information
showAllocationResource unit allocation
transmitTimePacket transmission time

Examples

collapse all

Create an HE SU configuration object for a 40-MHz transmission.

cfgHE = wlanHESUConfig;
cfgHE.ChannelBandwidth = 'CBW40'
cfgHE = 
  wlanHESUConfig with properties:

        ChannelBandwidth: 'CBW40'
     NumTransmitAntennas: 1
     NumSpaceTimeStreams: 1
          SpatialMapping: 'Direct'
     PreHESpatialMapping: 0
                    STBC: 0
                     MCS: 0
                     DCM: 0
           ChannelCoding: 'LDPC'
              APEPLength: 100
           GuardInterval: 3.2000
               HELTFType: 4
        UplinkIndication: 0
                BSSColor: 0
            SpatialReuse: 0
            TXOPDuration: 127
             HighDoppler: 0
    NominalPacketPadding: 0
    PostFECPaddingSource: 'mt19937ar with seed'
      PostFECPaddingSeed: 73

Create an HE ER SE configuration object for a 20-MHz transmission.

cfgHE = wlanHESUConfig('ExtendedRange',true)
cfgHE = 
  wlanHESUConfig with properties:

        ChannelBandwidth: 'CBW20'
           ExtendedRange: 1
          Upper106ToneRU: 0
     NumTransmitAntennas: 1
     NumSpaceTimeStreams: 1
          SpatialMapping: 'Direct'
     PreHESpatialMapping: 0
                    STBC: 0
                     MCS: 0
                     DCM: 0
           ChannelCoding: 'LDPC'
              APEPLength: 100
           GuardInterval: 3.2000
               HELTFType: 4
        UplinkIndication: 0
                BSSColor: 0
            SpatialReuse: 0
            TXOPDuration: 127
             HighDoppler: 0
    NominalPacketPadding: 0
    PostFECPaddingSource: 'mt19937ar with seed'
      PostFECPaddingSeed: 73

Create an HE SU configuration object, specifying a channel bandwidth of 40 MHz and nominal packet padding value of eight microseconds.

cfgHESU = wlanHESUConfig('ChannelBandwidth','CBW40','NominalPacketPadding',8)
cfgHESU = 
  wlanHESUConfig with properties:

        ChannelBandwidth: 'CBW40'
     NumTransmitAntennas: 1
     NumSpaceTimeStreams: 1
          SpatialMapping: 'Direct'
     PreHESpatialMapping: 0
                    STBC: 0
                     MCS: 0
                     DCM: 0
           ChannelCoding: 'LDPC'
              APEPLength: 100
           GuardInterval: 3.2000
               HELTFType: 4
        UplinkIndication: 0
                BSSColor: 0
            SpatialReuse: 0
            TXOPDuration: 127
             HighDoppler: 0
    NominalPacketPadding: 8
    PostFECPaddingSource: 'mt19937ar with seed'
      PostFECPaddingSeed: 73

Update the configuration object to specify NDP transmission mode. Because the duration of the PE field for an NDP is always four microseconds, the NominalPacketPadding property does not apply.

cfgHESU.APEPLength = 0
cfgHESU = 
  wlanHESUConfig with properties:

       ChannelBandwidth: 'CBW40'
    NumTransmitAntennas: 1
    NumSpaceTimeStreams: 1
         SpatialMapping: 'Direct'
    PreHESpatialMapping: 0
                   STBC: 0
                    MCS: 0
                    DCM: 0
          ChannelCoding: 'LDPC'
             APEPLength: 0
          GuardInterval: 3.2000
              HELTFType: 4
       UplinkIndication: 0
               BSSColor: 0
           SpatialReuse: 0
           TXOPDuration: 127
            HighDoppler: 0

More About

expand all

References

[1] IEEE Std 802.11-2020 (Revision of 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 Std 802.11ax™-2021 (Amendment to IEEE Std 802.11-2020). “Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications. Amendment 1: 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

Version History

Introduced in R2018b