This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.


Return information relevant to HE-SIG-B field length


info = getSIGBLength(cfg)



info = getSIGBLength(cfg) returns a structure, info, which contains information relevant to the HE-SIG-B field length of the high-efficiency (HE) recovery configuration object cfg. The input cfg contains the parameters recovered from decoding the signaling fields of an HE-format waveform.


collapse all

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);
    NumSIGBCommonFieldSamples: 80
               NumSIGBSymbols: 10

Input Arguments

collapse all

HE recovery configuration object, specified as a wlanHERecoveryConfig object.

Output Arguments

collapse all

Information relevant to the HE-SIG-B field length, returned as a structure containing these fields.

Number of samples in HE-SIG-B common field, returned as a nonnegative integer.

Data Types: double

Total number of symbols in HE-SIG-B field, returned as a nonnegative integer.

Data Types: double

Data Types: struct

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Introduced in R2019a