Create S1G-format configuration object
The wlanS1GConfig
object is a sub-1-GHz-format (S1G-format)
configuration object for the WLAN S1G packet format.
creates a
configuration object that initializes parameters for an IEEE®
802.11™ S1G-format PPDU.cfgS1G
= wlanS1GConfig
sets
properties using one or more name-value pair arguments. Enclose each property name in
quotation marks. For example,
cfgS1G
= wlanS1GConfig(Name,Value)wlanS1GConfig('ChannelBandwidth','CBW4','STBC',true)
specifies an S1G
format with a channel bandwidth of 4 MHz and space-time block coding enabled.
ChannelBandwidth
— Channel bandwidth of PPDU transmission'CBW2'
(default) | 'CBW1'
| 'CBW4'
| 'CBW8'
| 'CBW16'
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
— Preamble type'Short'
(default) | 'Long'
Preamble type, specified as 'Short'
or
'Long'
.
This property applies only when you set the ChannelBandwidth
property to a value other than
'CBW1'
.
Data Types: char
| string
NumUsers
— Number of users1
(default) | 2
| 3
| 4
Number of users, specified as 1
, 2
,
3
, or 4
.
Data Types: double
UserPositions
— User positions[0 1]
(default) | vector of integersUser 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.
This property applies only when you specify the NumUsers
property as a value greater than 1
.
Data Types: double
NumTransmitAntennas
— Number of transmit antennas1
(default) | 2
| 3
| 4
Number of transmit antennas, specified as 1
,
2
, 3
, or 4
.
Data Types: double
NumSpaceTimeStreams
— Number of space-time streams1
(default) | integer in the interval [1, 4] | row vector of integersNumber of space-time streams in the transmission, specified as a 1-by-NumUsers
vector of integers in the interval [1, 4].
Data Types: double
SpatialMapping
— Spatial mapping scheme'Direct'
(default) | 'Hadamard'
| 'Fourier'
| 'Custom'
Spatial mapping scheme, specified as 'Direct'
,
'Hadamard'
, 'Fourier'
, or
'Custom'
.
The default value, 'Direct'
, applies only when you set the
NumTransmitAntennas
and NumSpaceTimeStreams
properties to the same value.
Data Types: char
| string
SpatialMappingMatrix
— Spatial mapping matrix1
(default) | complex-valued scalar | complex-valued matrix | complex-valued 3-D arraySpatial 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:
ChannelBandwidth | Number of Occupied Subcarriers, NST | Number of Data Subcarriers | Number of Pilot Subcarriers |
---|---|---|---|
'CBW1' | 26 | 24 | 2 |
'CBW2' | 56 | 52 | 4 |
'CBW4' | 114 | 108 | 6 |
'CBW8' | 242 | 234 | 8 |
'CBW16' | 484 | 468 | 16 |
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.
This property applies only when you set the SpatialMapping
property to 'Custom'
.
Data Types: double
Complex Number Support: Yes
Beamforming
— Enable beamforming in a long-preamble packettrue
or 1
(default) | false
or 0
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.
This property applies only when all of these conditions are satisfied:
The Preamble
property is set to 'Long'
.
The NumUsers
property is set to 1
.
The SpatialMapping
property is set to
'Custom'
.
Data Types: logical
STBC
— Enable space-time block codingfalse
or 0
(default) | true
or 1
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].
This property applies only when the NumUsers
property is 1
.
Data Types: logical
MCS
— Modulation and coding scheme0
(default) | integer in the interval [0, 10] | vector of integersModulation 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
:
MCS | Modulation | Coding Rate |
---|---|---|
0 | Binary phase-shift keying (BPSK) | 1/2 |
1 | Quadrature phase-shift keying (QPSK) | 1/2 |
2 | QPSK | 3/4 |
3 | 16-point quadrature amplitude modulation (16-QAM) | 1/2 |
4 | 16-QAM | 3/4 |
5 | 64-QAM | 2/3 |
6 | 64-QAM | 3/4 |
7 | 64-QAM | 5/6 |
8 | 256-QAM | 3/4 |
9 | 256-QAM | 5/6 |
10 | BPSK | 1/2 |
Data Types: double
ChannelCoding
— FEC coding type'BCC'
(default)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
APEPLength
— APEP length256
(default) | nonnegative integer | vector of nonnegative integersAggregated 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
PSDULength
— PSDU lengthThis 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
GuardInterval
— Guard interval (cyclic prefix) duration'Long'
(default) | 'Short'
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
GroupID
— Group identification number1
(default) | integer in the interval [1, 62]Group identification number, specified as an integer in the interval [1, 62]. The group identification number is signaled during a multiuser transmission.
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
PartialAID
— Abbreviated indication of PSDU recipients37
(default) | integer in the interval [0, 511]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
UplinkIndication
— Uplink indicationfalse
or 0
(default) | true
or 1
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
).
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
Color
— AP color identifier0
(default) | integer in the interval [0, 7]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.
This property applies only when these conditions are satisfied:
The ChannelBandwidth
property is not 'CBW1'
.
The NumUsers
property is 1
.
The UplinkIndication
property is 0
(false
).
Data Types: double
TravelingPilots
— Enable traveling pilotsfalse
or 0
(default) | true
or 1
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
ResponseIndication
— Response indication type'None'
(default) | 'NDP'
| 'Normal'
| 'Long'
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
RecommendSmoothing
— Recommend smoothing for channel estimationtrue
or 1
(default) | false
or 0
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
packetFormat | Return WLAN packet format |
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
The physical layer (PHY) protocol data unit (PPDU) is the complete physical layer convergence procedure (PLCP) frame, including PLCP headers, MAC headers, the MAC data field, and the MAC and PLCP trailers.
[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.
Usage notes and limitations: After the first use of this object for an S1G MU-MIMO transmission, you cannot change the number of elements in any of these properties.
wlanDMGConfig
| wlanHEMUConfig
| wlanHESUConfig
| wlanHETBConfig
| wlanHTConfig
| wlanNonHTConfig
| wlanVHTConfig
You have a modified version of this example. Do you want to open this example with your edits?