Main Content

wlanHEMURU

Configure RU for HE MU transmission

Description

The wlanHEMURU object contains properties used to configure a WLAN high-efficiency (HE) resource unit (RU). When you create a wlanHEMUConfig object, the value to which you set its AllocationIndex property determines its RU property. The RU property is returned as a cell array of wlanHEMURU objects.

Creation

Description

cfgHEMU.RU = wlanHEMURU(Size,Index,UserNumbers) creates an object that contains properties to configure an HE-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.

example

cfgHEMU.RU = wlanHEMURU(___,Name,Value) sets properties using one or more name-value pairs. Enclose each property name in quotation marks.

Properties

expand all

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

Data Types: double

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

Dependencies

The default value, 'Direct', applies when you set the NumTransmitAntennas property of the associated wlanHEMUConfig object 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 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 of the associated wlanHEMUConfig object 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.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 logical value of true or false. To apply a beamforming steering matrix, set this property to 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

Resource unit size, specified as 26, 52, 106, 242, 484, 996, or 1992.

Note

This property is read-only after the object is created.

Data Types: double

Resource unit index, specified as an integer in the interval [1, 74]. Use this property to indicate the location of the RU within the channel.

Note

This property is read-only after the object is created.

Example: In an 80-MHz transmission there are 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 elements of the User property within the associated wlanHEMUConfig object.

Data Types: double

Examples

collapse all

Create an HE MU configuration object for a 40 MHz transmission with an allocation index of 11000000 for each 20 MHz subchannel. This configuration specifies two 242-tone RUs, each with one user.

cfgHEMU = wlanHEMUConfig(["11000000" "11000000"],'NumTransmitAntennas',2);

Configure the first RU and the first user.

cfgHEMU.RU{1}.SpatialMapping = 'Direct';
cfgHEMU.User{1}.APEPLength = 1e3;
cfgHEMU.User{1}.MCS = 2;
cfgHEMU.User{1}.NumSpaceTimeStreams = 2;
cfgHEMU.User{1}.ChannelCoding = 'LDPC';
cfgHEMU.User{1}.NominalPacketPadding = 16;

Configure the second RU and the second user.

cfgHEMU.RU{2}.SpatialMapping = 'Fourier';
cfgHEMU.User{2}.APEPLength = 500;
cfgHEMU.User{2}.MCS = 3;
cfgHEMU.User{2}.NumSpaceTimeStreams = 1;
cfgHEMU.User{2}.ChannelCoding = 'LDPC';
cfgHEMU.User{2}.NominalPacketPadding = 8;

Display the configuration object properties for both RUs and both users.

disp(cfgHEMU)
  wlanHEMUConfig with properties:

                     RU: {[1x1 wlanHEMURU]  [1x1 wlanHEMURU]}
                   User: {[1x1 wlanHEMUUser]  [1x1 wlanHEMUUser]}
    NumTransmitAntennas: 2
                   STBC: 0
          GuardInterval: 3.2000
              HELTFType: 4
                SIGBMCS: 0
                SIGBDCM: 0
       UplinkIndication: 0
               BSSColor: 0
           SpatialReuse: 0
           TXOPDuration: 127
            HighDoppler: 0

   Read-only properties:
       ChannelBandwidth: 'CBW40'
        AllocationIndex: [192 192]
cfgHEMU.RU{1:2}
ans = 
  wlanHEMURU with properties:

    PowerBoostFactor: 1
      SpatialMapping: 'Direct'

   Read-only properties:
                Size: 242
               Index: 1
         UserNumbers: 1

ans = 
  wlanHEMURU with properties:

    PowerBoostFactor: 1
      SpatialMapping: 'Fourier'

   Read-only properties:
                Size: 242
               Index: 2
         UserNumbers: 2

cfgHEMU.User{1:2}
ans = 
  wlanHEMUUser with properties:

              APEPLength: 1000
                     MCS: 2
     NumSpaceTimeStreams: 2
                     DCM: 0
           ChannelCoding: 'LDPC'
                   STAID: 0
    NominalPacketPadding: 16
    PostFECPaddingSource: 'mt19937ar with seed'
      PostFECPaddingSeed: 1

   Read-only properties:
                RUNumber: 1

ans = 
  wlanHEMUUser with properties:

              APEPLength: 500
                     MCS: 3
     NumSpaceTimeStreams: 1
                     DCM: 0
           ChannelCoding: 'LDPC'
                   STAID: 0
    NominalPacketPadding: 8
    PostFECPaddingSource: 'mt19937ar with seed'
      PostFECPaddingSeed: 2

   Read-only properties:
                RUNumber: 2

Extended Capabilities

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

Version History

Introduced in R2018b