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
sets
properties using one or more name-value pairs. Enclose each property name in quotation
marks. For example, cfgHESU
= wlanHESUConfig(Name,Value)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.
Properties
ChannelBandwidth
— Channel bandwidth of PPDU transmission
'CBW20'
(default) | 'CBW40'
| 'CBW80'
| 'CBW160'
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
ExtendedRange
— Enable HE ER SU format
false
or 0
(default) | true
or 1
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
Upper106ToneRU
— Enable higher frequency 106-tone RU
false
or 0
(default) | true
or 1
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
InactiveSubchannels
— Indicate inactive 20 MHz subchannels in HE sounding NDP
false
or 0
(default) | logical vector
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
NumTransmitAntennas
— Number of transmit antennas
1
(default) | positive integer
Number of transmit antennas, specified as a positive integer.
Data Types: double
PreHECyclicShifts
— Cyclic shift values of additional transmit antennas
-75
(default) | integer in the interval [–200, 0] | row vector
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 theNumTransmitAntennas
property to16
, thewlanHESUConfig
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
NumSpaceTimeStreams
— Number of space-time streams
1
(default) | integer in the interval [1, 8]
Number of space-time streams in the transmission, specified as an integer in the interval [1, 8].
Data Types: double
SpatialMapping
— Spatial mapping scheme
'Direct'
(default) | 'Hadamard'
| 'Fourier'
| 'Custom'
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
SpatialMappingMatrix
— Spatial mapping matrix
1
(default) | complex-valued scalar | complex-valued matrix | complex-valued 3-D array
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:ChannelBandwidth
NST '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
Beamforming
— Enable signaling of transmission with beamforming
true
or 1
(default) | false
or 0
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
PreHESpatialMapping
— Enable spatial mapping of pre-HE-STF portion
false
or 0
(default) | true
or 1
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
STBC
— Enable STBC
false
or 0
(default) | true
or 1
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
MCS
— Modulation and coding scheme
0
(default) | integer in the interval [0, 11]
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
:
MCS | Modulation | Dual Carrier Modulation | Coding Rate |
---|---|---|---|
0 | Binary phase-shift keying (BPSK) |
| 1/2 |
1 | Quadrature phase-shift keying (QPSK) |
| 1/2 |
2 | Not applicable | 3/4 | |
3 | 16-point quadrature amplitude modulation (16-QAM) |
| 1/2 |
4 | 3/4 | ||
5 | 64-QAM | Not applicable | 2/3 |
6 | 3/4 | ||
7 | 5/6 | ||
8 | 256-QAM | 3/4 | |
9 | 5/6 | ||
10 | 1024-QAM | 3/4 | |
11 | 5/6 |
Dependencies
When you set the
ExtendedRange
to1
(true
), you can only set this property to0
,1
, or2
.When you set the
Upper106ToneRU
to1
(true
), you can only set this property to0
.
Data Types: double
DCM
— DCM indicator
false
or 0
(default) | true
or 1
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:
The
MCS
property is0
,1
,3
, or4
.The
STBC
property is0
(false
).The
NumSpaceTimeStreams
property is less than or equal to 2.
Data Types: logical
ChannelCoding
— FEC coding type
'LDPC'
(default) | 'BCC'
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 not10
or11
.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
APEPLength
— APEP length
100
(default) | integer in the interval [0, 6451631]
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
GuardInterval
— Guard interval (cyclic prefix) duration
3.2
(default) | 1.6
| 0.8
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
HELTFType
— HE-LTF compression mode of HE PPDU
4
(default) | 2
| 1
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
UplinkIndication
— Uplink transmission indicator
false
or 0
(default) | true
or 1
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
BSSColor
— BSS color identifier
0
(default) | integer in the interval [0, 63]
Basic service set (BSS) color identifier, specified as an integer in the interval [0, 63].
Data Types: double
SpatialReuse
— Spatial reuse indicator
0
(default) | integer in the interval [0, 15]
Spatial reuse indicator, specified as an integer in the interval [0, 15].
Data Types: double
TXOPDuration
— Duration information for TXOP protection
127
(default) | integer in the interval [0, 127]
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
HighDoppler
— High-Doppler mode indicator
false
or 0
(default) | true
or 1
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
MidamblePeriodicity
— Midamble periodicity of HE-Data field
10
(default) | 20
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
NominalPacketPadding
— Nominal packet padding
0
(default) | 8
| 16
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 a | Value of TPE in Microseconds | ||
---|---|---|---|
NominalPacketPadding Set to
0 | NominalPacketPadding Set to
8 | NominalPacketPadding Set to
16 | |
1 | 0 | 0 | 4 |
2 | 0 | 0 | 8 |
3 | 0 | 4 | 12 |
4 | 0 | 8 | 16 |
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
PostFECPaddingSource
— Post-FEC padding bit source
'mt19937ar with seed'
(default) | 'Global stream'
| 'User-defined'
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 thePostFECPaddingSeed
property.'Global stream'
— Generate normally distributed random bits by using the current global random number stream.'User-defined'
— Use the bits specified in thePostFECPaddingBits
property as the post-FEC padding bits.
Data Types: char
| string
PostFECPaddingSeed
— Post-FEC padding bit seed for mt19937ar algorithm
73
(default) | nonnegative integer
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
PostFECPaddingBits
— Post-FEC padding bits
0
(default) | binary-valued column vector
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
getNumPostFECPaddingBits | Calculate required number of post-FEC padding bits |
getPSDULength | Calculate HE or WUR PSDU length |
packetFormat | WLAN packet format |
ruInfo | Resource unit allocation information |
showAllocation | Resource unit allocation |
transmitTime | Packet transmission time |
Examples
Create HE SU Configuration Object
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 HE ER SU Configuration Object
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 HE SU Configuration Object for Packet Extension
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
PPDU
The physical layer (PHY) protocol data unit (PPDU) is the complete physical layer convergence procedure (PLCP) frame, including PLCP headers, MAC headers, the MAC data field, and the MAC and PLCP trailers.
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
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
You must specify the data type of the postFECPaddingBits
property
as int8
.
Version History
Introduced in R2018b
See Also
Objects
Functions
Apps
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)