Create Configuration Objects

WLAN Toolbox™ uses value objects to organize properties required for generation of IEEE® 802.11™ b/a/g/n/j/p/ac/ah/ad/ax waveforms and to recover signal data from such waveforms. After you create the various configuration objects described here, you can use them to generate waveforms.

Create Multiuser HE Configuration Object

This example shows how to create multiuser HE configuration objects. It also shows how to change the default property settings by using dot notation or by overriding the default settings by using Name,Value pairs when creating the object.

Create Object and Then Modify Properties

Create a multiuser HE configuration object with the AllocationIndex set to 0 and view the default settings.

hemu = wlanHEMUConfig(0)
hemu = 
  wlanHEMUConfig with properties:

                     RU: {1x9 cell}
                   User: {1x9 cell}
    NumTransmitAntennas: 1
                   STBC: 0
          GuardInterval: 3.2000
              HELTFType: 4
                SIGBMCS: 0
                SIGBDCM: 0
       UplinkIndication: 0
               BSSColor: 0
           SpatialReuse: 0
           TXOPDuration: 127
            HighDoppler: 0

   Read-only properties:
       ChannelBandwidth: 'CBW20'
        AllocationIndex: 0

Modify the defaults to specify four transmit antennas.

hemu.NumTransmitAntennas = 4
hemu = 
  wlanHEMUConfig with properties:

                     RU: {1x9 cell}
                   User: {1x9 cell}
    NumTransmitAntennas: 4
                   STBC: 0
          GuardInterval: 3.2000
              HELTFType: 4
                SIGBMCS: 0
                SIGBDCM: 0
       UplinkIndication: 0
               BSSColor: 0
           SpatialReuse: 0
           TXOPDuration: 127
            HighDoppler: 0

   Read-only properties:
       ChannelBandwidth: 'CBW20'
        AllocationIndex: 0

Create Object and Override Default Property Values

Create a single user HE configuration object with AllocationIndex set to 192. Use Name,Value pairs to set the spatial reuse to 3.

hemu2 = wlanHEMUConfig(192,'SpatialReuse',3)
hemu2 = 
  wlanHEMUConfig with properties:

                     RU: {[1x1 wlanHEMURU]}
                   User: {[1x1 wlanHEMUUser]}
    NumTransmitAntennas: 1
                   STBC: 0
          GuardInterval: 3.2000
              HELTFType: 4
        SIGBCompression: 1
                SIGBMCS: 0
                SIGBDCM: 0
       UplinkIndication: 0
               BSSColor: 0
           SpatialReuse: 3
           TXOPDuration: 127
            HighDoppler: 0

   Read-only properties:
       ChannelBandwidth: 'CBW20'
        AllocationIndex: 192

Create Single User HE Configuration Object

This example shows how to create single user HE configuration objects. It also shows how to change the default property settings by using dot notation or by overriding the default settings by using Name,Value pairs when creating the object.

Create Object and Then Modify Properties

Create a single user HE configuration object and view the default settings.

hesu = wlanHESUConfig
hesu = 
  wlanHESUConfig with properties:

       ChannelBandwidth: 'CBW20'
          ExtendedRange: 0
    NumTransmitAntennas: 1
    NumSpaceTimeStreams: 1
         SpatialMapping: 'Direct'
    PreHESpatialMapping: 0
                   STBC: 0
                    MCS: 0
                    DCM: 0
          ChannelCoding: 'LDPC'
             APEPLength: 100
          GuardInterval: 3.2000
              HELTFType: 4
       UplinkIndication: 0
               BSSColor: 0
           SpatialReuse: 0
           TXOPDuration: 127
            HighDoppler: 0

Modify the defaults to specify an four transmit antennas.

