Generate VHT-SIG-B waveform
Generate the VHT-SIG-B waveform for an 80 MHz transmission packet.
Create a VHT configuration object, assign an 80 MHz channel bandwidth, and generate the waveform.
cfgVHT = wlanVHTConfig('ChannelBandwidth','CBW80'); vhtsigb = wlanVHTSIGB(cfgVHT); size(vhtsigb)
ans = 1×2
320 1
The 80 MHz waveform has one OFDM symbol and is a total of 320 samples long.
cfg
— Format configurationwlanVHTConfig
objectFormat configuration, specified as a wlanVHTConfig
object.
The wlanVHTSIGB
function uses
the object properties indicated.
ChannelBandwidth
— Channel bandwidth 'CBW80'
(default) | 'CBW20'
| 'CBW40'
| 'CBW160'
Channel bandwidth, specified as 'CBW20'
, 'CBW40'
, 'CBW80'
,
or 'CBW160'
. If the transmission has multiple users,
the same channel bandwidth is applied to all users. The default value
of 'CBW80'
sets the channel bandwidth to 80 MHz.
Data Types: char
| string
NumUsers
— Number of usersNumber of users, specified as 1, 2, 3, or 4. (N_{Users})
Data Types: double
NumTransmitAntennas
— Number of transmit antennas1
(default) | integer in the range [1, 8]Number of transmit antennas, specified as an integer in the range [1, 8].
Data Types: double
NumSpaceTimeStreams
— Number of space-time streamsNumber of space-time streams in the transmission, specified as a scalar or vector.
For a single user, the number of space-time streams is a scalar integer from 1 to 8.
For multiple users, the number of space-time streams is a 1-by-N_{Users} vector of integers from 1 to 4, where the vector length, N_{Users}, is an integer from 1 to 4.
Example: [1 3 2]
is the number of space-time
streams for each user.
The sum of the space-time stream vector elements must not exceed eight.
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 of 'Direct'
applies
when NumTransmitAntennas
and NumSpaceTimeStreams
are
equal.
Data Types: char
| string
SpatialMappingMatrix
— Spatial mapping matrixSpatial mapping matrix, specified as a scalar, matrix, or 3-D
array. Use this property to apply a beamforming steering matrix, and
to rotate and scale the constellation mapper output vector. If applicable,
scale the space-time block coder output instead. SpatialMappingMatrix
applies
when the SpatialMapping
property is set to 'Custom'
.
For more information, see IEEE Std 802.11™-2012, Section 20.3.11.11.2.
When specified as a scalar, a constant value applies to all the subcarriers.
When specified as a matrix, the size must be N_{STS_Total}-by-N_{T}. The spatial mapping matrix applies to all the subcarriers. N_{STS_Total} is the sum of space-time streams for all users, and N_{T} is the number of transmit antennas.
When specified as a 3-D array, the size must be N_{ST}-by-N_{STS_Total}-by-N_{T}. N_{ST} is
the sum of the occupied data (N_{SD})
and pilot (N_{SP}) subcarriers,
as determined by ChannelBandwidth
. N_{STS_Total} is
the sum of space-time streams for all users. N_{T} is
the number of transmit antennas.
N_{ST} increases with channel bandwidth.
ChannelBandwidth | Number of Occupied Subcarriers (N_{ST}) | Number of Data Subcarriers (N_{SD}) | Number of Pilot Subcarriers (N_{SP}) |
---|---|---|---|
'CBW20' | 56 | 52 | 4 |
'CBW40' | 114 | 108 | 6 |
'CBW80' | 242 | 234 | 8 |
'CBW160' | 484 | 468 | 16 |
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 having two space-time streams and three transmit antennas.
Data Types: double
Complex Number Support: Yes
MCS
— Modulation and coding schemeModulation and coding scheme used in transmitting the current packet, specified as a scalar or vector.
For a single user, the MCS value is a scalar integer from 0 to 9.
For multiple users, MCS is a 1-by-N_{Users} vector of integers or a scalar with values from 0 to 9, where the vector length, N_{Users}, is an integer from 1 to 4.
MCS | Modulation | Coding Rate |
---|---|---|
0 | BPSK | 1/2 |
1 | QPSK | 1/2 |
2 | QPSK | 3/4 |
3 | 16QAM | 1/2 |
4 | 16QAM | 3/4 |
5 | 64QAM | 2/3 |
6 | 64QAM | 3/4 |
7 | 64QAM | 5/6 |
8 | 256QAM | 3/4 |
9 | 256QAM | 5/6 |
Data Types: double
APEPLength
— Number of bytes in the A-MPDU pre-EOF paddingNumber of bytes in the A-MPDU pre-EOF padding, specified as a scalar integer or vector of integers.
For a single user, APEPLength
is a nonnegative integer
in the interval [0, 2^{20} – 1].
For multi-user, APEPLength
is a
1-by-N_{Users} vector of
nonnegative integers, where N_{Users}
is an integer in [1, 4]. The entries in APEPLength
are
integers in the interval [0, 2^{20} – 1].
For a null data packet (NDP), APEPLength = 0
.
APEPLength
is used internally to determine the number of OFDM symbols in
the data field. For more information, see IEEE^{®} Std 802.11ac™-2013, Table 22-1.
Data Types: double
y
— VHT-SIG-B time-domain waveformVHT-SIG-B time-domain waveform, returned as an N_{S}-by-N_{T} matrix. N_{S} is the number of time-domain samples and N_{T} is the number of transmit antennas.
N_{S} is proportional to the channel bandwidth.
ChannelBandwidth | N_{S} |
---|---|
'CBW20' | 80 |
'CBW40' | 160 |
'CBW80' | 320 |
'CBW160' | 640 |
See VHT-SIG-B Processing. for waveform generation details.
Data Types: double
Complex Number Support: Yes
bits
— Signaling bits used for the VHT-SIG-B fieldSignaling bits used for VHT-SIG-B field, returned as an N_{bits} column vector. N_{bits} is the number of bits.
The number of output bits changes with the channel bandwidth.
ChannelBandwidth | N_{b} |
---|---|
'CBW20' | 26 |
'CBW40' | 27 |
'CBW80' | 29 |
'CBW160' | 29 |
See VHT-SIG-B Processing. for waveform generation details.
Data Types: int8
The very high throughput signal B field (VHT-SIG-B) is used for multiuser scenario to set up the data rate and to fine-tune MIMO reception. It is modulated using MCS 0 and is transmitted in a single OFDM symbol.
The VHT-SIG-B field consists of a single OFDM symbol located between the VHT-LTF and the data portion of the VHT format PPDU.
The very high throughput signal B (VHT-SIG-B) field contains the actual rate and A-MPDU length value per user. The VHT-SIG-B is defined in IEEE Std 802.11ac-2013, Section 22.3.8.3.6, and Table 22–14. The number of bits in the VHT-SIG-B field varies with the channel bandwidth and the assignment depends on whether single user or multiuser scenario in allocated. For single user configurations, the same information is available in the L-SIG field but the VHT-SIG-B field is included for continuity purposes.
Field | VHT MU PPDU Allocation (bits) | VHT SU PPDU Allocation (bits) | Description | ||||
---|---|---|---|---|---|---|---|
20 MHz | 40 MHz | 80 MHz, 160 MHz | 20 MHz | 40 MHz | 80 MHz, 160 MHz | ||
VHT-SIG-B | B0-15 (16) | B0-16 (17) | B0-18 (19) | B0-16 (17) | B0-18 (19) | B0-20 (21) | A variable-length field that indicates the size of the data payload in four-byte units. The length of the field depends on the channel bandwidth. |
VHT-MCS | B16-19 (4) | B17-20 (4) | B19-22 (4) | N/A | N/A | N/A | A four-bit field that is included for multiuser scenarios only. |
Reserved | N/A | N/A | N/A | B17–19 (3) | B19-20 (2) | B21-22 (2) | All ones |
Tail | B20-25 (6) | B21-26 (6) | B23-28 (6) | B20-25 (6) | B21-26 (6) | B23-28 (6) | Six zero-bits used to terminate the convolutional code. |
Total # bits | 26 | 27 | 29 | 26 | 27 | 29 | |
Bit field repetition | 1 | 2 | 4 For 160 MHz, the 80 MHz channel is repeated twice. | 1 | 2 | 4 For 160 MHz, the 80 MHz channel is repeated twice. |
For a null data packet (NDP), the VHT-SIG-B bits are set according to IEEE Std 802.11ac-2013, Table 22-15.
The VHT-SIG-B field is used to set up the data rate and to fine-tune MIMO reception. For single user packets, since the length information can be recovered from the L-SIG and VHT-SIG-A field information, it is not strictly required for the receiver to decode the VHT-SIG-B field.
For algorithm details, refer to IEEE Std 802.11ac-2013 [1], Section 22.3.4.8.
[1] IEEE Std 802.11ac™-2013 IEEE Standard for Information technology — Telecommunications and information exchange between systems — Local and metropolitan area networks — Specific requirements — 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.
wlanVHTConfig
| wlanVHTData
| wlanVHTLTF
| wlanVHTSIGBRecover
^{[1]} IEEE Std 802.11ac-2013 Adapted and reprinted with permission from IEEE. Copyright IEEE 2013. All rights reserved.
A modified version of this example exists on your system. Do you want to open this version instead?
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.
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: .
Select web siteYou can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.