Main Content

wlanDMGOFDMDemodulate

Demodulate fields of DMG waveform

Description

example

sym = wlanDMGOFDMDemodulate(rx) recovers a demodulated frequency-domain signal by orthogonal frequency-division multiplexing (OFDM) demodulating a directional multigigabit (DMG) time-domain waveform.

example

sym = wlanDMGOFDMDemodulate(rx,'OFDMSymbolOffset',symOffset) specifies OFDM symbol sampling offset as a fraction of the cyclic prefix length.

Examples

collapse all

Perform OFDM demodulation on the DMG-Data field, then extract the data and pilot subcarriers.

Generate a WLAN waveform for a DMG transmission, specifying the modulation and coding scheme (MCS).

cfg = wlanDMGConfig('MCS','15');
bits = [1; 0; 0; 1];
waveform = wlanWaveformGenerator(bits,cfg);

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

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

Perform OFDM demodulation on the DMG-Data field.

sym = wlanDMGOFDMDemodulate(rx);

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

info = wlanDMGOFDMInfo;
data = sym(info.DataIndices,:,:);
pilots =  sym(info.PilotIndices,:,:);

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

Generate a WLAN waveform for a DMG transmission, specifying the modulation and coding scheme (MCS).

cfg = wlanDMGConfig('MCS','12');
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.DMGData(1):ind.DMGData(2),:);

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

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

Input Arguments

collapse all

Received time-domain signal, specified as a complex-valued matrix of size Ns-by-Nr.

  • Ns is the number of time-domain samples. If Ns is not an integer multiple of the OFDM symbol length, Ls, for the specified field, then the function ignores the remaining mod(Ns,Ls) symbols.

  • Nr is the number of receive antennas.

Data Types: double
Complex Number Support: Yes

OFDM symbol sampling offset, as a fraction of the cyclic prefix length, specified as a scalar in the interval [0, 1].

The value that you specify indicates the start location for OFDM demodulation relative to the beginning of the cyclic prefix.

Different values of OFDM symbol sampling offset

Example: 0.45

Data Types: double

Output Arguments

collapse all

Demodulated frequency-domain signal, returned as a complex-valued array of size Nsc-by-Nsym-by-Nr.

  • Nsc is the number of active occupied subcarriers in the demodulated field.

  • Nsym is the number of OFDM symbols.

  • Nr is the number of receive antennas.

Data Types: double
Complex Number Support: Yes

Extended Capabilities

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

Version History

Introduced in R2019a