Main Content

wlanHERecoveryConfig

Store parameters recovered from HE transmission

Since R2019a

Description

The wlanHERecoveryConfig object is a high-efficiency (HE) recovery configuration object for HE single-user (HE SU), HE extended-range single-user (HE ER SU), and HE multi-user (HE MU) packet formats.

Creation

Description

example

cfg = wlanHERecoveryConfig creates an HE recovery configuration object, cfg, for HE SU, HE ER SU, and HE MU packet formats. The output cfg contains the parameters recovered from decoding the signaling fields of HE SU, HE ER SU, and HE MU transmissions as defined in [2].

On creation, the properties of a wlanHERecoveryConfig object are set to either -1 or 'Unknown' to indicate an unknown or undefined value or status. You can set and update the properties of this object by specifying the values as decoded signaling fields, as demonstrated in the Recovery Procedure for an 802.11ax Packet example. To update the properties relevant to the HE-SIG-A field, use the interpretHESIGABits object function. To update the properties relevant to the HE-SIG-B field, use the interpretHESIGBCommonBits and interpretHESIGBUserBits object functions.

example

cfg = wlanHERecoveryConfig(Name,Value) sets properties using one or more name-value pairs. Enclose each property name in quotation marks. For example, wlanHERecoveryConfig('PacketFormat','HE-SU','GuardInterval',1.6) creates an HE recovery configuration object for an HE SU packet with a guard interval of 1.6 microseconds.

Properties

expand all

Recovered HE packet format, specified as 'Unknown', 'HE-SU', 'HE-EXT-SU', or 'HE-MU'.

The length information in the L-SIG field and the four orthogonal frequency-division multiplexing (OFDM) symbols following the RL-SIG field determine the packet format. For more information, see Recovery Procedure for an 802.11ax Packet.

Data Types: char | string

Channel bandwidth of PPDU transmission, specified as one of these values:

  • 'Unknown' – Unknown or undefined channel bandwidth

  • '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

Length of L-SIG field, specified as -1 to indicate an unknown or undefined packet length or as an integer in the interval [1, 4095]. You can set this property after decoding the L-SIG field by using the wlanLSIGBitRecover function.

Data Types: double

Preamble puncturing mode, specified as one of these values:

  • 'Unknown' – Unknown or undefined preamble puncturing in the recovered waveform

  • 'None' – No preamble puncturing in the recovered waveform

  • 'Mode-1' – Preamble puncturing in the secondary 20-MHz subchannel. This value applies only when the ChannelBandwidth property is 'CBW80'.

  • 'Mode-2' – Preamble puncturing in one of the 20-MHz subchannels of the secondary 40 MHz. This value applies only when the ChannelBandwidth property is 'CBW80'.

  • 'Mode-3' – Preamble puncturing in the secondary 20-MHz subchannel. This value applies only when the ChannelBandwidth property is 'CBW160'.

  • 'Mode-4' – Preamble puncturing in the primary 40-MHz subchannel. This value applies only when the ChannelBandwidth property is 'CBW160'.

Specifying PreamblePuncturing indicates a punctured 20-MHz or 40-MHz subchannel in the preamble. You can set this property by using the interpretHESIGABits object function after decoding the HE-SIG-A field.

Dependencies

This property applies only when the PacketFormat property is 'HE-MU'.

Data Types: char | string

HE-SIG-B compression indicator, specified as -1 to indicate an unknown or undefined state or as a logical value of 1 (true) or 0 (false). A value of 1 (true) indicates that the HE-SIG-B field is compressed. A value of 0 (false) indicates that the HE-SIG-B field is not compressed

You can set this property by using the interpretHESIGABits object functions after decoding the HE-SIG-A field.

Dependencies

This property applies only when the PacketFormat property is 'HE-MU' and the ChannelBandwidth property is 'CBW20'.

Data Types: double | logical

Modulation and coding scheme (MCS) of the HE-SIG-B field, specified as an integer in the interval [–1, 5]. A value of -1 indicates an unknown or undefined MCS.

You can set this property by using the interpretHESIGABits object function after decoding the HE-SIG-A field.

Dependencies

This property applies only when the PacketFormat property is 'HE-MU'.

Data Types: double

