wlanEHTTBConfig
Description
The wlanEHTTBConfig
object is a configuration object for the WLAN
extremely high-throughput trigger-based (EHT TB) packet format.
Creation
Description
creates a
configuration object that initializes parameters for an IEEE®
802.11™ EHT TB PPDU. For a detailed description of the EHT WLAN formats, see
IEEE P802.11be™/D3.0 [1]. cfgEHTTB
= wlanEHTTBConfig
sets properties using
one or more name-value arguments. cfgEHTTB
= wlanEHTTBConfig(Name=Value
)
Properties
ChannelBandwidth
— Channel bandwidth of PPDU transmission
"CBW20"
(default) | "CBW40"
| "CBW80"
| "CBW160"
| "CBW320"
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"CBW320"
— Channel bandwidth of 320 MHz
Data Types: char
| string
RUSize
— Resource unit size
242
(default) | positive integer | vector of positive integers
Resource unit size, specified as a positive integer or a vector of positive
integers. If the resource unit (RU) is a multiple resource unit (MRU),
RUSize
is a vector with entries given by the sizes of the RUs
that compose the MRU. Otherwise, RUSize
is a scalar. The possible
RU sizes are 26
, 52
, 106
,
242
, 484
, 996
,
1992
, and 3984
.
Data Types: double
RUIndex
— Resource unit index
1
(default) | integer in the range [1, 148] | vector of integers in the range [1, 148]
Resource unit index, specified as an integer in the range [1, 148] or a vector of
such integers. If the RU is an MRU, RUIndex
is a vector with
entries given by the indices of the RUs that compose the MRU. Otherwise,
RUIndex
is a scalar. Use this property to indicate the location
of the RU within the channel.
Example: An 80 MHz transmission has four possible 242-tone RUs, one in each 20 MHz
subchannel. RU 242-1 (RUSize
= 242, RUIndex
= 1)
is the RU occupying the lowest absolute frequency within the 80MHz, and RU 242-4
(RUSize
= 242, RUIndex
= 4) is the RU occupying
the highest absolute frequency.
Data Types: double
PreEHTPowerScalingFactor
— Power scaling factor for pre-EHT fields
1
(default) | real scalar in the range [1/√2, 1]
Power scaling factor for pre-EHT fields, specified as a real scalar in the range [1/√2, 1].
Data Types: double
NumTransmitAntennas
— Number of transmit antennas
1
(default) | positive integer
Number of transmit antennas, specified as a positive integer.
Data Types: double
PreEHTCyclicShifts
— Cyclic shift values of additional transmit antennas
−75
(default) | integer in the range [−200, 0] | row vector
Cyclic shift values, in nanoseconds, of additional transmit antennas for the pre-EHT
fields of the waveform. The first eight antennas use the cyclic shift values specified
in Table 21-10 of IEEE Std 802.11-2020 [2]. The remaining
L antennas use the values that you specify in this property, where L = NumTransmitAntennas
–
8. Specify this property as one of these values:
An integer in the range [−200, 0] — The
wlanEHTTBConfig
object uses this cyclic shift value for each of the L additional antennas.A row vector of length L of integers in the range [−200, 0] — The
wlanEHTTBConfig
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
wlanEHTTBConfig
object uses only the first L elements. For example, if you set theNumTransmitAntennas
property to16
, thewlanEHTTBConfig
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
StartingSpaceTimeStream
— Starting space-time stream index
1
(default) | integer in the interval [1, 8]
Starting space-time stream index, in one-based form, specified as an integer in the interval [1, 8]. In a multi-user multiple-input multiple-output (MU-MIMO) configuration with multiple users on the same RU, each user must transmit on a distinct space-time stream. In this case, you must set this property and the NumSpaceTimeStreams property to ensure that each space-time stream transmits at most one user.
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 only when NumTransmitAntennas is equal to NumSpaceTimeStreams.
Data Types: char
| string
| enumeration
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 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 NST-by-NSTSTotal-by-NT, where NST is the number of occupied carriers and is determined by the RUSize 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
PreEHTPhaseRotation
— Pre-EHT phase rotation values
[1 -1 -1 -1 1 -1 -1 -1 -1 1 1 1 -1 1 1 1]
(default) | row vector
Phase rotation values for the pre-EHT portion of the waveform, specified as a row vector of length 16 with entries equal to 1 or −1. This property applies only when the channel bandwidth is 320 MHz. The 16 entries of this property correspond to 20 MHz subchannels in ascending order of frequency, as defined in Equation 36-13 of IEEE P802.11be/D2.0 [1].
Data Types: double
MCS
— MCS for transmission
0
(default) | integer in the range [0, 13] | 15
Modulation and coding scheme (MCS) 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
:
MCS | Modulation | Dual Carrier Modulation | Coding Rate |
---|---|---|---|
0 | Binary phase-shift keying (BPSK) | Not applicable | 1/2 |
1 | Quadrature phase-shift keying (QPSK) | Not applicable | 1/2 |
2 | Not applicable | 3/4 | |
3 | 16-point quadrature amplitude modulation (16-QAM) | Not applicable | 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 | ||
12 | 4096-QAM | 3/4 | |
13 | 5/6 | ||
15 | BPSK-DCM |
| 1/2 |
Data Types: double
ChannelCoding
— Forward-error-correction coding type
"ldpc"
(default) | "bcc"
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).
Dependencies
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
| enumeration
PreFECPaddingFactor
— Pre-FEC padding factor
4
(default) | 1
| 2
| 3
Pre-FEC padding factor, specified as 1
, 2
,
3
, or 4
.
Data Types: single
| double
LDPCExtraSymbol
— Extra OFDM symbol segment indicator
0
(false
) (default) | 1
(true
)
Extra OFDM symbol segment indicator, specified as 1
(true
) or 0
(false
). To
indicate the presence of an extra OFDM symbol segment for LDPC coding, set this property
to 1
(true
). Otherwise, set this property to
0
(false
).
Dependencies
To enable this property, set the ChannelCoding property to "ldpc"
.
Data Types: logical
PEDisambiguity
— PE-Disambiguity subfield value
0
(false
) (default) | 1
(true
)
PE-Disambiguity subfield value, specified as 1
(true
) or 0
(false
). For more
information, see Section 27.3.12 of IEEE Std 802.11-2020 [2].
Data Types: logical
LSIGLength
— Length of L-SIG field
142
(default) | integer in the range [1, 4093]
Length of L-SIG field, in OFDM symbols, specified as an integer in the range [1,
4093]. The L-SIG length must satisfy mod(LSIGLength,3)
=
1
, where mod(a,m)
returns the remainder after
dividing a
by m
. For more information, see
mod
.
Data Types: double
GuardInterval
— Guard interval (cyclic prefix) duration
3.2
(default) | 1.6
Guard interval (cyclic prefix) duration for the data field within a packet, in
microseconds, specified as 3.2
or 1.6
.
Data Types: double
EHTLTFType
— EHT-LTF compression mode
4
(default) | 2
| 1
EHT-LTF compression mode, specified as 1
, 2
,
or 4
. These values correspond to the 1× EHT-LTF, 2× EHT-LTF, and 4×
EHT-LTF compression modes. The EHT-LTF type is enumerated in Table 36-18 of IEEE
P802.11be/D2.0 [1] as:
1× EHT-LTF — Duration of 3.2 μs with a guard range duration of 1.6 μs
2× EHT-LTF — Duration of 6.4 μs with a guard range duration of 0.8 μs or 1.6 μs
4× EHT-LTF — Duration of 12.8 μs with a guard range duration of 0.8 μs or 3.2 μs
For more information on the EHT-LTF, see Section 36.3.12.10 of IEEE P802.11be/D2.0 [1].
Data Types: double
NumEHTLTFSymbols
— Number of EHT-LTF symbols in the PPDU
1
(default) | 2
| 4
| 6
| 8
Number of EHT-LTF symbols in the PPDU, specified as 1
,
2
, 4
, 6
, or
8
.
Data Types: double
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
SpatialReuse1
— Value of Spatial Reuse 1 subfield
15
(default) | integer in the range [0, 15]
Value of Spatial Reuse 1 subfield in the U-SIG field, specified as an integer in the range [0, 15]. For more information, see Table 36-31 of IEEE P802.11be/D2.0 [1].
Data Types: double
SpatialReuse2
— Value of Spatial Reuse 2 subfield
15
(default) | integer in the range [0, 15]
Value of Spatial Reuse 2 subfield in the U-SIG field, specified as an integer in the range [0, 15]. For more information, see Table 36-31 of IEEE P802.11be/D2.0 [1].
Data Types: double
TXOPDuration
— Duration information for TXOP protection
[]
(default) | integer in the interval [0, 8448]
Duration information for transmit opportunity (TXOP) protection in microseconds, specified as an integer in the interval [0, 8448]. This table describes the correspondence between the value you set for this property and the value of the seven-bit TXOP subfield in the U-SIG field.
TXOPDuration Property | TXOP Subfield |
---|---|
[] | 127 |
Integer less than 512 | |
Integer greater than or equal to 512 |
Data Types: double
Channelization
— Channelization for 320 MHz
1
(default) | 2
Channelization for a 320 MHz channel bandwidth, specified as 1
or
2
. A 320 MHz channel has three possible locations for the channel
center frequencies. In accordance with Section 36.3.23.2 of IEEE P802.11be/D2.0 [1], when you
specify 1
, these locations are numbers 31, 95, and 159. When you
specify 2
, the locations are numbers 63, 127 and 191.
Dependencies
This property applies only when you specify the ChannelBandwidth
property as "CBW320"
.
Data Types: double
DisregardBitsUSIG1
— Disregard bits in first U-SIG symbol
binary column vector of length 6
Disregard bits in the first U-SIG symbol, specified as a binary column vector of
length 6. The default is a column vector of length 6 with all entries equal to
1
.
Data Types: double
| int8
ValidateBitUSIG2
— Validate bit in second U-SIG symbol
1
(default) | 0
Validate bit in the second U-SIG symbol, specified as 1
or
0
.
Data Types: double
| int8
DisregardBitsUSIG2
— Disregard bits in second U-SIG symbol
[0; 1; 1; 1; 1]
(default) | binary column vector of length 5
Disregard bits in the second U-SIG symbol, specified as a binary column vector of length 5.
Data Types: double
| int8
PostFECPaddingSource
— Post-FEC padding bit source
"mt19937arwithseed"
(default) | "globalstream"
| "userdefined"
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
| enumeration
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 scalar | 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 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
psduLength | EHT PSDU length |
packetFormat | WLAN packet format |
ruInfo | Resource unit allocation information |
showAllocation | Resource unit allocation |
transmitTime | Packet transmission time |
compressionMode | Compression mode of EHT TB configuration |
numPostFECPaddingBits | Required number of post-FEC padding bits |
Examples
Generate EHT TB Waveform
Create a configuration object for a WLAN EHT TB transmission.
cfgEHTTB = wlanEHTTBConfig;
Get the PSDU length, in bytes, from the configuration object by using the psduLength
object function.
length = psduLength(cfgEHTTB);
Generate a PSDU of the relevant length, converting bytes to bits by multiplying by eight.
psdu = randi([0 1],8*length,1);
Generate a time-domain waveform for the bits and configuration, specifying an oversampling factor of 3
. Plot the waveform.
waveform = wlanWaveformGenerator(psdu,cfgEHTTB,OversamplingFactor=3); plot(abs(waveform)); title("EHT TB Waveform"); xlabel("Time (Nanoseconds)"); ylabel("Amplitude");
Get Compression Mode of EHT TB Configuration
Create a configuration object for an EHT TB transmission, setting the channel bandwidth to 320 MHz and specifying that the configuration has an MRU of size 3*996.
cfgEHTTB = wlanEHTTBConfig(ChannelBandwidth="CBW320",RUSize=[996;996;996],RUIndex=[1;2;3]);
Use the compressionMode
object function to return the compression mode of the configuration.
compressionMode(cfgEHTTB)
ans = 0
References
[2] 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.
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Version History
Introduced in R2023a
See Also
Objects
wlanDMGConfig
|wlanEHTMUConfig
|wlanHETBConfig
|wlanHTConfig
|wlanNonHTConfig
|wlanS1GConfig
|wlanVHTConfig
Functions
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)