wlanDMGOFDMDemodulate

Demodulate fields of DMG waveform

Description

example

sym = wlanDMGOFDMDemodulate(rx) returns demodulated frequency-domain signal sym by performing orthogonal frequency-division multiplexing (OFDM) demodulation on directional multi-gigabit (DMG) time-domain signal rx.

example

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

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 transmisison, 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. The size of this input must be 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, then the function ignores the remaining mod(NS,LS) symbols.

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.

Example: 'OFDMSymbolOffset',0.45

Data Types: double

Output Arguments

collapse all

Demodulated frequency-domain signal, returned as a complex-valued array of size sym is NSC-by-Nsym-by-NR, where:

  • 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.

Extended Capabilities

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

Introduced in R2019a