hesu.NumTransmitAntennas = 4 
hesu = 
  wlanHESUConfig with properties:

       ChannelBandwidth: 'CBW20'
          ExtendedRange: 0
    NumTransmitAntennas: 4
    NumSpaceTimeStreams: 1
         SpatialMapping: 'Direct'
    PreHESpatialMapping: 0
                   STBC: 0
                    MCS: 0
                    DCM: 0
          ChannelCoding: 'LDPC'
             APEPLength: 100
          GuardInterval: 3.2000
              HELTFType: 4
       UplinkIndication: 0
               BSSColor: 0
           SpatialReuse: 0
           TXOPDuration: 127
            HighDoppler: 0

Create Object and Override Default Property Values

Create a single user HE configuration object. Use Name,Value pairs to set the modulation and coding scheme to 9 and to enable space-time block coding.

hesu2 = wlanHESUConfig('MCS',9,'STBC',true)
hesu2 = 
  wlanHESUConfig with properties:

       ChannelBandwidth: 'CBW20'
          ExtendedRange: 0
    NumTransmitAntennas: 1
    NumSpaceTimeStreams: 1
         SpatialMapping: 'Direct'
    PreHESpatialMapping: 0
                   STBC: 1
                    MCS: 9
                    DCM: 0
          ChannelCoding: 'LDPC'
             APEPLength: 100
          GuardInterval: 3.2000
              HELTFType: 4
       UplinkIndication: 0
               BSSColor: 0
           SpatialReuse: 0
           TXOPDuration: 127
            HighDoppler: 0

Create DMG Configuration Object

This example shows how to create DMG configuration objects. It also shows how to change the default property settings by using dot notation or by overriding the default settings by using Name,Value pairs when creating the object.

Create Object and Then Modify Properties

Create a DMG configuration object and view the default settings. By default, the configuration object creates properties to model the DMG control PHY.

dmg = wlanDMGConfig
dmg = 
  wlanDMGConfig with properties:

                        MCS: '0'
             TrainingLength: 0
                 PSDULength: 1000
    ScramblerInitialization: 2
                 Turnaround: 0

Model the SC PHY by modifying the defaults to specify an MCS of 5.

dmg.MCS = 5
dmg = 
  wlanDMGConfig with properties:

                        MCS: 5
             TrainingLength: 0
                 PSDULength: 1000
    ScramblerInitialization: 2
             AggregatedMPDU: 0
                   LastRSSI: 0
                 Turnaround: 0

For the various configurations, different sets of configuration fields apply and are visible. By changing the MCS setting from 0 to 5, we see that the configured object includes the AggregationMPDU and LastRSSI fields.

Create Object and Override Default Property Values

Create a DMG configuration object for OFDM PHY. Use Name,Value pairs to set the MCS to 14 and specify four training fields.

dmg2 = wlanDMGConfig('MCS',14,'TrainingLength',4)
dmg2 = 
  wlanDMGConfig with properties:

                        MCS: 14
             TrainingLength: 4
                 PacketType: 'TRN-R'
        BeamTrackingRequest: 0
            TonePairingType: 'Static'
                 PSDULength: 1000
    ScramblerInitialization: 2
             AggregatedMPDU: 0
                   LastRSSI: 0
                 Turnaround: 0

Create S1G Configuration Object

This example shows how to create S1G configuration objects. It also shows how to change the default property settings by using dot notation or by overriding the default settings by using Name,Value pairs when creating the object.

Create Object and Then Modify Properties

Create a S1G configuration object and view the default settings.

s1g = wlanS1GConfig
s1g = 
  wlanS1GConfig with properties:

       ChannelBandwidth: 'CBW2'
               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: 258

Modify the defaults to specify an 8 MHz channel bandwidth, three transmit antennas, and three space-time streams.

s1g.ChannelBandwidth = 'CBW8';
s1g.NumTransmitAntennas = 3;
s1g.NumSpaceTimeStreams = 3
s1g = 
  wlanS1GConfig with properties:

       ChannelBandwidth: 'CBW8'
               Preamble: 'Short'
               NumUsers: 1
    NumTransmitAntennas: 3
    NumSpaceTimeStreams: 3
         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 Object and Override Default Property Values

Create a S1G configuration object. Use Name,Value pairs to set the MCS to 5 and to specify two transmit antennas.