HE-SIG-B dual-carrier modulation (DCM) indicator, specified as -1 to indicate an unknown or undefined status or as a logical value of 1 (true) or 0 (false). A value of 1 (true) indicates that the HE-SIG-B field is modulated with DCM. A value of 0 (false) indicates that the HE-SIG-B field is not modulated with DCM.

You can set this property by using the interpretHESIGABits object function after decoding the HE-SIG-A field.

Dependencies

This property applies only when the PacketFormat property is 'HE-MU' and when the SIGBMCS property is 0, 1, 3, or 4.

Data Types: double | logical

Number of HE-SIG-B symbols signaled in the HE-SIG-A field, specified as -1 to indicate an unknown or undefined number of symbols or as an integer in the interval [1, 16]. A value of 16 indicates that there are 16 or more HE-SIG-B symbols signaled.

You can set this property by using the interpretHESIGABits object function after decoding the HE-SIG-A field.

Dependencies

This property applies only when the PacketFormat property is 'HE-MU' and when the SIGBCompression property is 0 (false).

Data Types: double

Space-time block coding (STBC) indicator, specified as -1 to indicate an unknown or undefined status or as a logical value of 1 (true) or 0 (false). A value of 1 (true) indicates that STBC is enabled in the PPDU data field transmission. A value of 0 (false) indicates that STBC is not enabled.

You can set this property by using the interpretHESIGABits object function after decoding the HE-SIG-A field.

Dependencies

This property can only be 1 (true) when the NumSpaceTimeStreams is 2 and when the DCM is 0.

Data Types: double | logical

Extra orthogonal frequency-division multiplexing (OFDM) symbol segment indicator, specified as -1 to indicate an unknown or undefined status or as a logical value of 1 (true) or 0 (false). A value of 1 (true) indicates the presence of an extra OFDM symbol segment for low-density parity-check (LDPC) coding. A value of 0 (false) indicates the absence of an extra OFDM symbol.

You can set this property by using the interpretHESIGABits object function after decoding the HE-SIG-A field.

Data Types: double | logical

Pre-forward-error-correction (pre-FEC) padding factor, specified as -1 to indicate an unknown or undefined padding factor or as a positive integer in the interval [1, 4].

You can set this property by using the interpretHESIGABits object function after decoding the HE-SIG-A field.

Data Types: double

Packet extension (PE) disambiguity indicator, specified as -1 to indicate an unknown or undefined PE disambiguity status or as a logical value of 1 (true) or 0 (false). For more information, see section 27.3.13 of [2].

You can set this property by using the interpretHESIGABits object function after decoding the HE-SIG-A field.

Data Types: double | logical

Guard interval (cyclic prefix) duration for the data field within a packet, in microseconds, specified as -1 to indicate an unknown or undefined guard interval length, or as 0.8, 1.6, or 3.2.

You can set this property by using the interpretHESIGABits object function after decoding the HE-SIG-A field.

Data Types: double

HE long training field (HE-LTF) compression type of recovered packet, specified as one of these values:

  • -1 – Unknown or undefined HE-LTF compression mode

  • 1 – A compression of HE-LTF duration

  • 2 – A compression of twice the HE-LTF duration

  • 4 – A compression of four times the HE-LTF duration

You can set this property by using the interpretHESIGABits object function after decoding the HE-SIG-A field.

Data Types: double

Number of HE-LTF symbols, specified as -1 or an integer in the interval [1, 8]. A value of -1 indicates an unknown or undefined number of HE-LTF symbols.

You can set this property by using the interpretHESIGABits object function after decoding the HE-SIG-A field.

Data Types: double

Uplink transmission indicator, specified as -1 to indicate an unknown or undefined transmission direction or as a logical value of 1 (true) or 0 (false). A value of 1 (true) indicates that the PPDU is sent on an uplink transmission. A value of 0 (false) indicates that the PPDU is sent on a downlink transmission.

You can set this property by using the interpretHESIGABits object function after decoding the HE-SIG-A field.

Data Types: double | logical

Basic service set (BSS) color identifier, specified as an integer in the interval [–1, 63]. A value of -1 indicates an unknown or undefined color. For more information, see section 26.11.4 of [2].

You can set this property by using the interpretHESIGABits object function after decoding the HE-SIG-A field.

Data Types: double

