Create RU configuration object for HE MU transmission
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.
creates an object that contains properties to configure an HE-format RU. The
cfgHEMU.RU
= wlanHEMURU(Size
,Index
,UserNumbers
)Size
input is the RU size, Index
is the RU
index, and UserNumbers
specifies the indices of users transmitted on
the RU.
sets properties using one or more name-value pairs. Enclose each property name in
quotation marks.cfgHEMU.RU
= wlanHEMURU(___,Name,Value)
PowerBoostFactor
— Power boost factor1
(default) | scalar in the interval [0.5, 2]Power boost factor, specified as a scalar in the interval [0.5, 2].
Data Types: double
SpatialMapping
— Spatial mapping scheme'Direct'
(default) | 'Hadamard'
| 'Fourier'
| 'Custom'
Spatial mapping scheme, specified as 'Direct'
,
'Hadamard'
, 'Fourier'
, or
'Custom'
.
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
SpatialMappingMatrix
— Spatial mapping matrix1
(default) | complex-valued scalar | complex-valued matrix | complex-valued 3-D arraySpatial 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.
This property applies only when you set the SpatialMapping
property to 'Custom'
.
Data Types: double
Complex Number Support: Yes
Beamforming
— Enable signaling of transmission with beamformingtrue
(default) | false
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.
This property applies only when you set the SpatialMapping
property to 'Custom'
.
Data Types: logical
Size
— Resource unit size242
(default) | positive integerResource 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
Index
— Resource unit index1
(default) | integer in the interval [1, 74]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
UserNumbers
— User index number1
| integer | vector of integersIndices 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
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
You have a modified version of this example. Do you want to open this example with your edits?