Main Content

wlanVHTDemodulate

OFDM-demodulate received time-domain VHT waveform

Since R2025a

Description

sym = wlanVHTDemodulate(rx,field,cfg) OFDM-demodulates the received time-domain very high-throughput (VHT) waveform rx.

example

sym = wlanVHTDemodulate(___,Name=Value) specifies additional options using one or more name-value arguments in combination with the previous syntax.

example

Examples

collapse all

Create a VHT configuration object with default parameters. Generate a time-domain waveform for the configuration.

cfg = wlanVHTConfig;
tx = wlanWaveformGenerator([1;0;0;1],cfg);

Pass the waveform through an AWGN channel with a signal-to-noise ratio of 20 dB.

snr = 20;
rx = awgn(tx,snr);

Get indices for the VHT-LTF. Use the indices to isolate the part of the received waveform that corresponds to the VHT-LTF.

field = "VHT-LTF";
ind = wlanFieldIndices(cfg,field);
rx = rx(ind(1):ind(2),:);

Demodulate the VHT-LTF.

sym = wlanVHTDemodulate(rx,field,cfg);

Create a VHT configuration object with a channel bandwidth of 160 MHz.

cfg = wlanVHTConfig(ChannelBandwidth="CBW160");

Generate a time-domain waveform for the configuration, specifying an oversampling factor of 2.

osf = 2;
tx = wlanWaveformGenerator([1;0;0;1],cfg,OversamplingFactor=osf);

Pass the waveform through an AWGN channel with a signal-to-noise ratio of 10 dB.

snr = 10;
rx = awgn(tx,snr);

Get indices for the VHT-SIG-A field, specifying the oversampling factor. Use the indices to isolate the part of the received waveform that corresponds to the VHT-SIG-A field.

field = "VHT-SIG-A";
ind = wlanFieldIndices(cfg,field,OversamplingFactor=osf);
rx = rx(ind(1):ind(2),:);

Demodulate the VHT-SIG-A field, specifying the oversampling factor.

sym = wlanVHTDemodulate(rx,field,cfg,OversamplingFactor=osf);

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 number of OFDM symbols, Ls, in the specified field, then the function ignores the remaining mod(Ns,Ls) symbols.

  • Nr is the number of receive antennas.

Data Types: double | single
Complex Number Support: Yes

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

  • "L-LTF" — Demodulate the legacy long training field (L-LTF).

  • "L-SIG" — Demodulate the legacy signal (L-SIG) field.

  • "VHT-SIG-A" — Demodulate the VHT signal A (VHT-SIG-A) field.

  • "VHT-LTF" — Demodulate the VHT long training field (VHT-LTF).

  • "VHT-SIG-B" — Demodulate the VHT signal B (VHT-SIG-B) field.

  • "VHT-Data" — Demodulate the VHT-Data Field.

Data Types: char | string

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

Name-Value Arguments

collapse all

Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Example: OversamplingFactor=2

Oversampling factor, specified as a scalar greater than or equal to 1. The oversampled cyclic prefix length must be an integer number of samples. For more information, see FFT-Based Oversampling.

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

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

Example: 0.45

Data Types: double | single

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

More About

collapse all

Algorithms

collapse all

References

[1] IEEE Std 802.11-2020 (Revision of IEEE Std 802.11-2016). “Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications.” IEEE Standard for Information Technology — Telecommunications and Information Exchange between Systems — Local and Metropolitan Area Networks — Specific Requirements.

Extended Capabilities

expand all

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

Version History

Introduced in R2025a