wlanHTOFDMInfo

Return OFDM information for HT transmission

Description

example

info = wlanHTOFDMInfo(field,cfg) returns info, a structure containing orthogonal frequency-division multiplexing (OFDM) information for the input field in a high-throughput (HT) transmission parameterized by configuration object cfg.

example

info = wlanHTOFDMInfo(field,cbw,gi) returns OFDM information for channel bandwidth cbw and guard interval gi. To return OFDM information for the HT-Data field when the format configuration is unknown, use this syntax.

example

info = wlanHTOFDMInfo(field,cbw) returns OFDM information for the specified field and channel bandwidth. To return OFDM information for any field other than HT-Data when the format configuration is unknown, use this syntax.

Examples

collapse all

Perform OFDM demodulation on the HT-LTF, then extract the data and pilot subcarriers.

Generate a WLAN waveform for an HT transmission.

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

Obtain the field indices and extract the HT-LTF.

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

Perform OFDM demodulation on the HT-LTF.

sym = wlanHTLTFDemodulate(rx,cfg);

Get the OFDM information, then extract the data and pilot subcarriers.

info = wlanHTOFDMInfo('HT-LTF',cfg);
data = sym(info.DataIndices,:,:);
pilots =  sym(info.PilotIndices,:,:);

Get OFDM information for the HT-Data field.

Specify the channel bandwidth and guard interval duration.

cbw = 'CBW40';
gi = 'Long';

Return and display the OFDM information for the HT-Data field.

info = wlanHTOFDMInfo('HT-Data',cbw,gi);
disp(info);
                 FFTLength: 128
                  CPLength: 32
            NumSubchannels: 2
                  NumTones: 114
    ActiveFrequencyIndices: [114x1 double]
          ActiveFFTIndices: [114x1 double]
               DataIndices: [108x1 double]
              PilotIndices: [6x1 double]

Get OFDM information for the L-LTF in a transmission with specified channel bandwidth.

Specify a channel bandwidth of 40 MHz.

cbw = 'CBW40';

Return and display the OFDM information for the L-LTF.

info = wlanHTOFDMInfo('L-LTF',cbw);
disp(info);
                 FFTLength: 128
                  CPLength: [64 0]
            NumSubchannels: 2
                  NumTones: 104
    ActiveFrequencyIndices: [104x1 double]
          ActiveFFTIndices: [104x1 double]
               DataIndices: [96x1 double]
              PilotIndices: [8x1 double]

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.

  • 'HT-SIG' – Return OFDM information for the HT signal (HT-SIG) field.

  • 'HT-LTF' – Return OFDM information for the HT long training field (HT-LTF).

  • 'HT-Data' – Return OFDM information for the HT-Data field.

Data Types: char | string

Physical layer (PHY) format configuration, specified as a wlanHTConfig object.

Channel bandwidth, specified as one of these values.

  • 'CBW20' – Channel bandwidth of 20 MHz

  • 'CBW40' – Channel bandwidth of 40 MHz

Data Types: char | string

Guard interval duration, specified as 'Short' or 'Long'.

Data Types: double

Output Arguments

collapse all

OFDM information, returned as a structure containing these fields.

NameValuesDescriptionData Types
FFTLengthPositive integerLength of the fast Fourier transform (FFT)double
CPLengthPositive integer

Cyclic prefix length, in samples

double
NumTonesNonnnegative integer

Number of active subcarriers

double
NumSubchannelsPositive integerNumber of 20-MHz subchannelsdouble
ActiveFrequencyIndicesColumn vector of integers in the interval [-FFTLength/2, (FFTLength/2 – 1)]Indices of active subcarriers. Each element of this field is the index of an active subcarrier, such that the direct current (DC) or null subcarrier is at the center of the frequency band.double
ActiveFFTIndicesColumn vector of integers in the interval [1, FFTLength]Indices of active subcarriers within the FFTdouble
DataIndicesColumn vector of integers in the interval [1, NumTones]Indices of data within the active subcarriersdouble
PilotIndicesColumn vector of integers in the interval [1, NumTones]Indices of pilots within the active subcarriersdouble

Data Types: struct

Extended Capabilities

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

Introduced in R2019a