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.


Demodulate fields of an S1G waveform


sym = wlanS1GDemodulate(rx,field,cfg)
sym = wlanS1GDemodulate(___,'OFDMSymbolOffset',symOffset)



sym = wlanS1GDemodulate(rx,field,cfg) returns the demodulated frequency-domain signal sym by performing orthogonal frequency-division multiplexing (OFDM) demodulation on the received time-domain signal rx. The function performs demodulation for the input sub-1-GHz (S1G) configuration object cfg and uses parameters appropriate for the field specified in field.


sym = wlanS1GDemodulate(___,'OFDMSymbolOffset',symOffset) returns the frequency-domain signal for the specified OFDM symbol sampling offset, symOffset, specified as a fraction of the cyclic prefix length using name-value pair syntax.


collapse all

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

Generate a WLAN waveform for an S1G format configuration.

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 HE-SIG-A field.

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

Return OFDM information, extracting the data and pilot subcarriers.

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

Perform OFDM demodulation on the S1G-Data field for an OFDM symbol offset, specified as a fraction of the cyclic prefix length.

Generate a WLAN waveform for an S1G format configuration with a chosen modulation and coding scheme (MCS).

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

Obtain the field indices and extract the DMG-Data field.

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

Perform OFDM demodulation on the DMG-Data field, specifying an OFDM symbol offset of 0.

sym = wlanDMGOFDMDemodulate(rx,'OFDMSymbolOffset',0);

Input Arguments

collapse all

Received time-domain signal, specified as a matrix with complex entries. Specify rx as a matrix of size Ns-by-Nr where Ns is the number of time-domain samples and Nr is the number of receive antennas. If Ns is not an integer multiple of the OFDM symbol length Ls for the specified field, the remaining mod(NS,Ls) symbols are ignored.

Data Types: double
Complex Number Support: Yes

Field to be demodulated, specified as one of these values.

  • 'S1G-LTF1': Demodulate the first S1G long training field (S1G-LTF1).

  • 'S1G-SIG': Demodulate the S1G signaling (S1G-SIG) field.

  • 'S1G-LTF2N': Demodulate the subsequent S1G long training fields (S1G-LTF2N).

  • 'S1G-SIG-A': Demodulate the S1G signal A (S1G-SIG-A) field.

  • 'S1G-SIG-B': Demodulate the S1G signal B (S1G-SIG-B) field.

  • 'S1G-Data': Demodulate the S1G-Data field.

Data Types: char | string

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

OFDM symbol sampling offset, specified as a nonnegative scalar in the interval [0, 1]. The value you specify indicates the start location for OFDM demodulation relative to the beginning of the cyclic prefix.

Example: 'OFDMSymbolOffset',0.45

Data Types: double

Output Arguments

collapse all

Demodulated frequency-domain signal, returned as an array with complex entries. The size of sym is Nsubcarriers-by-Nsym-by-Nr, where Nsubcarriers is the number of active occupied subcarriers in the field and Nsym is the number of OFDM symbols.

Extended Capabilities

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

See Also



Introduced in R2019a