wlanS1GConfig

Create S1G-format configuration object

Description

The wlanS1GConfig object is a sub-1-GHz-format (S1G-format) configuration object for the WLAN S1G packet format.

Creation

Description

example

cfgS1G = wlanS1GConfig creates a configuration object that initializes parameters for an IEEE® 802.11™ S1G-format PPDU.

example

cfgS1G = wlanS1GConfig(Name,Value) sets properties using one or more name-value pair arguments. Enclose each property name in quotation marks. For example, wlanS1GConfig('ChannelBandwidth','CBW4','STBC',true) specifies an S1G format with a channel bandwidth of 4 MHz and space-time block coding enabled.

Properties

expand all

Channel bandwidth of PPDU transmission, specified as one of these values:

  • 'CBW1' – Channel bandwidth of 1 MHz

  • 'CBW2' – Channel bandwidth of 2 MHz

  • 'CBW4' – Channel bandwidth of 4 MHz

  • 'CBW8' – Channel bandwidth of 8 MHz

  • 'CBW16' – Channel bandwidth of 16 MHz

Data Types: char | string

Preamble type, specified as 'Short' or 'Long'.

Dependencies

This property applies only when you set the ChannelBandwidth property to a value other than 'CBW1'.

Data Types: char | string

Number of users, specified as 1, 2, 3, or 4.

Data Types: double

User positions, specified as a 1-by-NumUsers vector of integers in the interval [0, 3] in strictly increasing order.

Example: [0 2 3] specifies the positions for three users. The first user occupies position 0, the second user occupies position 2, and the third user occupies position 3.

Dependencies

This property applies only when you specify the NumUsers property as a value greater than 1.

Data Types: double

Number of transmit antennas, specified as 1, 2, 3, or 4.

Data Types: double

Number of space-time streams in the transmission, specified as a 1-by-NumUsers vector of integers in the interval [1, 4].

Data Types: double

Spatial mapping scheme, specified as 'Direct', 'Hadamard', 'Fourier', or 'Custom'.

Dependencies

The default value, 'Direct', applies only when you set the NumTransmitAntennas and NumSpaceTimeStreams properties to the same value.

Data Types: char | string

Spatial mapping matrix, specified as one of these values:

  • A complex-valued scalar. This value applies to all the subcarriers.

  • A complex-valued matrix of size NSTS -by-NT, where:

    • NSTS is the number of space-time streams;

    • NT is the number of transmit antennas.

    In this case, the spatial mapping matrix applies to all the subcarriers.

  • A complex-valued 3-D array of size NST-by-NSTS-by-NT, where NST is the number of occupied subcarriers. The value of NST is the sum of the occupied data and pilot subcarriers. The ChannelBandwidth property determines the value of NST. In this case, each occupied subcarrier has its own spatial mapping matrix.

    This table shows the ChannelBandwidth setting and the corresponding NST:

    ChannelBandwidthNumber of Occupied Subcarriers, NSTNumber of Data SubcarriersNumber of Pilot Subcarriers
    'CBW1'26242
    'CBW2'56524
    'CBW4'1141086
    'CBW8'2422348
    'CBW16'

    484

    46816

Use this property to rotate and scale the output vector of the constellation mapper. The spatial mapping matrix is used for beamforming and mixing space-time streams over the transmit antennas. For more information, see Section 20.3.11.11.2 of [1]. The calling function normalizes the spatial mapping matrix for each subcarrier.

Example: [0.5 0.3; 0.4 0.4; 0.5 0.8] represents a spatial mapping matrix with three space-time streams and two transmit antennas.

Dependencies

This property applies only when you set the SpatialMapping property to 'Custom'.

Data Types: double
Complex Number Support: Yes

Enable beamforming in a long-preamble packet, specified as a numeric or logical value of 1 (true) or 0 (false). To apply a beamforming steering matrix, set this property to 1 (true). The SpatialMappingMatrix property specifies the beamforming steering matrix.

Dependencies

This property applies only when all of these conditions are satisfied:

Data Types: logical