Spatial reuse indicator, specified as an integer in the interval [–1, 15]. A value of -1 indicates an unknown or undefined status.

You can set this property by using the interpretHESIGABits object function after decoding the HE-SIG-A field.

Data Types: double

Duration for transmit opportunity (TXOP) protection, specified as an integer in the interval [–1, 127]. A value of -1 indicates an unknown or undefined duration.

You can set this property by using the interpretHESIGABits object function after decoding the HE-SIG-A field.

Data Types: double

High-Doppler mode indicator, specified as -1 to indicate an unknown or undefined status or as a logical value of 1 (true) or 0 (false). A value of 1 (true) indicates high-Doppler mode in the HE-SIG-A field.

You can set this property by using interpretHESIGABits after decoding the HE-SIG-A field.

Data Types: double | logical

Midamble periodicity of the HE-Data field, in OFDM symbols, specified as -1 to indicate an unknown or undefined periodicity, or as 10 or 20.

You can set this property by using the interpretHESIGABits object function after decoding the HE-SIG-A field.

Data Types: double

Resource unit (RU) allocation indices for each 20-MHz subchannel, specified as an integer or a vector of integers in the interval [–1, 223]. A value of -1 indicates an unknown or undefined allocation index. The recovered bits determine how many allocation indices are set, which determines the format of this property.

The allocation indices define bandwidth allocation by specifying the number of RUs, size of each RU, and number of users assigned to each RU. For more information, see HE MU Transmission.

For a full-bandwidth multiuser multiple-input/multiple output (MU-MIMO) waveform, you can set this property by using the interpretHESIGABits object function after decoding the HE-SIG-A field. For an OFDM waveform, you can set this property after decoding the HE-SIG-B field.

Dependencies

This property applies only when PacketFormat is 'HE-MU'.

Data Types: double

Indicate lower center 26-tone RU signaling, specified as -1 to indicate an unknown status or as a logical value of 1 (true) or 0 (false). A value of 1 (true) indicates the presence of the lower frequency center 26-tone RU.

You can set this property after decoding the HE-SIG-B field.

Dependencies

This property applies only when the PacketFormat property is 'HE-MU', the ChannelBandwidth property is 'CBW80' or 'CBW160', and a full bandwidth allocation is not used.

Data Types: double | logical

Enable upper center 26-tone RU signaling, specified as -1 to indicate an unknown status or as a logical value of 1 (true) or 0 (false). A value of 1 (true) indicates the presence of the upper frequency center 26-tone RU.

You can set this property after decoding the HE-SIG-B field.

Dependencies

This property applies only when the PacketFormat property is 'HE-MU', the ChannelBandwidth property is 'CBW160', and a full bandwidth allocation is not used.

Data Types: double | logical

Number of users per SIGB content channel, specified as -1 or a positive integer. A value of -1 indicates an unknown or undefined number of users.

This property is applicable for both full-bandwidth MU-MIMO and OFDMA allocation. For a full-bandwidth MU-MIMO waveform, the distribution of users on the SIGB content channel is defined in section 27.3.11.8 of [2]. For an OFDMA waveform, the decoded HE-SIG-B common field determines the distribution of users.

For a full-bandwidth MU-MIMO waveform, you can set this property by using the interpretHESIGABits object function after decoding the HE-SIG-A field. For an OFDMA waveform, you can set this property after decoding the HE-SIG-B field.

Dependencies

This property applies only when the PacketFormat property is 'HE-MU'.

Data Types: double

Total number of space-time streams in RU of interest, specified as -1 or as an integer in the interval [1, 8]. A value of -1 indicates an unknown or undefined number of space-time streams.

You can set this property after decoding the HE-SIG-B field.

Dependencies

This property applies only when PacketFormat is 'HE-MU'.

Data Types: double

RU size for user of interest, specified as -1, 26, 52, 106, 242, 484, 996, or 1992. A value of -1 indicates an unknown or undefined RU size.

For an HE SU or HE ER SU packet, you can set this property by using the interpretHESIGABits object function after decoding the HE-SIG-A field. For an HE MU packet, you can set this property after decoding the HE-SIG-B field.

Data Types: double

RU index for user of interest, specified as -1 or a positive integer. A value of -1 indicates an unknown or undefined RU index. 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. RU number 242-4 is the highest absolute frequency.