s1g2 = wlanS1GConfig('MCS',5,'NumTransmitAntennas',2)
s1g2 = 
  wlanS1GConfig with properties:

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

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

As currently configured, this object is not a valid S1G configuration. Validation of the object occurs when it is the input to a calling function. When spatial mapping is 'Direct', the number of space-time streams must equal the number of transmit antennas. Changing the number of space time streams to match the number of transmit antennas is one option to make the configuration of the object valid.

s1g2.NumSpaceTimeStreams = 2
s1g2 = 
  wlanS1GConfig with properties:

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

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

Create VHT Configuration Object

This example shows how to create VHT configuration objects. It also shows how to change the default property settings by using dot notation or by overriding the default settings by using Name,Value pairs when creating the object.

Create Object and Then Modify Properties

Create a VHT configuration object and view the default settings.

vht = wlanVHTConfig
vht = 
  wlanVHTConfig with properties:

       ChannelBandwidth: 'CBW80'
               NumUsers: 1
    NumTransmitAntennas: 1
    NumSpaceTimeStreams: 1
         SpatialMapping: 'Direct'
                   STBC: 0
                    MCS: 0
          ChannelCoding: 'BCC'
             APEPLength: 1024
          GuardInterval: 'Long'
                GroupID: 63
             PartialAID: 275

   Read-only properties:
             PSDULength: 1035

Modify the defaults to specify a 160 MHz channel bandwidth, two transmit antennas, and two space-time streams.

vht.ChannelBandwidth = 'CBW160';
vht.NumTransmitAntennas = 2;
vht.NumSpaceTimeStreams = 2
vht = 
  wlanVHTConfig with properties:

       ChannelBandwidth: 'CBW160'
               NumUsers: 1
    NumTransmitAntennas: 2
    NumSpaceTimeStreams: 2
         SpatialMapping: 'Direct'
                   STBC: 0
                    MCS: 0
          ChannelCoding: 'BCC'
             APEPLength: 1024
          GuardInterval: 'Long'
                GroupID: 63
             PartialAID: 275

   Read-only properties:
             PSDULength: 1050

Create Object and Override Default Property Values

Create a VHT configuration object. Use Name,Value pairs to set the MCS to 7 and to specify two transmit antennas.

vht2 = wlanVHTConfig('MCS',7,'NumTransmitAntennas',2)
vht2 = 
  wlanVHTConfig with properties:

       ChannelBandwidth: 'CBW80'
               NumUsers: 1
    NumTransmitAntennas: 2
    NumSpaceTimeStreams: 1
         SpatialMapping: 'Direct'
                   STBC: 0
                    MCS: 7
          ChannelCoding: 'BCC'
             APEPLength: 1024
          GuardInterval: 'Long'
                GroupID: 63
             PartialAID: 275

   Read-only properties:
             PSDULength: 1167

As currently configured, this object is not a valid VHT configuration. Validation of the object occurs when it is the input to a calling function. When spatial mapping is Direct, the number of space-time streams must equal the number of transmit antennas. Changing the number of space time streams to match the number of transmit antennas is one option to make the configuration of the object valid.

vht2.NumSpaceTimeStreams = 2
vht2 = 
  wlanVHTConfig with properties:

       ChannelBandwidth: 'CBW80'
               NumUsers: 1
    NumTransmitAntennas: 2
    NumSpaceTimeStreams: 2
         SpatialMapping: 'Direct'
                   STBC: 0
                    MCS: 7
          ChannelCoding: 'BCC'
             APEPLength: 1024
          GuardInterval: 'Long'
                GroupID: 63
             PartialAID: 275

   Read-only properties:
             PSDULength: 1166

Create HT Configuration Object

This example shows how to create HT configuration objects. It also shows how to change the default property settings by using dot notation or by overriding the default settings by using Name,Value pairs when creating the object.

Create Object and Then Modify Properties

Create an HT configuration object and view the default settings.

ht = wlanHTConfig
ht = 
  wlanHTConfig with properties:

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

Modify the defaults to specify three transmit antennas and two space-time streams.