Enable space-time block coding (STBC) of the PPDU data field for all users, specified as a numeric or logical value of 1 (true) or 0 (false). STBC transmits multiple copies of the data stream across assigned antennas.

  • When you set this property to 0 (false), STBC is not applied to the data field. The number of space-time streams is equal to the number of spatial streams.

  • When you set this property to 1 (true), STBC is applied to the data field. The number of space-time streams is twice the number of spatial streams.

For more information, see Section 22.3.10.9.4 of [2].

Dependencies

This property applies only when the NumUsers property is 1.

Data Types: logical

Modulation and coding scheme specified as one of these values:

  • an integer in the interval [0, 10], applicable when the NumUsers property is 1

  • a 1-by-NumUsers vector of integers in the interval [0, 10].

This table shows the modulation type and coding rate for each valid value of MCS:

MCSModulationCoding Rate
0Binary phase-shift keying (BPSK)1/2
1Quadrature phase-shift keying (QPSK)1/2
2QPSK3/4
316-point quadrature amplitude modulation (16-QAM)1/2
416-QAM3/4
564-QAM2/3
664-QAM3/4
764-QAM5/6
8256-QAM3/4
9256-QAM5/6
10BPSK1/2

Data Types: double

This property is read-only.

Forward error correction (FEC) coding type, specified as 'BCC'. The wlanS1GConfig object supports only binary convolutional coding (BCC).

Data Types: char

Aggregated MPDU (A-MPDU) pre-end-of-frame (pre-EOF) padding (APEP) length, in bytes.

  • When the NumUsers property is 1, specify this property as a nonnegative integer in the interval [0, 216 – 1].

  • When the NumUsers property is a value other than 1, specify this property as a 1-by-NumUsers vector of integers in the interval [0, 216 – 1].

  • For a null data packet (NDP), set this property to 0.

The wlanS1GConfig uses this property to determine the number of OFDM symbols in the data field. For more information, see Table 22-1 of [2].

Note

This object supports only aggregated data transmission.

Data Types: double

This property is read-only.

Physical layer convergence procedure (PLCP) service data unit (PSDU) length, in bytes, specified as an integer. The wlanS1GConfig object calculates this property internally based on other properties.

Data Types: double

Guard interval (cyclic prefix) duration for the data field within a packet, specified as one of these values:

  • 'Long' – Guard interval duration of 800 ns

  • 'Short' – Guard interval duration of 400 ns

Note

For S1G format, the first OFDM symbol within the data field always has a long guard interval, even when you set this property to 'Short'.

Data Types: char | string

Group identification number, specified as an integer in the interval [1, 62]. The group identification number is signaled during a multiuser transmission.

Dependencies

This property applies only when you set the Preamble property to'Long' and the NumUsers property to a value greater than 1.

Data Types: double

Abbreviated indication of the PSDU recipients, specified as an integer in the interval [0, 511].

  • When you set the UplinkIndication property to 1 (true), the partial identification number is the last nine bits of the basic service set identifier (BSSID). This property must be an integer in the interval [0, 511].

  • When you set the UplinkIndication property to 0 (false), the partial identification number is an identifier that combines the association ID with the BSSID of its serving AP. This property must be an integer in the interval [0, 63].

For more information, see Table 22-1 of [2].

Data Types: double

Uplink indication, specified as a numeric or logical value of 1 (true) or 0 (false). To indicate that the PPDU is sent on a downlink transmission, set this property to 0 (false). To indicate that the PPDU is sent on an uplink transmission, set this property to 1 (true).

Dependencies

This property applies only when you set the ChannelBandwidth property to a value other than 'CBW1' and the NumUsers property to 1.

Data Types: logical

Access point (AP) color identifier, specified as an integer in the interval [0, 7]. An AP includes a color number for the basic service set (BSS). An S1G station (STA) can use the color setting to determine if the transmission is within a BSS with which it is associated. The STA can terminate the reception process for transmissions received from a BSS with which it is not associated.

Dependencies

This property applies only when these conditions are satisfied:

Data Types: double

