Main Content

wlanEHTRU

Configure RU for EHT MU transmission

    Description

    The wlanEHTRU object contains properties that configure a WLAN extremely high-throughput (EHT) resource unit (RU). The RU property of a wlanEHTMUConfig object is a cell array of wlanEHTRU objects. For an OFDMA wlanEHTMUConfig object, the AllocationIndex property determines the RU property. For a non-OFDMA wlanEHTMUConfig object, the ChannelBandwidth property determines the RU property.

    Creation

    Description

    example

    cfgEHT.RU = wlanEHTRU(Size,Index,UserNumbers) creates an object that contains properties to configure an EHT-format RU. The Size input is the RU size, Index is the RU index, and UserNumbers specifies the indices of users transmitted on the RU.

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

    Properties

    expand all

    Power boost factor, specified as a scalar in the range [0.5, 2].

    Data Types: double

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

    The default value, "Direct", applies only when you set the NumTransmitAntennas property equal to the sum of the number of space-time streams for all users assigned to the RU.

    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 NSTSTotal -by-NT, where:

      • NSTSTotal is the sum of the number of the space-time streams for all users assigned to the RU;

      • 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 Size-by-NSTSTotal-by-NT. The ChannelBandwidth property determines the value of the Size property. In this case, each occupied subcarrier has its own spatial mapping matrix.

    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.6 0.2; 0.5 0.4; 0.5 0.9] 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 beamforming by setting this property to true or 1. The SpatialMappingMatrix property specifies the beamform steering matrix.

    Dependencies

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

    Data Types: logical

    Resource unit size, specified as a positive integer or a vector of positive integers. If the RU is an MRU, Size is a vector with entries given by the sizes of the RUs that comprise the MRU. Otherwise, Size is a scalar. The possible RU sizes are 26, 52, 106, 242, 484, 968, 996, 1992, and 3984.

    Note

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

    Data Types: double

    Resource unit index, specified as an integer in the range [1, 144] or a vector of such integers. If the RU is an MRU, Index is a vector with entries given by the indices of the RUs that comprise the MRU. Otherwise, Index is a scalar. Use this property to indicate the location of the RU within the channel.

    Note

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

    Example: An 80 MHz transmission has four possible 242-tone RUs, one in each 20 MHz subchannel. RU 242-1 (Size = 242, Index = 1) is the RU occupying the lowest absolute frequency within the 80MHz, and RU 242-4 (Size = 242, Index = 4) is the RU occupying the highest absolute frequency.

    Data Types: double

    Indices of users transmitted on the RU, in one-based format, specified as an integer or a vector of integers. This property indexes the appropriate cell array element of the User property.

    Data Types: double

    Object Functions

    Examples

    collapse all

    Create a multi-user EHT configuration object with the allocation index set to 48. This setting specifies an OFDMA configuration with one 106+26 tone MRU and one 106 tone RU in a 20 MHz channel. Both resource units have one user.

    allocationIndex = 48;
    cfgSMRU = wlanEHTMUConfig(allocationIndex);

    Display the properties of the MRU.

    cfgSMRU.RU{1}
    ans = 
      wlanEHTRU with properties:
    
        PowerBoostFactor: 1
          SpatialMapping: 'Direct'
    
       Read-only properties:
                    Size: [106 26]
                   Index: [1 5]
             UserNumbers: 1
    
    

    Now create a multi-user EHT configuration object with the allocation index set to the vector [151 30 30 30 64 64 29 29]. This setting specifies a 996+484-tone MRU and two 242-tone RUs in a 160 MHz channel. The MRU has eight users and the two RUs have one user each.

    allocationIndex = [151 30 30 30 64 64 29 29];
    cfgLMRU = wlanEHTMUConfig(allocationIndex);

    For multi-user OFDMA transmissions with a channel bandwidth of 160 MHz or higher, the EHT-SIG content channels can carry different information per 80 MHz segment. For these bandwidths, the read-only property AllocationIndex is a matrix of size M-by-N, where M is the number of 80 MHz segments and N is the number of 20 MHz subchannels. In this example M is 2 and N is 8. Each row of the matrix represents an 80 MHz segment.

    Display the AllocationIndex property.

    disp(cfgLMRU.AllocationIndex);
       151    30    30    30    28    28    29    29
        30    30    30    30    64    64    29    29
    

    Display the properties of the MRU.

    cfgLMRU.RU{1}
    ans = 
      wlanEHTRU with properties:
    
        PowerBoostFactor: 1
          SpatialMapping: 'Direct'
    
       Read-only properties:
                    Size: [996 484]
                   Index: [1 4]
             UserNumbers: [1 2 3 4 5 6 7 8]
    
    

    Now create a multi-user EHT configuration object with the allocation index set to the 2-by-8 matrix obtained by duplicating the previous allocation index. In this case, the EHT-SIG content channels carry the same information per 80 MHz segment.

    allocationIndex = [allocationIndex;allocationIndex];
    cfg2by8 = wlanEHTMUConfig(allocationIndex);

    Display the AllocationIndex property.

    disp(cfg2by8.AllocationIndex);
       151    30    30    30    64    64    29    29
       151    30    30    30    64    64    29    29
    

    Verify that the two configuration objects have the same resource unit allocations.

    isequal(ruInfo(cfgLMRU),ruInfo(cfg2by8))
    ans = logical
       1
    
    

    Version History

    Introduced in R2022b

    See Also

    Objects