Main Content

wlanHTConfig

Configure HT transmission

Description

The wlanHTConfig object is a configuration object for the WLAN high throughput (HT) packet format.

Creation

Description

cfgHT = wlanHTConfig creates a configuration object that initializes parameters for an IEEE® 802.11™ HT PPDU.

example

cfgHT = wlanHTConfig(Name,Value) sets properties using one or more name-value pairs. Enclose each property name in quotation marks. For example, wlanHTConfig('GuardInterval','Short') specifies a 400 nanosecond guard interval (cyclic prefix) duration.

At runtime, the calling function validates object settings for properties relevant to the operation of the function.

example

Properties

expand all

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

  • 'CBW20' – Channel bandwidth of 20 MHz

  • 'CBW40' – Channel bandwidth of 40 MHz

Data Types: char | string

Number of transmit antennas, specified as a positive integer.

Data Types: double

Cyclic shift values, in nanoseconds, of additional transmit antennas for the pre-HT fields of the waveform. The first four antennas use the cyclic shift values specified in Table 19-9 of [1]. The remaining L antennas use the values you specify in this property, where L = NumTransmitAntennas – 4. Specify this property as one of these values:

  • An integer in the interval [–200, 0] – the wlanHTConfig object uses this cyclic shift value for each of the L additional antennas.

  • A row vector of length L of integers in the interval [–200, 0] – the wlanHTConfig object uses the kth element as the cyclic shift value for the (k + 4)th transmit antenna.

    Note

    If you specify this property as a row vector of length greater than L, the wlanHTConfig object uses only the first L elements. For example, if you set the NumTransmitAntennas property to 16, the wlanHTConfig object uses only the first L= 16 – 4 = 12 elements of this vector.

Dependencies

To enable this property, set the NumTransmitAntennas property to a value greater than 4.

Data Types: double

Number of space-time streams in the transmission, specified as 1, 2, 3, or 4.

Data Types: double

Number of extension spatial streams in the transmission, specified as 0, 1, 2, or 3.

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. This property must be set to 'Custom' when the NumExtensionStreams property is greater than zero.

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+NESS) -by-NT, where:

    • NSTS is the number of space-time streams;

    • NESS is the number of extension spatial 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 + NESS)-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
    'CBW20'56524
    'CBW40'1141086

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 19.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

Modulation and coding scheme (MCS) used for transmission, specified as an integer in the interval [0, 31]. Each value of this property corresponds to a modulation type and coding rate in accordance with this table.

MCSModulationCoding Rate

0, 8, 16, or 24

Binary phase-shift keying (BPSK)1/2

1, 9, 17, or 25

Quadrature phase-shift keying (QPSK)1/2

2, 10, 18, or 26

QPSK3/4

3, 11, 19, or 27

16-point quadrature amplitude modulation (16-QAM)3/4

4, 12, 20, or 28

16-QAM3/4

5, 13, 21, or 29

64-QAM2/3

6, 14, 22, or 30

64-QAM3/4

7, 15, 23, or 31

64-QAM5/6

Values of this property in the interval [0, 7] specify one spatial stream. Values in the interval [8, 15] specify two spatial streams. Values in the interval [16, 23] specify three spatial streams. Values in the interval [24, 31] specify four spatial streams.

For more information on MCS-dependent transmission parameters, see Section 19.5 of [1]. If the number of space-time streams is equal to the number of spatial streams, no space-time block coding (STBC) is applied to the HT-Data field. For a description of STBC, see Section 19.3.11.9.2 of [1].

Example: A value of 22 specifies an MCS with three spatial streams, 64-QAM, and a coding rate of ¾.

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

Data Types: char | string

Forward-error-correction (FEC) coding type for the HT-Data field, specified as 'BCC' for binary convolutional coding (BCC) or 'LDPC' for low-density parity-check (LDPC) coding.

Data Types: char | string

Physical layer convergence procedure (PLCP) service data unit (PSDU) length, in bytes, specified as an integer in the interval [0, 216 – 1]. To indicate a sounding packet for which there are no data bits to recover, set this property to 0.

Data Types: double

MAC protocol data unit (MPDU) aggregation indicator, specified as a numeric or logical 1 (true) or 0 (false). To specify that the generated packet uses MPDU aggregation, set this property to 1 (true).

Dependencies

This property does not apply when you set the MCS property to 0

Data Types: logical

Recommend smoothing for channel estimation, specified as a numeric or logical 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

transmitTimePacket transmission time

Examples

collapse all

Create an HT configuration object. After creating the object update the number of transmit antennas and space-time streams.

cfgHT = wlanHTConfig
cfgHT = 
  wlanHTConfig with properties:

       ChannelBandwidth: 'CBW20'
    NumTransmitAntennas: 1
    NumSpaceTimeStreams: 1
         SpatialMapping: 'Direct'
                    MCS: 0
          GuardInterval: 'Long'
          ChannelCoding: 'BCC'
             PSDULength: 1024
         AggregatedMPDU: 0
     RecommendSmoothing: 1

Update the number of antennas to two, and number of space-time streams to four.

cfgHT.NumTransmitAntennas = 2;
cfgHT.NumSpaceTimeStreams = 4
cfgHT = 
  wlanHTConfig with properties:

       ChannelBandwidth: 'CBW20'
    NumTransmitAntennas: 2
    NumSpaceTimeStreams: 4
         SpatialMapping: 'Direct'
                    MCS: 0
          GuardInterval: 'Long'
          ChannelCoding: 'BCC'
             PSDULength: 1024
         AggregatedMPDU: 0
     RecommendSmoothing: 1

Create a wlanHTConfig object with a PSDU length of 2048 bytes, and using BCC forward error correction.

cfgHT = wlanHTConfig('PSDULength',2048);
cfgHT.ChannelBandwidth = 'CBW20'
cfgHT = 
  wlanHTConfig with properties:

       ChannelBandwidth: 'CBW20'
    NumTransmitAntennas: 1
    NumSpaceTimeStreams: 1
         SpatialMapping: 'Direct'
                    MCS: 0
          GuardInterval: 'Long'
          ChannelCoding: 'BCC'
             PSDULength: 2048
         AggregatedMPDU: 0
     RecommendSmoothing: 1

More About

expand 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

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

Version History

Introduced in R2015b