wlanEHTDemodulate
Syntax
Description
Examples
Demodulate EHT-SIG Field and Extract Data and Pilot Subcarriers
Demodulate the EHT-SIG field in an EHT MU waveform.
Create a non-OFDMA EHT MU configuration object with a channel bandwidth of 320 MHz.
cfg = wlanEHTMUConfig("CBW320");
Generate a time-domain waveform for the configuration.
tx = wlanWaveformGenerator([1;0;0;1],cfg);
Extract the part of the waveform that corresponds to the EHT-SIG field.
ind = wlanFieldIndices(cfg); ehtSig = tx(ind.EHTSIG(1):ind.EHTSIG(2),:);
Demodulate the EHT-SIG field.
sym = wlanEHTDemodulate(ehtSig,"EHT-SIG",cfg);
Extract the data and pilot subcarriers.
info = wlanEHTOFDMInfo('EHT-SIG',cfg);
data = sym(info.DataIndices,:,:);
pilots = sym(info.PilotIndices,:,:);
Demodulate EHT-LTF and EHT-Data Fields
Demodulate the EHT-LTF and EHT-Data fields of an EHT MU waveform.
Create an OFDMA EHT MU configuration object. Set the allocation index to 23
. This setting specifies a configuration with four users. One user has a 26-tone RU, another has a 106-tone RU, and the remaining two both have a 52-tone RU
cfg = wlanEHTMUConfig(23);
Generate a time-domain waveform for the configuration.
tx = wlanWaveformGenerator([1;0;0;1],cfg);
Generate field indices for the configuration.
ind = wlanFieldIndices(cfg);
Extract the parts of the waveform that correspond to the EHT-LTF and EHT-Data fields.
rxLTF = tx(ind.EHTLTF(1):ind.EHTLTF(2),:); rxData = tx(ind.EHTData(1):ind.EHTData(2),:);
Demodulate the EHT-LTF and EHT-Data fields for each of the four RUs.
for ruNumber = 1:numel(cfg.RU) symLTF = wlanEHTDemodulate(rxLTF,"EHT-LTF",cfg,ruNumber); symData = wlanEHTDemodulate(rxData,"EHT-Data",cfg,ruNumber); end
Demodulate EHT-SIG Field with Oversampling
Create a non-OFDMA EHT MU configuration object with a channel bandwidth of 40 MHz.
cfg = wlanEHTMUConfig("CBW40");
Generate a time-domain waveform for the configuration.
tx = wlanWaveformGenerator([1;0;0;1],cfg);
Generate the field indices for the configuration, once using default settings and once specifying an oversampling factor of 2
.
ind1 = wlanFieldIndices(cfg); ind2 = wlanFieldIndices(cfg,OversamplingFactor=2);
Extract and demodulate the part of the waveform that corresponds to the EHT-SIG field, once using default settings and once specifying an oversampling factor of 2
.
rxEHTSig1 = tx(ind1.EHTSIG(1):ind1.EHTSIG(2),:); sym1 = wlanEHTDemodulate(rxEHTSig1,"EHT-SIG",cfg); rxEHTSig2 = tx(ind2.EHTSIG(1):ind2.EHTSIG(2),:); sym2 = wlanEHTDemodulate(rxEHTSig2,"EHT-SIG",cfg,OversamplingFactor=2);
Input Arguments
rx
— Received time-domain signal
complex-valued matrix
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: single
| double
Complex Number Support: Yes
field
— Field to be demodulated
"L-LTF"
| "L-SIG"
| "RL-SIG"
| "U-SIG"
| "EHT-SIG"
| "EHT-LTF"
| "EHT-Data"
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."RL-SIG"
— Demodulate the repeated legacy signal (RL-SIG) field."U-SIG"
— Demodulate the universal signal (U-SIG) field."EHT-SIG"
— Demodulate the EHT signal (EHT-SIG) field."EHT-LTF"
— Demodulate the EHT long training field (EHT-LTF)."EHT-Data"
— Demodulate the EHT-Data field.
Data Types: char
| string
cfg
— PHY format configuration
wlanEHTMUConfig
object | wlanEHTTBConfig
object | wlanEHTRecoveryConfig
object
Physical layer (PHY) format configuration, specified as an object of type wlanEHTMUConfig
, wlanEHTTBConfig
, or wlanEHTRecoveryConfig
.
ruNumber
— Number of RU or MRU of interest
positive integer
Number of the RU or MRU of interest, specified as a positive integer. This input specifies the location of the RU or MRU in the channel. For example, consider a 20 MHz transmission with one 106+26-tone RU, one 52+26-tone MRU, and one 26-tone RU, in order of absolute frequency. For this allocation:
RU 1 corresponds to the 106+26-tone MRU at the lowest absolute frequency (size 106+26, index 1).
RU 2 corresponds to the 52+26-tone MRU at the next lowest absolute frequency (size 52+26, index 2).
RU 3 corresponds to the 26-tone RU at the highest absolute frequency (size 26, index 3).
Note
For an OFDMA-type EHT MU PPDU, this input is required when the
field
input is"EHT-LTF"
or"EHT-Data"
.For a non-OFDMA-type EHT MU PPDU, this input is not required, regardless of the value of the
field
input.For an EHT TB PPDU, this input is not required.
This input is not required when
field
is equal to"L-LTF"
,"L-SIG"
,"RL-SIG"
,U-SIG"
, or"EHT-SIG"
.This input is not required when you specify
cfg
as awlanEHTRecoveryConfig
object.
Data Types: single
| double
Name-Value Arguments
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.
Before R2021a, use commas to separate each name and value, and enclose
Name
in quotes.
Example: OversamplingFactor=2
OversamplingFactor
— Oversampling factor
1
(default) | scalar greater than 1
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.
Data Types: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
OFDMSymbolOffset
— OFDM symbol sampling offset
0.75
(default) | scalar in the interval [0, 1]
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: single
| double
Output Arguments
sym
— Demodulated frequency-domain signal
complex-valued array
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
Algorithms
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.
References
[1] IEEE® P802.11be™/D3.0. “Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications. Amendment 8: Enhancements for Extremely High Throughput (EHT).” Draft Standard for Information Technology — Telecommunications and Information Exchange between Systems — Local and Metropolitan Area Networks — Specific Requirements.
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Code generation is not supported when you specify cfg
as an object
of type wlanEHTRecoveryConfig
.
Version History
Introduced in R2023aR2023b: EHT recovery support
You can specify the cfg
input as a
wlanEHTRecoveryConfig
object.
See Also
Functions
wlanDMGOFDMDemodulate
|wlanEHTDataBitRecover
|wlanEHTLTFChannelEstimate
|wlanEHTOFDMInfo
|wlanEHTTrackPilotError
|wlanHEDemodulate
|wlanS1GDemodulate
Objects
Topics
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)