Main Content

wlanSegmentDeparseSymbols

Segment-deparse data subcarriers

Description

y = wlanSegmentDeparseSymbols(sym,cbw) performs segment deparsing on the input sym as per IEEE® 802.11™-2020, Section 21.3.10.9.3, when cbw is 'CBW16' or 'CBW160'.

Note

Segment deparsing of the data subcarriers applies only when the channel bandwidth is either 16 MHz or 160 MHz, and is bypassed for the remaining channel bandwidths (as stated in the aforementioned section of IEEE 802.11-2020). Therefore, when cbw is any accepted value other than 'CBW16' or 'CBW160', wlanSegmentDeparseSymbols returns the input unchanged.

example

Examples

collapse all

Segment-deparse the symbols in four OFDM symbols for a VHT configuration with a channel bandwidth of 16 MHz and 3 spatial streams.

Define the input parameters. Since the channel bandwidth is 16 MHz, set the number of data subcarriers to 468 and the number of frequency segments to two.

chanBW = 'CBW16';
numSD = 468; 
numSym = 4;
numSS = 3;
numSeg = 2;

Create the input sequence of symbols.

data = randi([0 1],numSD/numSeg,numSym,numSS,numSeg);

Segment-deparse the symbols into data subcarriers. The first dimension of the parsed output accounts for the total number of data subcarriers.

deparsedData = wlanSegmentDeparseSymbols(data,chanBW);
size(deparsedData)
ans = 1×3

   468     4     3

Get the symbol order after stream deparsing a sequence for a VHT configuration with a channel bandwidth of 160 MHz and one spatial stream.

Define the input parameters. Since the channel bandwidth is 160 MHz, set the number of data subcarriers to 468 and the number of frequency segments to two.

chanBW = "CBW160";
numSD = 468;  
numSym = 1;
numSS = 1;
numSeg = 2; 

Create the input sequence of symbols.

sequence = (1:numSD*numSym*numSS).';
inp = reshape(sequence,numSD/numSeg,numSym,numSS,numSeg);

Segment-deparse the symbols. The output is a column vector with the sequence order of the symbols.

deparsedData = wlanSegmentDeparseSymbols(inp,chanBW);
deparsedData(1:10)
ans = 10×1

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10

Input Arguments

collapse all

Input sequence of frequency segments to deparse, specified as an (NSD/NSEG)-by-NSYMby-NSS-by-NSEG array, where:

  • NSD is the number of data subcarriers.

  • NSEG is the number of segments. When cbw is 'CBW16' or 'CBW160', NSEG is 2. Otherwise it is 1.

  • NSYM is the number of OFDM symbols.

  • NSS is the number of spatial streams.

Data Types: double
Complex Number Support: Yes

Channel bandwidth in MHz, specified as 'CBW1','CBW2', 'CBW4','CBW8', 'CBW16', 'CBW20', 'CBW40', 'CBW80', or 'CBW160'.

Example: 'CBW160'

Data Types: char | string

Output Arguments

collapse all

Deparsed frequency segments, specified as an NSD-by-NSYM-by-NSS array, where:

  • NSD is the number of data subcarriers.

  • NSYM is the number of OFDM symbols.

  • NSS is the number of spatial streams.

Extended Capabilities

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

Version History

Introduced in R2017b