For an HE SU or HE ER SU packet, you can set this property by using the interpretHESIGABits object function after decoding the HE-SIG-A field. For an HE MU packet, you can set this property after decoding the HE-SIG-B field.

Data Types: double

Station (STA) identification number, specified as an integer in the interval [–1, 2047]. A value of -1 indicates an unknown or undefined STA identification number.

The STA identification number is defined in section 26.11.1 of [2]. The 11 least significant bits (LSBs) of the association identifier (AID) field are used to address the STA. The associated RU carries no data when STAID is 2046.

You can set this property after decoding the HE-SIG-B field.

Dependencies

This property applies only when the PacketFormat property is 'HE-MU'.

Data Types: double

User-specific MCS, specified as an integer in the interval [–1, 11]. A value of -1 indicates an unknown or undefined MCS. This table shows the modulation type and coding rate for each valid value of MCS:

MCSModulationCoding Rate
0Binary phase-shift keying (BPSK)1/2
1Quadrature phase-shift keying (QPSK)1/2
23/4
316-point quadrature amplitude modulation (16-QAM)1/2
43/4
564-QAM2/3
63/4
75/6
8256-QAM3/4
95/6
101024-QAM3/4
115/6

You can set this property after decoding the HE-SIG-B field.

Data Types: double

DCM indicator, specified as -1 to indicate an unknown or undefined status or as a logical value of 1 (true) or 0 (false). A value of 1 (true) indicates that DCM is used for the HE-Data field. A value of 0 (false) indicates that DCM is not used.

For an HE SU or HE ER SU packet, you can set this property by using the interpretHESIGABits object function after decoding the HE-SIG-A field. For an HE MU packet, you can set this property after decoding the HE-SIG-B field.

Dependencies

DCM can be used only when all of these conditions are satisfied:

Data Types: double | logical

Forward-error-correction (FEC) coding type for the HE-Data field, specified as one of these values:

  • 'Unknown' – Unknown or undefined channel coding type

  • 'BCC' – Binary convolutional coding (BCC)

  • 'LDPC'– LDPC coding

For an HE SU or HE ER SU packet, you can set this property by using the interpretHESIGABits object function after decoding the HE-SIG-A field. For an HE MU packet, you can set this property after decoding the HE-SIG-B field.

Data Types: char | string

Beamforming steering matrix indicator, specified as -1 to indicate an unknown or undefined status or as a logical value of 1 (true) or 0 (false). A value of 1 (true) indicates that a beamforming steering matrix is applied to the received waveform.

For an HE SU waveform, you can set this property by using the interpretHESIGABits object function after decoding the HE-SIG-A field. For an HE MU waveform, you can set this property after decoding the HE-SIG-B field.

Data Types: double | logical

Spatial mapping of pre-HE-short-training-field (pre-HE-STF) portion of the PPDU, specified as -1 to indicate an unknown or undefined status or as a logical value of 1 (true) or 0 (false). A value of 1 (true) indicates that the pre-HE-STF portion of the PPDU is spatially mapped in the same way as the first symbol of the HE-LTF on each tone.

For a full-bandwidth MU-MIMO waveform, you can set this property by using the interpretHESIGABits object function after decoding the HE-SIG-A field.

Dependencies

This property applies only when the PacketFormat property is 'HE-SU'.

Data Types: double | logical

Number of space-time streams for user of interest, specified as -1 or as an integer in the interval [1, 8]. A value of -1 indicates an unknown or undefined number of space-time streams.

For an HE SU or HE ER SU packet, you can set this property by using the interpretHESIGABits object function after decoding the HE-SIG-A field. For an HE MU packet, you can set this property after decoding the HE-SIG-B field.

Data Types: double

Starting space-time stream index, specified as -1 or as an integer in the interval [1, 8]. A value of -1 indicates an unknown or undefined index.

When multiple users are transmitting in the same RU in a MU-MIMO configuration, each user must transmit on different space-time streams. The NumSpaceTimeStreams and SpaceTimeStreamStartIndex properties determine the starting space-time stream for each user. You can set this property after decoding the HE-SIG-B field.

Dependencies

This property applies only when the PacketFormat property is 'HE-MU'

Data Types: double

Object Functions

