wlanHETBConfig
Description
The wlanHETBConfig
object is a configuration object for the WLAN
high-efficiency trigger-based (HE TB) packet format.
Creation
Description
creates a
configuration object that initializes parameters for an IEEE®
802.11™ HE TB uplink PPDU or HE TB feedback null data packet (NDP). For a detailed
description of the HE WLAN formats, see [2].cfgHETB
= wlanHETBConfig
sets
properties using one or more name-value pairs. Enclose each property name in single
quotes. For example, cfgHETB
= wlanHETBConfig(Name,Value)wlanHETBConfig('ChannelBandwidth','CBW80')
specifies a channel bandwidth of 80 MHz.
At runtime, the calling function validates object settings for properties relevant to the operation of the function.
Properties
HE TB PPDU and HE TB Feedback NDP Properties
Properties in this section apply to all HE TB transmission configurations.
FeedbackNDP
— Generate HE TB feedback NDP
false
or 0
(default) | true
or 1
Generate an HE TB feedback NDP, specified as one of these values.
0
(false
) — Generate an HE TB PPDU.1
(true
) — Generate an HE TB feedback NDP.
The HE TB feedback NDP carries the NDP feedback report information described in NDP Feedback Report Procedure.
For more information about the HE TB feedback NDP, see Section 27.3.17 of [2].
Note
To generate a valid wlanHETBConfig
object for an HE TB feedback
NDP, use the getNDPFeedbackConfiguration
object function.
Data Types: logical
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
PreHEPowerScalingFactor
— Power scaling factor for pre-HE PPDU fields
1
(default) | scalar in the interval [1/√2, 1]
Power scaling factor of pre-HE PPDU fields, specified as a scalar in the interval [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
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
wlanHETBConfig
object uses this cyclic shift value for each of the L additional antennas.A row vector of length L – the
wlanHETBConfig
object uses the kth entry as the cyclic shift value for the (k + 8)th transmit antenna.Note
If you specify this property as a row vector of length N > L, the
wlanHETBConfig
object uses only the first L entries. For example, if you set theNumTransmitAntennas
property to16
, thewlanHETBConfig
object uses only the first L = 16 – 8 = 8 entries of this property.
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. If you set the FeedbackNDP
property to 1
(true
), then you must set this
property to 1
or 2
.
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
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, two, or one multiple of the HE-LTF
duration compression mode, respectively. Table 27-1 of [2] enumerates
the HE-LTF type options as:
1 × HE-LTF — Duration of 3.2 microseconds with a guard interval duration of 0.8 or 1.6 microseconds
2 × HE-LTF — Duration of 6.4 microseconds with a guard interval duration of 0.8 or 1.6 microseconds
4 × HE-LTF — Duration of 12.8 microseconds with a guard interval duration of 0.8 or 3.2 microseconds
For more information on the HE-LTF, see Section 27.3.11.10 of [2].
Data Types: double
NumHELTFSymbols
— Number of HE-LTF symbols in PPDU
1
(default) | 2
| 4
| 6
| 8
Number of HE-LTF symbols in the PPDU, specified as 1
,
2
, 4
, 6
, or
8
.
Dependencies
If you set the
TriggerMethod
property to'TRS'
, then you must set this property to1
.If you set the
HighDoppler
property to1
(true
), then you must set this property to1
,2
, or4
.
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 interval [0, 15]
Value of Spatial Reuse 1 subfield in the HE-SIG-A field, specified as an integer in the interval [0, 15]. For more information, see Table 27-22 of [2].
Data Types: double
SpatialReuse2
— Value of Spatial Reuse 2 subfield
15
(default) | integer in the interval [0, 15]
Value of Spatial Reuse 2 subfield in the HE-SIG-A field, specified as an integer in the interval [0, 15]. For more information, see Table 27-22 of [2].
Data Types: double
SpatialReuse3
— Value of Spatial Reuse 3 subfield
15
(default) | integer in the interval [0, 15]
Value of Spatial Reuse 3 subfield in the HE-SIG-A field, specified as an integer in the interval [0, 15]. For more information, see Table 27-22 of [2].
Data Types: double
SpatialReuse4
— Value of Spatial Reuse 4 subfield
15
(default) | integer in the interval [0, 15]
Value of Spatial Reuse 4 subfield in the HE-SIG-A field, specified as an integer in the interval [0, 15]. For more information, see Table 27-22 of [2].
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 in the HE-SIG-A field is equal to the value of this property. Therefore, a duration in microseconds must be converted according to the procedure set out in Table 27-22 of [2].
Data Types: double
HE TB PPDU Properties
Properties in this section apply only when the FeedbackNDP
property is 0
(false
). Use these properties to
configure an HE TB PPDU in response to a trigger frame or a frame that contains a triggered
response scheduling (TRS) Control subfield.
TriggerMethod
— Triggering frame type
'TriggerFrame'
(default) | 'TRS'
Triggering frame type, specified as one of these values.
Note
To generate a valid wlanHETBConfig
object for a transmission in
response to a frame containing a TRS Control subfield, use the getTRSConfiguration
object function.
Data Types: char
| string
RUSize
— RU size
242
(default) | 26
| 52
| 106
| 484
| 996
| 1992
Resource unit (RU) size specified as 26
, 52
,
106
, 242
, 484
,
996
, or 1992
.
Data Types: double
RUIndex
— RU index for subcarrier allocation
1
(default) | integer in the interval [1, 74]
RU index for subcarrier allocation, specified as an integer in the interval [1, 74]. The RU index specifies the location of the RU within the channel. For example, an 80 MHz transmission contains four 242-tone RUs (one for each 20 MHz subchannel). RU number 242-1 (size 242, index 1) is the lowest absolute frequency within the 80 MHz channel. Similarly, RU number 242-4 is the highest absolute frequency.
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 – NSTS is the number of space-time streams, and 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 – 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 value of the
ChannelBandwidth
property and the corresponding value of NST.Value of ChannelBandwidth
Value of 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
To enable this property, set the SpatialMapping
property to 'Custom'
.
Data Types: double
Complex Number Support: Yes
STBC
— Enable STBC
false
or 0
(default) | true
or 1
Enable space-time block coding (STBC) of the HE-Data field, specified as
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 HE-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 HE-Data field. The number of space-time streams is twice the number of spatial streams.
Dependencies
To enable this property, set the NumSpaceTimeStreams
property to 2
and the DCM
property to 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 an integer in the interval [0, 11]. This table shows the modulation type and coding rate for each valid value of this property.
Value of MCS | Modulation Type | 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 |
Data Types: double
DCM
— DCM indicator
false
or 0
(default) | true
or 1
Dual carrier modulation (DCM) indicator, specified as 1
(true
) or 0
(false
). To use
DCM for the HE-Data field, set this property to 1
(true
). Otherwise, set this property to 0
(false
).
Dependencies
You can set this property to 1
(true
) only
when all of these conditions are satisfied.
The
NumSpaceTimeStreams
property is1
or2
.The
MCS
property is0
,1
,3
, or4
.The
STBC
property is0
(false
).
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 set this property to 'BCC'
only when all of these
conditions are satisfied.
The
RUSize
property is26
,52
,106
, or242
.The
NumSpaceTimeStreams
property is1
,2
,3
, or4
.The
MCS
property is not10
or11
.
If you set the TriggerMethod
property to 'TRS'
, you can set this
property to 'LDPC'
only when all of these conditions are satisfied.
The
RUSize
property is484
,996
, or1992
.The
PreFECPaddingFactor
property is4
.The
LDPCExtraSymbol
property is1
(true
).
Data Types: char
| string
PreFECPaddingFactor
— Pre-FEC padding factor
4
(default) | 1
| 2
| 3
Pre-forward-error-correction (pre-FEC) padding factor, specified as
1
, 2
, 3
, or
4
.
Data Types: double
LDPCExtraSymbol
— Extra OFDM symbol segment indicator
0
(false
) (default) | 1
(true
)
Extra orthogonal frequency-division multiplexing (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
— PEDisambiguity 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 [2].
Data Types: logical
LSIGLength
— Length of L-SIG field
142
(default) | integer in the interval [1, 4093]
Length of L-SIG field, in OFDM symbols, specified as an integer in the interval
[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
.
Dependencies
To enable this property, set the TriggerMethod
property to 'TriggerFrame'
.
Data Types: double
NumDataSymbols
— Number of OFDM symbols in HE-Data field
10
(default) | positive integer
Number of OFDM symbols in the HE-Data field, specified as a positive integer.
Dependencies
To enable this property, set the TriggerMethod
property to 'TRS'
.
Data Types: double
DefaultPEDuration
— Packet extension duration
0
(default) | 4
| 8
| 12
| 16
Packet extension duration, in microseconds, specified as 0
,
4
, 8
, 12
, or
16
. For more information about the packet extension field, see
Section 27.3.12 of [2].
Dependencies
To enable this property, set the TriggerMethod
property to 'TRS'
.
Data Types: double
SingleStreamPilots
— HE-LTF single-stream pilots indicator
true
or 1
(default) | false
or 0
HE-LTF single-stream pilots indicator, specified as 1
(true
) or 0
(false
). To
indicate that the HE-LTF uses single-stream pilots, set this property to
1
(true
). Otherwise, set this property to
0
(false
).
Data Types: logical
HighDoppler
— High-Doppler mode indicator
false
or 0
(default) | true
or 1
High-Doppler mode indicator, specified as 1
(true
) or 0
(false
). To
indicate high-Doppler mode in the HE-SIG-A field, set this property to
1
(true
). Otherwise, set this property to
0
(false
).
Dependencies
You can set this property to 1
(true
) only
when the TriggerMethod
property is 'TriggerFrame'
and the
NumSpaceTimeStreams
property is 1
,
2
, 3
, or 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
To enable this property, set the HighDoppler
property to 1
(true
).
Data Types: double
HESIGAReservedBits
— Reserved bits in HE-SIG-A field
ones(9,1)
(default) | nine-element binary-valued
Reserved bits in the HE-SIG-A field, specified as a nine-element binary-valued column vector.
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
HE TB Feedback NDP Properties
Properties in this section apply only when the FeedbackNDP
property is 1
(true
).
RUToneSetIndex
— RU tone set index for HE TB feedback NDP
1
(default) | integer in the interval [1, 144]
RU tone set index for an HE TB feedback NDP, specified as one of these options.
When the
ChannelBandwidth
property is'CBW20'
, set this property to an integer in the interval [1, 18].When the
ChannelBandwidth
property is'CBW40'
, set this property to an integer in the interval [1, 36].When the
ChannelBandwidth
property is'CBW80'
, set this property to an integer in the interval [1, 72].When the
ChannelBandwidth
property is'CBW160'
, set this property to an integer in the interval [1, 144].
This property defines the subcarrier allocation tone sets in the high-efficiency long training field (HE-LTF) on which the STA transmits the HE TB feedback NDP.
Data Types: double
FeedbackStatus
— Feedback status
true
or 1
(default) | false
or 0
Feedback status, specified as 1
(true
) or
0
(false
). The value of this property
indicates the value of the bit used for tone modulation in each tone set specified by
the RUToneSetIndex
property. The feedback status and RU tone set index
determine the HE-LTF subcarrier mapping in accordance with Table 27-30 of [2].
Data Types: logical
Object Functions
getNDPFeedbackConfiguration | Valid HE TB feedback NDP PHY configuration |
getNumPostFECPaddingBits | Calculate required number of post-FEC padding bits |
getPSDULength | Calculate HE or WUR PSDU length |
getTRSConfiguration | Valid HE TB PHY configuration in response to triggering frame containing TRS Control subfield |
packetFormat | WLAN packet format |
ruInfo | Resource unit allocation information |
showAllocation | Resource unit allocation |
transmitTime | Packet transmission time |
Examples
Generate HE TB Waveform
Configure and generate a WLAN waveform containing an HE TB uplink packet.
Create a configuration object for a WLAN HE TB uplink transmission.
cfgHETB = wlanHETBConfig;
Obtain the PSDU length, in bytes, from the configuration object by using the getPSDULength
object function.
psduLength = getPSDULength(cfgHETB);
Generate a PSDU of the relevant length.
psdu = randi([0 1],8*psduLength,1);
Generate and plot the waveform.
waveform = wlanWaveformGenerator(psdu,cfgHETB); figure; plot(abs(waveform)); title('HE TB Waveform'); xlabel('Time (nanoseconds)'); ylabel('Amplitude');
Recover Feedback Status from HE TB Feedback NDP
Configure an uplink HE TB feedback NDP transmission with four stations (STAs), a channel bandwidth of 20 MHz, and a signal-to-noise ratio (SNR) of 20 dB.
numSTA = 4;
cbw = 'CBW20';
snr = 20;
cfgSTA = cell(1,numSTA);
Specify the resource unit (RU) tone set index, starting space-time stream, and feedback status for all STAs.
ruToneSetIndex = repmat([1 2],1,round(numSTA/2)); startingSTS = repmat([1 2],1,round(numSTA/2)); feedbackStatus = repmat([1 0],1,round(numSTA/2));
Create a valid HE TB feedback NDP configuration.
cfg = wlanHETBConfig; cfg = getNDPFeedbackConfiguration(cfg);
Configure the channel for transmission, assuming no variation across STAs.
tgax = wlanTGaxChannel('ChannelBandwidth',cbw, ... 'TransmissionDirection','Uplink', ... 'SampleRate',wlanSampleRate(cfg)); chanInfo = info(tgax); awgn = comm.AWGNChannel('NoiseMethod','Signal to noise ratio (SNR)', ... 'SignalPower',1/tgax.NumReceiveAntennas);
Configure STAs and generate an HE TB feedback NDP waveform.
rx = 0; for idx = 1:numSTA % Configure STAs cfg.RUToneSetIndex = ruToneSetIndex(idx); cfg.StartingSpaceTimeStream = startingSTS(idx); cfg.FeedbackStatus = feedbackStatus(idx); cfgSTA{idx} = cfg; % Generate transmit waveform waveform = wlanWaveformGenerator([],cfg); % Pass waveform through TGax channel rx = rx + tgax([waveform; zeros(15,size(waveform,2))]); end
Pass the waveform through the AWGN channel, accounting for the noise energy in nulls to ensure the SNR is defined per active and complementary subcarrier.
field = 'HE-LTF';
ofdmInfo = wlanHEOFDMInfo(field,cbw,cfg.GuardInterval);
awgn.SNR = snr - 10*log10(ofdmInfo.FFTLength/12);
rx = awgn(rx);
Get the field indices and extract the HE-LTF.
ind = wlanFieldIndices(cfgSTA{1}); offset = chanInfo.ChannelFilterDelay; heltf = rx(offset+(ind.HELTF(1):ind.HELTF(2)),:);
Demodulate the HE-LTF.
rxSym = wlanHEDemodulate(heltf,field,cbw,cfg.GuardInterval,cfg.HELTFType);
Recover the feedback status for the STAs.
status = zeros(1,numSTA); for n = 1:numSTA status(n) = wlanHETBNDPFeedbackStatus(rxSym,cfgSTA{n}); end
Compare the transmitted and received feedback status for the STAs.
disp(isequal(feedbackStatus(1:numSTA),status))
1
Generate HE TB Waveform in Response to Frame Containing TRS Control Subfield
Configure and generate a WLAN HE TB waveform to be transmitted in response to a frame containing a TRS Control subfield.
Create an HE TB configuration object, specifying the triggering frame type.
cfgHETB = wlanHETBConfig('TriggerMethod','TRS');
Generate a valid configuration by using the getTRSConfiguration
object function, displaying the result.
cfgTRS = getTRSConfiguration(cfgHETB)
cfgTRS = wlanHETBConfig with properties: FeedbackNDP: 0 TriggerMethod: 'TRS' ChannelBandwidth: 'CBW20' RUSize: 242 RUIndex: 1 PreHEPowerScalingFactor: 1 NumTransmitAntennas: 1 NumSpaceTimeStreams: 1 StartingSpaceTimeStream: 1 SpatialMapping: 'Direct' STBC: 0 MCS: 0 DCM: 0 ChannelCoding: 'BCC' PreFECPaddingFactor: 4 NumDataSymbols: 10 DefaultPEDuration: 0 GuardInterval: 3.2000 HELTFType: 4 NumHELTFSymbols: 1 SingleStreamPilots: 1 BSSColor: 0 SpatialReuse1: 15 SpatialReuse2: 15 SpatialReuse3: 15 SpatialReuse4: 15 TXOPDuration: 127 HighDoppler: 0 HESIGAReservedBits: [9x1 double] PostFECPaddingSource: 'mt19937ar with seed' PostFECPaddingSeed: 73
Get the PSDU length in bytes and generate a PSDU for transmission.
psduLength = getPSDULength(cfgTRS); psdu = randi([0 1],8*psduLength,1);
Generate and plot the waveform.
waveform = wlanWaveformGenerator(psdu,cfgTRS); figure; plot(abs(waveform)); title('HE TB Waveform'); xlabel('Time (nanoseconds)'); ylabel('Amplitude');
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.
NDP Feedback Report Procedure
To allocate resources to a station (STA) for transmission of an HE TB PPDU, an HE access point (AP) requires simultaneous resource request information (feedback status) from multiple uplink STAs. The AP obtains this information by using the HE TB NDP feedback report procedure specified in Section 26.5.7 of [2]. This procedure improves the power and system efficiency of the IEEE 802.11ax™ network.
The AP solicits an NDP feedback report response from the STAs by sending an NDP feedback report poll (NFRP) trigger frame. The NFRP trigger frame contains scheduling information for the STAs. Each STA transmits a response only if it satisfies all of these conditions.
The STA is associated with the basic service set identifiers (BSSIDs) indicated by the transmitter address (TA) subfield of the NFRP trigger frame
AIDstart ≤ AIDSTA ≤ AIDstart + NSTA, where AIDSTA is the STA association identifier (AID), AIDstart is the value of the starting AID subfield of the NFRP trigger frame, and NSTA is the total number of non-AP STAs scheduled to respond to the NFRP trigger frame.
The STAs that transmit a response use the information contained in the NFRP trigger frame to derive these parameters for the HE TB feedback NDP response.
The RU tone set index (corresponding to the
RUToneSetIndex
property of this object), which defines the small allocation tone sets in the HE-LTFThe starting space-time stream number, which defines the orthogonal allocation of tone sets for multiplexing the feedback status of different STAs
All participating STAs respond within a short interframe space (SIFS) interval after receiving the NFRP trigger frame.
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 R2020a
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)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)