wlanS1GDemodulate
Demodulate fields of S1G waveform
Description
Examples
Demodulate S1G-SIG Field and Get OFDM Information
Generate a WLAN waveform for an S1G transmission.
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 S1G-SIG field.
sym = wlanS1GDemodulate(rx,'S1G-SIG',cfg);
Get the OFDM information, then extract the data and pilot subcarriers.
info = wlanS1GOFDMInfo('S1G-SIG',cfg);
data = sym(info.DataIndices,:,:);
pilots = sym(info.PilotIndices,:,:);
Demodulate S1G-Data field for OFDM Symbol Offset
Generate a WLAN waveform for an S1G transmission with the specified 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 S1G-Data field.
ind = wlanFieldIndices(cfg); rx = waveform(ind.S1GData(1):ind.S1GData(2),:);
Perform OFDM demodulation on the S1G-Data field, specifying an OFDM symbol offset of 0
.
field = 'S1G-Data';
sym = wlanS1GDemodulate(rx,field,cfg,OFDMSymbolOffset=0);
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: double
Complex Number Support: Yes
field
— Field to be demodulated
'S1G-LTF1'
| 'S1G-SIG'
| 'S1G-LTF2N'
| 'S1G-SIG-A'
| 'S1G-SIG-B'
| 'S1G-DLTF'
| 'S1G-Data'
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
cfg
— PHY format configuration
wlanS1GConfig
object
Physical layer (PHY) format configuration, specified as a wlanS1GConfig
object.
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: symOffset=0.5
OFDMSymbolOffset
— OFDM symbol sampling offset
0.75
(default) | scalar in the interval [0, 1]
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: 0.45
Data Types: double
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
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, which increases 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 made up of Ng guardband subcarriers on either side of Nst occupied bandwidth subcarriers.
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Version History
Introduced in R2019aR2024a: FFT-based oversampling
The function now supports FFT-based oversampling. To specify an oversampling factor, use
the OversamplingFactor
name-value argument.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
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)