Main Content

wlanEHTUser

Configure users for EHT MU transmission

    Description

    The wlanEHTUser object contains properties of a user within a WLAN extremely high-throughput multi-user (EHT MU) resource unit (RU). The User property of a wlanEHTMUConfig object is a cell array of wlanEHTUser objects. For an OFDMA wlanEHTMUConfig object, the AllocationIndex property determines the User property. For a non-OFDMA wlanEHTMUConfig object, the ChannelBandwidth property determines the User property.

    Creation

    Description

    example

    cfgEHT.User = wlanEHTUser(RUNumber) creates an EHT user configuration object for RUNumber, the input RU number.

    cfgEHT.User = wlanEHTUser(___,Name=Value) sets properties using one or more name-value pairs.

    Properties

    expand all

    Aggregated MPDU (A-MPDU) pre-end-of-frame (pre-EOF) padding (APEP) length, in bytes, specified as an integer in the range [0, 15523198].

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

    Data Types: double

    Modulation and coding scheme (MCS) used for transmission, specified as a nonnegative integer in the range [0, 13], or 15. This table shows the modulation type and coding rate for each valid value of MCS:

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

    Not applicable

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

    Not applicable

    1/2
    2

    Not applicable

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

    Not applicable

    1/2
    43/4
    564-QAM

    Not applicable

    2/3
    63/4
    75/6
    8256-QAM3/4
    95/6
    101024-QAM3/4
    115/6
    124096-QAM3/4
    135/6
    15BPSK-DCM

    0 or 1

    1/2

    A value of 14 for the MCS property indicates that EHT DUP mode is in use. To use EHT DUP mode, set the EHTDUPMode property to true or 1.

    Data Types: double

    Number of space-time streams in the transmission, specified as an integer in the range [1, 8]. The maximum number of space-time streams for any user within a MU-MIMO RU is four. The maximum value of the sum of the number of space-time streams over all users in an RU is eight. For information on these and other restrictions on the number of space-time streams, see table 36-42 of [1].

    Data Types: double

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

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

    • The MCS property is in the range [0, 9], or equal to 15.

    • 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

    Station (STA) identifier, specified as an integer in the range [0, 2047]. The value of this property specifies the station association identifier (AID) field as defined in section 35.12.1.1 of [1]. The 11 least significant bits (LSBs) of the AID field are used to address the STA. When you create a wlanEHTUser object, the default value of this property is 0 for the first wlanEHTUser and increases by 1 for each subsequent object. When you set this property to 2046, the associated RU carries no data.

    Data Types: double

    RU number, specified as an integer or a vector of integers. This property indexes the appropriate cell array elements of the RU property.

    Note

    This property is read-only after you create the object.

    Data Types: double

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

    This table shows the possible values of TPE for different values of this property and a, a parameter defined by equation (36-58) or (36-59) of [1].

    Value of aValue of TPE in Microseconds
    NominalPacketPadding Set to 0NominalPacketPadding Set to 8NominalPacketPadding Set to 16NominalPacketPadding Set to 20
    10048
    200812
    3041216
    4081620

    For an EHT MU PPDU, equation 36-91 of [1] defines the value of TPE as the maximum of the TPE values that you specify for each user.

    Data Types: double

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

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

    • "GlobalStream" — Generate normally distributed random bits by using the current global random number stream.

    • "UserDefined" — 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 "mt19937arWithSeed".

    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 numPostFECPaddingBits 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

    Examples

    collapse all

    Create a non-OFDMA EHT MU configuration object. Set the channel bandwidth to 160 MHz.

    cfg = wlanEHTMUConfig("CBW160");

    Display the configuration properties of the user. The modulation and coding scheme is 0.

    cfg.User{1}
    ans = 
      wlanEHTUser with properties:
    
                  APEPLength: 100
                         MCS: 0
         NumSpaceTimeStreams: 1
               ChannelCoding: 'LDPC'
                       STAID: 0
        NominalPacketPadding: 0
        PostFECPaddingSource: 'mt19937arWithSeed'
          PostFECPaddingSeed: 1
    
       Read-only properties:
                    RUNumber: 1
    
    

    Create another non-OFDMA EHT MU configuration object with the same channel bandwidth. Enable EHT DUP mode.

    cfg = wlanEHTMUConfig("CBW160", EHTDUPMode=1);

    Display the modulation and coding scheme used. The value 14 indicates that EHT DUP mode is being used.

    cfg.User{1}.MCS
    ans = 14
    

    Version History

    Introduced in R2022b

    See Also

    Objects