Enable traveling pilots, specified as a numeric or logical value of 1 (true) or 0 (false). To specify non-constant pilot locations, set this property to 1 (true). Traveling pilots allow a receiver to track a changing channel due to Doppler spread.

Data Types: logical

Response indication type, specified as 'None', 'NDP', 'Normal', or 'Long'. This information is used to indicate the presence and type of frame that will be sent a short interframe space (SIFS) after the current frame transmission. The value to which you set this property sets the response indication field, which is transmitted in these fields:

  • The SIG2 field of the S1G_SHORT preamble

  • The SIG-A-2 field of the S1G_LONG preamble

  • The SIG field of the S1G_1M preamble

Data Types: char | string

Recommend smoothing for channel estimation, specified as a numeric or logical value of 1 (true) or 0 (false).

  • If the frequency profile does not vary across the channel, the receiver sets this property to 1 (true). In this case, frequency-domain smoothing is recommended as part of channel estimation.

  • If the frequency profile varies across the channel, the receiver sets this property to 0 (false). In this case, frequency-domain smoothing is not recommended as part of channel estimation.

Data Types: logical

Object Functions

packetFormat Return WLAN packet format

Examples

collapse all

Create an S1G configuration object with default settings for a single user. Override the default by specifying a 4 MHz channel bandwidth and short preamble configuration.

cfgS1G = wlanS1GConfig;
cfgS1G.ChannelBandwidth = 'CBW4';
cfgS1G.Preamble = 'Short';
cfgS1G
cfgS1G = 
  wlanS1GConfig with properties:

       ChannelBandwidth: 'CBW4'
               Preamble: 'Short'
               NumUsers: 1
    NumTransmitAntennas: 1
    NumSpaceTimeStreams: 1
         SpatialMapping: 'Direct'
                   STBC: 0
                    MCS: 0
             APEPLength: 256
          GuardInterval: 'Long'
             PartialAID: 37
       UplinkIndication: 0
                  Color: 0
        TravelingPilots: 0
     ResponseIndication: 'None'
     RecommendSmoothing: 1

   Read-only properties:
          ChannelCoding: 'BCC'
             PSDULength: 261

Create an S1G configuration object that assigns a 2 MHz bandwidth and two users. Use a combination of Name,Value pairs and in-line initialization to change default settings. In vector-valued properties, each element applies to a specific user.

cfgMU = wlanS1GConfig('ChannelBandwidth','CBW2', ...
    'Preamble','Long', ...
    'NumUsers',2, ...
    'GroupID',2, ...
    'NumTransmitAntennas', 2);
cfgMU.NumSpaceTimeStreams = [1 1];
cfgMU.MCS = [4 8];
cfgMU.APEPLength = [1024 2048];
cfgMU
cfgMU = 
  wlanS1GConfig with properties:

       ChannelBandwidth: 'CBW2'
               Preamble: 'Long'
               NumUsers: 2
          UserPositions: [0 1]
    NumTransmitAntennas: 2
    NumSpaceTimeStreams: [1 1]
         SpatialMapping: 'Direct'
                    MCS: [4 8]
             APEPLength: [1024 2048]
          GuardInterval: 'Long'
                GroupID: 2
        TravelingPilots: 0
     ResponseIndication: 'None'

   Read-only properties:
          ChannelCoding: 'BCC'
             PSDULength: [1031 2065]

NumUsers is set to 2 and the user-dependent properties are two-element vectors.

Create an S1G configuration object with default property values.

cfgS1G = wlanS1GConfig;

Compute and display the packet format. The default properties specify a transmission with short preamble.

format = packetFormat(cfgS1G);
disp(format)
S1G-Short

Now create an S1G configuration object, specifying a long preamble.

cfgS1GLongPreamble = wlanS1GConfig('Preamble','Long');

Compute and display the packet format.

format = packetFormat(cfgS1GLongPreamble);
disp(format)
S1G-Long

More About

expand all

References

[1] IEEE Std 802.11-2012. "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.

[2] IEEE 802.11ac™-2013. "Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications. — Amendment 4: Enhancements for Very High Throughput for Operation in Bands below 6 GHz." IEEE 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™.

Introduced in R2016b