Main Content

wlanUSIGBitRecover

Recover information bits in U-SIG field

Since R2023b

Description

[bits,failCRC] = wlanUSIGBitRecover(usig,nVar) recovers the information bits contained in usig, the demodulated U-SIG field of an IEEE® 802.11be™ extremely high-throughput (EHT) transmission, which is assumed to be subject to channel noise with estimated variance nVar. The function also returns failCRC, the result of the cyclic redundancy check (CRC) on bits.

For more information on 802.11be signal recovery, see Recovery Procedure for an 802.11be Packet.

[bits,failCRC] = wlanUSIGBitRecover(usig,nVar,csi) also enhances the demapping of OFDM subcarriers by using channel state information csi.

example

Examples

collapse all

Create a WLAN EHT MU configuration object with a channel bandwidth of 20 MHz and use it to generate a time-domain waveform.

cfgEHT = wlanEHTMUConfig("CBW20");
waveform = wlanWaveformGenerator([1;0;1;0],cfgEHT);

Get the WLAN field indices that correspond to the U-SIG field.

ind = wlanFieldIndices(cfgEHT);
rxUSIG = waveform(ind.USIG(1):ind.USIG(2),:);

OFDM-demodulate the U-SIG field.

usigDemod = wlanEHTDemodulate(rxUSIG,"U-SIG",cfgEHT);

Get the OFDM information for the U-SIG field and use it to isolate the data symbols.

info = wlanEHTOFDMInfo("U-SIG",cfgEHT);
usig = usigDemod(info.DataIndices,:);

Specify the channel state information and assume no channel noise.

csi = ones(52,1);
nVar = 0;

Recover the U-SIG information bits. Display the result of the cyclic redundancy check.

[bits,failCRC] = wlanUSIGBitRecover(usig,nVar,csi);
disp(failCRC);
   0

Input Arguments

collapse all

Demodulated U-SIG symbols, specified as a complex-valued matrix. The size of X is 52*L-by-2. The first dimension represents the data subcarriers and the second dimension represents the two OFDM symbols. L is the number of 80 MHz subblocks in the channel and is equal to:

  • 1 when the channel bandwidth is 80 MHz or less

  • 2 when the channel bandwidth is 160 MHz

  • 4 when the channel bandwidth is 320 MHz

Data Types: single | double
Complex Number Support: Yes

Noise variance estimate, specified as a nonnegative scalar.

Data Types: single | double

Channel state information, specified as a 52*L-by-1, real-valued vector, where L is the number of 80 MHz subblocks in the channel. To use the channel state information for enhanced demapping of the OFDM symbols, specify this argument.

Data Types: single | double

Output Arguments

collapse all

Recovered U-SIG field bits, returned as a binary-valued matrix. The size of the matrix is 52-by-L, where L is the number of 80 MHz subblocks in the channel.

Data Types: int8

Cyclic redundancy check (CRC) result, returned as a logical-valued row vector. The length of the vector is L, the number of 80 MHz subblocks in the channel. A value of 1 indicates a CRC failure.

Data Types: logical

Extended Capabilities

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

Version History

Introduced in R2023b

expand all