Generate Multi-User VHT Waveform

This example shows how to generate a multi-user VHT waveform from individual components. It also shows how to generate the same waveform by using the wlanWaveformGenerator function. The data fields from the two approaches are compared and shown to be identical.

Set the number of space-time streams to the vector [1 1 1], which indicates that each user is assigned one space-time stream. Set the user positions to [0 1 2]. Set the group ID to 5. Group ID values from 1 to 62 apply for multi-user operation.

Extract VHT-SIG-A information bits 5 through 10, and convert them to their decimal equivalent.

groupid = bi2de(double(sigAbits(5:10)'))

groupid =
5

The extracted group ID, 5, matches the corresponding property in the VHT configuration object.

Extract the packet length from the VHT-SIG-B information bits. For multi-user operation with an 80 MHz bandwidth, the first 19 bits contain the APEP length information. Convert the field lengths to their decimal equivalents. Multiply them by 4 because the length of the VHT-SIG-B field is expressed in units of 4 bytes.

pktLen = bi2de(double(sigBbits(1:19,:)'))*4

pktLen =
2000
1400
1800

Confirm that the extracted APEP length matches the value set in the configuration object.

isequal(pktLen',vht.APEPLength)

ans =
logical
1

Extract the MCS values from the VHT-SIG-B information bits. The MCS component is specified by bits 20 to 23.