getPSDULengthCalculate HE or WUR PSDU length
getSIGBLengthReturn information relevant to HE-SIG-B field length
interpretHESIGABitsUpdate transmission parameters with HE-SIG-A field bits
interpretHESIGBCommonBitsUpdate HE MU transmission parameters with HE-SIG-B common field bits
interpretHESIGBUserBitsUpdate HE MU transmission parameters with HE-SIG-B user field bits
packetFormat WLAN packet format

Examples

collapse all

Create a recovery configuration object with default property values.

cfg = wlanHERecoveryConfig;

Overwrite the default settings by specifying the channel bandwidth, packet format, and L-SIG length of the recovered signal. Display the resultant object.

cfg.ChannelBandwidth = 'CBW40';
cfg.PacketFormat = 'HE-SU';
cfg.LSIGLength = 100;
disp(cfg);
  wlanHERecoveryConfig with properties:

           PacketFormat: 'HE-SU'
       ChannelBandwidth: 'CBW40'
             LSIGLength: 100
                   STBC: -1
        LDPCExtraSymbol: -1
    PreFECPaddingFactor: -1
         PEDisambiguity: -1
          GuardInterval: -1
              HELTFType: -1
        NumHELTFSymbols: -1
       UplinkIndication: -1
               BSSColor: -1
           SpatialReuse: -1
           TXOPDuration: -1
            HighDoppler: -1
    MidamblePeriodicity: -1
                 RUSize: -1
                RUIndex: -1
                    MCS: -1
                    DCM: -1
          ChannelCoding: 'Unknown'
            Beamforming: -1
    PreHESpatialMapping: -1
    NumSpaceTimeStreams: -1

Create an HE recovery configuration object for the specified packet format, channel bandwidth, and L-SIG length.

cfg = wlanHERecoveryConfig('PacketFormat','HE-MU','ChannelBandwidth','CBW80','LSIGLength',100);

Display the recovery configuration object.

disp(cfg);
  wlanHERecoveryConfig with properties:

                    PacketFormat: 'HE-MU'
                ChannelBandwidth: 'CBW80'
                      LSIGLength: 100
              PreamblePuncturing: 'Unknown'
                 SIGBCompression: -1
                         SIGBMCS: -1
                         SIGBDCM: -1
          NumSIGBSymbolsSignaled: -1
                            STBC: -1
                 LDPCExtraSymbol: -1
             PreFECPaddingFactor: -1
                  PEDisambiguity: -1
                   GuardInterval: -1
                       HELTFType: -1
                 NumHELTFSymbols: -1
                UplinkIndication: -1
                        BSSColor: -1
                    SpatialReuse: -1
                    TXOPDuration: -1
                     HighDoppler: -1
             MidamblePeriodicity: -1
                 AllocationIndex: -1
             LowerCenter26ToneRU: -1
       NumUsersPerContentChannel: -1
         RUTotalSpaceTimeStreams: -1
                          RUSize: -1
                         RUIndex: -1
                           STAID: -1
                             MCS: -1
                             DCM: -1
                   ChannelCoding: 'Unknown'
                     Beamforming: -1
             NumSpaceTimeStreams: -1
    SpaceTimeStreamStartingIndex: -1

Create a WLAN HE-MU-format configuration object, specifying the allocation index.

cfgHEMU = wlanHEMUConfig(0);

Generate a WLAN waveform for the specified configuration and return the PPDU field indices.

waveform = wlanWaveformGenerator(1,cfgHEMU);
ind = wlanFieldIndices(cfgHEMU);

Decode the L-SIG field and obtain the OFDM information. This information is required to obtain the L-SIG length, which is used in the recovery configuration object.

lsig = waveform(ind.LSIG(1):ind.LSIG(2),:);
lsigDemod = wlanHEDemodulate(lsig,'L-SIG',cfgHEMU.ChannelBandwidth);
preHEInfo = wlanHEOFDMInfo('L-SIG',cfgHEMU.ChannelBandwidth);

Recover the L-SIG information bits and related information, making sure that the bits pass the parity check. For this example, we assume a noiseless channel. For more realistic results you can pass the waveform through an 802.11ax™ channel model by using the wlanTGaxChannel System object™ and work with the received waveform.

csi = ones(52,1);
[lsigBits,failCheck,lsigInfo] = wlanLSIGBitRecover(lsigDemod(preHEInfo.DataIndices,:,:),0,csi);