ht.NumTransmitAntennas = 3;
ht.NumSpaceTimeStreams = 2
ht = 
  wlanHTConfig with properties:

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

As the settings of the object are modified, the set of properties that apply for the current configuration are shown. When the number of transmit antennas is more than the number of space-time streams, the number of extension streams property applies and is shown. Also, as currently configured, this object is not a valid HT configuration because the default 'Direct' spatial mapping requires the number of space-time streams to equal the number of transmit antennas. Validation of the object occurs when it is input to a calling function.

Create Object and Override Default Property Values

Create an HT configuration object. Use Name,Value pairs to define a sounding packet by specifying PSDULength = 0, and set the number of transmit antennas and space-time streams to 3.

ht2 = wlanHTConfig('PSDULength',0,'NumTransmitAntennas',3,'NumSpaceTimeStreams',3)
ht2 = 
  wlanHTConfig with properties:

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

Create Non-HT Configuration Object

This example shows how to create non-HT configuration objects. It also shows how to change the default property settings by using dot notation or by overriding the default settings by using Name,Value pairs when creating the object.

Create Object and Then Modify Properties

Create a non-HT configuration object and view the default settings.

nonHT = wlanNonHTConfig
nonHT = 
  wlanNonHTConfig with properties:

             Modulation: 'OFDM'
       ChannelBandwidth: 'CBW20'
                    MCS: 0
             PSDULength: 1000
    NumTransmitAntennas: 1

Modify the defaults to specify four transmit antennas and to set the MCS to 3.

nonHT.NumTransmitAntennas = 4;
nonHT.MCS = 3
nonHT = 
  wlanNonHTConfig with properties:

             Modulation: 'OFDM'
       ChannelBandwidth: 'CBW20'
                    MCS: 3
             PSDULength: 1000
    NumTransmitAntennas: 4

Create Object and Override Default Property Values

Create a non-HT configuration object. Use a Name,Value pair change the modulation scheme to DSSS.

nonHT2 = wlanNonHTConfig('Modulation','DSSS')
nonHT2 = 
  wlanNonHTConfig with properties:

      Modulation: 'DSSS'
        DataRate: '1Mbps'
    LockedClocks: 1
      PSDULength: 1000

For the DSSS modulation scheme, a different set of properties apply and are shown for the non-HT configuration object.

Create Recovery Configuration Object

Recovery configuration objects are used to specify receiver algorithms and settings to use for recovery. This example shows how to create recovery configuration objects. It also shows how to change the default property settings by using dot notation or by overriding the default settings by using Name,Value pairs when creating the object.

Create Object and Then Modify Properties

Create a recovery configuration object and view default settings.

cfgRec = wlanRecoveryConfig
cfgRec = 
  wlanRecoveryConfig with properties:

             OFDMSymbolOffset: 0.7500
           EqualizationMethod: 'MMSE'
           PilotPhaseTracking: 'PreEQ'
    MaximumLDPCIterationCount: 12
             EarlyTermination: 0

Modify the default to specify no pilot phase tracking.

cfgRec.PilotPhaseTracking = 'None'
cfgRec = 
  wlanRecoveryConfig with properties:

             OFDMSymbolOffset: 0.7500
           EqualizationMethod: 'MMSE'
           PilotPhaseTracking: 'None'
    MaximumLDPCIterationCount: 12
             EarlyTermination: 0

Create Object and Override Default Property Values

Use Name,Value pairs to create a recovery configuration object to perform zero-forcing equalization, using an OFDM symbol sampling offset of 0.6 in the recovery process.

cfgRec = wlanRecoveryConfig('OFDMSymbolOffset',0.6,'EqualizationMethod','ZF')
cfgRec = 
  wlanRecoveryConfig with properties:

             OFDMSymbolOffset: 0.6000
           EqualizationMethod: 'ZF'
           PilotPhaseTracking: 'PreEQ'
    MaximumLDPCIterationCount: 12
             EarlyTermination: 0

See Also

Properties

Related Topics