Main Content


OFDM Information for S1G transmission



info = wlanS1GOFDMInfo(field,cfg) returns info, a structure containing orthogonal frequency-division multiplexing (OFDM) information for the input field of a sub-1-Ghz (S1G) transmission parameterized by configuration object cfg.


info = wlanS1GOFDMInfo(field,cfg,OversamplingFactor=osf) returns OFDM information for the specified oversampling factor. For more information about oversampling, see FFT-Based Oversampling.


collapse all

Generate a WLAN waveform for an S1G transmission.

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

Obtain the field indices and extract the S1G-SIG field.

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

Perform OFDM demodulation on the S1G-SIG field.

sym = wlanS1GDemodulate(rx,'S1G-SIG',cfg);

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

info = wlanS1GOFDMInfo('S1G-SIG',cfg);
data = sym(info.DataIndices,:,:);
pilots =  sym(info.PilotIndices,:,:);

Get OFDM information for the S1G-Data field in a transmission with specified channel bandwidth and oversampling factor.

Create a WLAN S1G format configuration object, specifying the channel bandwidth.

cfg = wlanS1GConfig('ChannelBandwidth','CBW1');

Specify an oversampling factor.

osf = 1.5;

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

info = wlanS1GOFDMInfo('S1G-Data',cfg,OversamplingFactor=osf);
                 FFTLength: 48
                SampleRate: 1500000
                  CPLength: 12
            NumSubchannels: 1
                  NumTones: 26
    ActiveFrequencyIndices: [26x1 double]
          ActiveFFTIndices: [26x1 double]
               DataIndices: [24x1 double]
              PilotIndices: [2x1 double]

Input Arguments

collapse all

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

  • 'S1G-LTF1' – Return OFDM information for the first S1G long training field (S1G-LTF1).

  • 'S1G-SIG' – Return OFDM information for the S1G signaling (S1G-SIG) field.

  • 'S1G-LTF2N' – Return OFDM information for the subsequent S1G long training fields (S1G-LTF2N).

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

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

  • 'S1G-DLTF' – Return OFDM information for the S1G beamformed LTF (D-LTF).

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

Data Types: char | string

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

Oversampling factor, specified as a scalar greater than or equal to 1. The oversampled cyclic prefix length must be an integer number of samples.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Output Arguments

collapse all

OFDM information, returned as a structure containing these fields.

NameValuesDescriptionData Types
FFTLengthPositive integerLength of the fast Fourier transform (FFT)double
SampleRatePositive scalarSample rate of the waveformdouble
CPLengthPositive integer

Cyclic prefix length, in samples

NumTonesNonnegative integer

Number of active subcarriers

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


collapse all

FFT-Based Oversampling

An oversampled signal is a signal sampled at a frequency that is higher than the Nyquist rate. WLAN signals maximize occupied bandwidth by using small guardbands, which can pose problems for anti-imaging and anti-aliasing filters. Oversampling increases the guardband width relative to the total signal bandwidth, thereby increasing the number of samples in the signal.

This function performs oversampling by using a larger IFFT and zero pad when generating an OFDM waveform. This diagram shows the oversampling process for an OFDM waveform with NFFT subcarriers comprising Ng guardband subcarriers on either side of Nst occupied bandwidth subcarriers.

FFT-based oversampling

Extended Capabilities

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

Version History

Introduced in R2019a

See Also