wlanHEOFDMInfo

Return OFDM information for HE format

Syntax

info = wlanHEOFDMInfo(field,cfg)
info = wlanHEOFDMInfo(field,cfg,ruNumber)
info = wlanHEOFDMInfo(field,cbw,hegi,ru)
info = wlanHEOFDMInfo(field,cbw)

Description

example

info = wlanHEOFDMInfo(field,cfg) returns a structure, info, containing orthogonal frequency-division multiplexing (OFDM) information for the input field field and high-efficiency (HE) format configuration cfg.

example

info = wlanHEOFDMInfo(field,cfg,ruNumber) returns OFDM information for the resource unit (RU) of interest, as determined by its number ruNumber, when you specify cfg as an HE multi-user (HE-MU) configuration. To return OFDM information for either the HE-Data field or the HE-LTF for an HE-MU format configuration, use this syntax.

info = wlanHEOFDMInfo(field,cbw,hegi,ru) returns OFDM information for the specified channel bandwidth cbw, guard interval hegi, and RU of interest determined by its size and index specified in ru. If ru is not specified, wlanHEOFDMInfo returns information assuming a full band configuration. To return OFDM information for either the HE-Data field or the HE-LTF when the PHY format configuration is unknown, use this syntax.

example

info = wlanHEOFDMInfo(field,cbw) returns OFDM information for the input field and channel bandwidth. To return OFDM information for one of the L-LTF, L-SIG, RL-SIG, HE-SIG-A, or HE-SIG-B fields when the PHY format configuration is unknown, use this syntax.

Examples

collapse all

Perform OFDM demodulation on the HE-SIG-A field and extract the data and pilot subcarriers.

Generate a WLAN waveform for an HE-SU format configuration.

cfg = wlanHESUConfig;
bits = [1; 0; 0; 1];
waveform = wlanWaveformGenerator(bits,cfg);

Obtain the field indices and extract the HE-SIG-A field.

ind = wlanFieldIndices(cfg);
rx = waveform(ind.HESIGA(1):ind.HESIGA(2),:);

Perform OFDM demodulation on the HE-SIG-A field.

sym = wlanHEDemodulate(rx,'HE-SIG-A',cfg);

Return OFDM information, extracting the data and pilot subcarriers.

info = wlanHEOFDMInfo('HE-SIG-A',cfg);
data = sym(info.DataIndices,:,:);
pilots =  sym(info.PilotIndices,:,:);

Obtain OFDM information for each RU in a HE-MU waveform.

Create a WLAN HE-MU format configuration object with the allocation index set to 16.

AllocationIndex = 16;
cfg = wlanHEMUConfig(AllocationIndex);

Return OFDM information pertaining to the HE-Data field for each RU and extract the number of active subcarriers in each case.

NumTones =  zeros(numel(cfg.RU),1);
for ruNumber = 1:numel(cfg.RU)
    info = wlanHEOFDMInfo('HE-Data',cfg,ruNumber);
    NumTones(ruNumber) = info.NumTones;
end

Display the number of active subcarriers for each RU.

disp(NumTones);
    52
    52
   106

Obtain OFDM information for the L-LTF for a specified value of channel bandwidth.

Specify a channel bandwidth of 40 MHz.

cbw = 'CBW40';

Obtain the OFDM information for the L-LTF and display the FFT length.

info = wlanHEOFDMInfo('L-LTF',cbw);
disp(info.FFTLength);
   128

Input Arguments

collapse all

Field for which to return OFDM information, specified as one of these values.

  • 'L-LTF': Return OFDM information for the legacy long training field (L-LTF).

  • 'L-SIG': Return OFDM information for the legacy signal (L-SIG) field.

  • 'RL-SIG': Return OFDM information for the repeated legacy signal (RL-SIG) field.

  • 'HE-SIG-A': Return OFDM information for the HE signal A (HE-SIG-A) field.

  • 'HE-SIG-B': Return OFDM information for the HE signal B (HE-SIG-B) field.

  • 'HE-LTF': Return OFDM information for the HE long training field (HE-LTF).

  • 'HE-Data': Return OFDM information for the HE-Data field.

Data Types: char | string

Physical layer (PHY) format configuration, specified as a wlanHESUConfig object or a wlanHEMUConfig object.

Number of the RU of interest, specified as a positive integer. The RU number specifies the location of the RU within the channel. For example, consider an 80-MHz transmission with two 242-tone RUs and one 484-tone RU, in order of absolute frequency. For this allocation, RU number 1 corresponds to the 242-tone RU in the 20-MHz subchannel at the lowest absolute frequency (size 242, index 1). RU number 2 corresponds to the 242-tone RU in the 20-MHz subchannel at the next lowest absolute frequency (size 242, index 2). RU number 3 corresponds to the 484-tone RU in the 40-MHz subchannel at the highest absolute frequency (size 484, index 2).

Data Types: double

Channel bandwidth, specified as one of these values.

  • 'CBW20': Indicates a channel bandwidth of 20 MHz.

  • 'CBW40': Indicates a channel bandwidth of 40 MHz.

  • 'CBW80': Indicates a channel bandwidth of 80 MHz.

  • 'CBW160': Indicates a channel bandwidth of 160 MHz.

Data Types: char | string

Guard interval duration, in microseconds, specified as 0.8, 1.6, or 3.2.

Data Types: double

RU size and index, specified as a 1-by-2 vector with positive real entries. Specify ru in the form [size,index], where size must be 26, 52, 106, 242, 484, 996, or 1992 in accordance with the specified channel bandwidth. For example, in an 80-MHz transmission, there are four possible 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.

Data Types: double

Output Arguments

collapse all

OFDM information, returned as a structure containing the following fields.

Length of the fast Fourier transform (FFT), returned as a positive integer.

Data Types: double

Cyclic prefix length, in samples, returned as a positive integer.

Data Types: double

Number of active subcarriers, returned as a nonnegative integer.

Data Types: double

Number of 20-MHz subchannels, returned as a positive integer.

Data Types: double

Indices of active subcarriers, returned as a column vector of integers in the interval [-FFTLength/2, FFTLength/2 – 1]. Each entry of ActiveFrequencyIndices is the index of an active subcarrier such that the DC or null subcarrier is at the center of the frequency band.

Data Types: double

Indices of active subcarriers within the FFT, returned as a column vector of positive integers in the interval [1, FFTLength].

Data Types: double

Indices of data within the active subcarriers, returned as a column vector of positive integers in the interval [1, NumTones].

Data Types: double

Indices of pilots within the active subcarriers, returned as a column vector of integers in the interval [1, NumTones].

Data Types: double

Data Types: struct

Extended Capabilities

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

Introduced in R2019a