Decode the HE-SIG-A field and recover the HE-SIG-A information bits, ensuring that the bits pass the cyclic redundancy check (CRC).

siga = waveform(ind.HESIGA(1):ind.HESIGA(2),:);
sigaDemod = wlanHEDemodulate(siga,'HE-SIG-A',cfgHEMU.ChannelBandwidth);
preHEInfo = wlanHEOFDMInfo('HE-SIG-A',cfgHEMU.ChannelBandwidth);
[bits,failCRC] = wlanHESIGABitRecover(sigaDemod(preHEInfo.DataIndices,:,:),0,csi);

Create a WLAN recovery configuration object, specifying an HE-MU-format packet and the length of the L-SIG field.

cfg = wlanHERecoveryConfig('PacketFormat','HE-MU','LSIGLength',lsigInfo.Length);

Update the recovery configuration object with the recovered HE-SIG-A bits.

cfgUpdated = interpretHESIGABits(cfg,bits);

Return and display the HE-SIG-B information.

info = getSIGBLength(cfgUpdated);
disp(info);
    NumSIGBCommonFieldSamples: 80
               NumSIGBSymbols: 10

Recover bits from the HE-Data field of an HE SU transmission.

Configure an HE SU transmission by creating a configuration object with the specified modulation and coding scheme (MCS). Extract the channel bandwidth.

cfgHESU = wlanHESUConfig('MCS',0);
cbw = cfgHESU.ChannelBandwidth;       % Channel bandwidth of transmission

Create a sequence of data bits and generate an HE SU waveform.

bits = randi([0 1],8*getPSDULength(cfgHESU),1,'int8');
waveform = wlanWaveformGenerator(bits,cfgHESU);

Create a WLAN recovery configuration object, specifying the known channel bandwidth and packet format.

cfgRX = wlanHERecoveryConfig('ChannelBandwidth',cbw,'PacketFormat','HE-SU');

Recover the HE signaling fields by retrieving the field indices and performing the relevant demodulation operations.

ind = wlanFieldIndices(cfgRX);
heLSIGandRLSIG = waveform(ind.LSIG(1):ind.RLSIG(2),:);
symLSIG = wlanHEDemodulate(heLSIGandRLSIG,'L-SIG',cbw);
info = wlanHEOFDMInfo('L-SIG',cbw);

Merge the L-SIG and RL-SIG fields for diversity and obtain the data subcarriers.

symLSIG = mean(symLSIG,2);
lsig = symLSIG(info.DataIndices,:);

Decode the L-SIG field, assuming a noiseless channel, and use the length field to update the recovery object.

noiseVarEst = 0;
[~,~,lsigInfo] = wlanLSIGBitRecover(lsig,noiseVarEst);
cfgRX.LSIGLength = lsigInfo.Length;

Recover and demodulate the HE-SIG-A field, obtain the data subcarriers, and recover the HE-SIG-A bits.

heSIGA = waveform(ind.HESIGA(1):ind.HESIGA(2),:);
symSIGA = wlanHEDemodulate(heSIGA,'HE-SIG-A',cbw);
siga = symSIGA(info.DataIndices,:);
[sigaBits,failCRC] = wlanHESIGABitRecover(siga,0);

Update the recovery configuration object with the recovered HE-SIG-A bits and obtain the updated field indices.

cfgHE = interpretHESIGABits(cfgRX,sigaBits);
ind = wlanFieldIndices(cfgHE);

Retrieve and decode the HE-Data field.

heData = waveform(ind.HEData(1):ind.HEData(2),:);
symData = wlanHEDemodulate(heData,'HE-Data', ... 
    cbw,cfgHE.GuardInterval,[cfgHE.RUSize cfgHE.RUIndex]);
infoData = wlanHEOFDMInfo('HE-Data',cbw,cfgHE.GuardInterval,[cfgHE.RUSize cfgHE.RUIndex]);
rxDataSym = symData(infoData.DataIndices,:,:);
dataBits = wlanHEDataBitRecover(rxDataSym,noiseVarEst,cfgHE);

Confirm that the recovered bits match the transmitted bits.

isequal(bits,dataBits)
ans = logical
   1

More About

expand all

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™.

Version History

Introduced in R2019a