[General] network = Layered80211 num-rngs = 3 #debug-on-errors = true sim-time-limit = 5s **.vector-recording = false cmdenv-express-mode = false #record-eventlog = true tkenv-plugin-path = ../../../etc/plugins **.mobility.rng-0 = 1 **.wlan[*].mac.rng-0 = 2 **.constraintAreaMinX = 0m **.constraintAreaMinY = 0m **.constraintAreaMinZ = 0m **.constraintAreaMaxX = 600m **.constraintAreaMaxY = 400m **.constraintAreaMaxZ = 0m **.arpType = "GlobalARP" # mobility **.host*.mobilityType = "StationaryMobility" **.host*.mobility.initFromDisplayString = false **.host[0].mobility.initialX = 10m **.host[0].mobility.initialY = 20m **.host[1].mobility.initialX = 50m **.host[1].mobility.initialY = 20m **.host[*].mobility.initialZ = 0m # ping app (host[0] pinged by others) *.host[0].numPingApps = 0 *.host[*].numPingApps = 1 *.host[*].pingApp[*].destAddr = "host[0]" **.pingApp[*].printPing = true **.wlan[*].mgmt.frameCapacity = 10 **.wlan[*].mac.address = "auto" **.wlan[*].mac.maxQueueSize = 14 **.wlan[*].mac.rtsThresholdBytes = 3000B **.wlan[*].mac.retryLimit = 7 **.wlan[*].mac.cwMinData = 7 **.wlan[*].mac.cwMinBroadcast = 31 **.wlan[*].radio.transmitter.power = 0.1mW **.wlan[*].radio.receiver.sensitivity = -100dBm **.wlan[*].radio.receiver.snirThreshold = 4dB **.wlan[*].typename = "Ieee80211Nic" **.wlan[*].radioType = "APSKScalarRadio" **.wlan[*].radio.carrierFrequency = 2.4GHz **.wlan[*].radio.receiver.energyDetection = -90dBm **.wlan[*].radio.receiver.channelSpacing = 20MHz **.wlan[*].radio.bandwidth = 20MHz # MAC **.wlan[*].mac.controlBitrate = 6Mbps **.wlan[*].mac.dataBitrate = 36Mbps **.wlan[*].mac.basicBitrate = 6Mbps **.wlan[*].mac.multicastBitrate = 24Mbps [Config LayeredCompliant80211Ping] description = "host1 pinging host0" *.numHosts = 2 **.levelOfDetail = "symbol" **.isCompliant = true **.wlan[*].radio.transmitterType = "Ieee80211LayeredOFDMTransmitter" **.wlan[*].radio.receiver.errorModelType = "Ieee80211OFDMErrorModel" **.wlan[*].radio.receiverType = "Ieee80211LayeredOFDMReceiver" [Config LayeredNonCompliant80211Ping] description = "host1 pinging host0" **.levelOfDetail = "symbol" *.numHosts = 2 ## Transmitter **.isCompliant = false **.wlan[*].radio.transmitterType = "Ieee80211LayeredOFDMTransmitter" **.wlan[*].radio.transmitter.channelSpacing = 20MHz **.wlan[*].radio.transmitter.signalEncoderType = "Ieee80211OFDMEncoder" **.wlan[*].radio.transmitter.signalModulatorType = "Ieee80211OFDMModulator" **.wlan[*].radio.transmitter.dataEncoderType = "Ieee80211OFDMEncoder" **.wlan[*].radio.transmitter.dataModulatorType = "Ieee80211OFDMModulator" **.wlan[*].radio.transmitter.dataEncoder.fecType = "ConvolutionalCoder" **.wlan[*].radio.transmitter.dataEncoder.scramblerType = "AdditiveScrambler" **.wlan[*].radio.transmitter.dataEncoder.interleaverType = "Ieee80211OFDMInterleaver" **.wlan[*].radio.transmitter.signalEncoder.fecType = "ConvolutionalCoder" **.wlan[*].radio.transmitter.signalEncoder.scramblerType = "" **.wlan[*].radio.transmitter.signalEncoder.interleaverType = "Ieee80211OFDMInterleaver" **.wlan[*].radio.transmitter.dataModulator.pilotSubcarrierPolarityVectorOffset = 0 **.wlan[*].radio.transmitter.signalModulator.pilotSubcarrierPolarityVectorOffset = 0 # Transmitter/receiver data scrambler/descrambler **.wlan[*].radio.**.seed = "1011101" **.wlan[*].radio.**.generatorPolynomial = "0001001" # Data interleaver **.wlan[*].radio.transmitter.dataEncoder.interleaver.numberOfCodedBitsPerSubcarrier = 4 **.wlan[*].radio.transmitter.dataEncoder.interleaver.numberOfCodedBitsPerSymbol = 192 # Signal interleaver **.wlan[*].radio.transmitter.signalEncoder.interleaver.numberOfCodedBitsPerSubcarrier = 1 **.wlan[*].radio.transmitter.signalEncoder.interleaver.numberOfCodedBitsPerSymbol = 48 # Data FEC **.wlan[*].radio.transmitter.dataEncoder.fecEncoder.transferFunctionMatrix = "133 171" **.wlan[*].radio.transmitter.dataEncoder.fecEncoder.constraintLengthVector = "7" **.wlan[*].radio.transmitter.dataEncoder.fecEncoder.puncturingMatrix = "1 1 0; 1 0 1" **.wlan[*].radio.transmitter.dataEncoder.fecEncoder.punctureK = 3 **.wlan[*].radio.transmitter.dataEncoder.fecEncoder.punctureN = 4 # Signal FEC **.wlan[*].radio.transmitter.signalEncoder.fecEncoder.transferFunctionMatrix = "133 171" **.wlan[*].radio.transmitter.signalEncoder.fecEncoder.constraintLengthVector = "7" **.wlan[*].radio.transmitter.signalEncoder.fecEncoder.puncturingMatrix = "1; 1" **.wlan[*].radio.transmitter.signalEncoder.fecEncoder.punctureK = 1 **.wlan[*].radio.transmitter.signalEncoder.fecEncoder.punctureN = 2 # Modulation **.wlan[*].radio.transmitter.signalModulator.subcarrierModulation = "BPSK" **.wlan[*].radio.transmitter.signalModulator.subcarrierPolarityVectorOffset = 0 **.wlan[*].radio.transmitter.dataModulator.subcarrierModulation = "QAM-16" **.wlan[*].radio.transmitter.dataModulator.subcarrierPolarityVectorOffset = 1 ## Receiver **.wlan[*].radio.receiverType = "Ieee80211LayeredOFDMReceiver" **.wlan[*].radio.receiver.dataDecoderType = "Ieee80211OFDMDecoder" **.wlan[*].radio.receiver.errorModelType = "Ieee80211OFDMErrorModel" **.wlan[*].radio.receiver.signalDecoderType = "Ieee80211OFDMDecoder" **.wlan[*].radio.receiver.signalDemodulatorType = "Ieee80211OFDMDemodulator" **.wlan[*].radio.receiver.dataDemodulatorType = "Ieee80211OFDMDemodulator" **.wlan[*].radio.receiver.dataDecoder.fecType = "ConvolutionalCoder" **.wlan[*].radio.receiver.dataDecoder.descramblerType = "AdditiveScrambler" **.wlan[*].radio.receiver.dataDecoder.deinterleaverType = "Ieee80211OFDMInterleaver" **.wlan[*].radio.receiver.signalDecoder.fecType = "ConvolutionalCoder" **.wlan[*].radio.receiver.signalDecoder.descramblerType = "" **.wlan[*].radio.receiver.signalDecoder.deinterleaverType = "Ieee80211OFDMInterleaver" # Data deinterleaver **.wlan[*].radio.receiver.dataDecoder.deinterleaver.numberOfCodedBitsPerSubcarrier = 4 **.wlan[*].radio.receiver.dataDecoder.deinterleaver.numberOfCodedBitsPerSymbol = 192 # Signal deinterleaver **.wlan[*].radio.receiver.signalDecoder.deinterleaver.numberOfCodedBitsPerSubcarrier = 1 **.wlan[*].radio.receiver.signalDecoder.deinterleaver.numberOfCodedBitsPerSymbol = 48 # Data FEC **.wlan[*].radio.receiver.dataDecoder.fecDecoder.transferFunctionMatrix = "133 171" **.wlan[*].radio.receiver.dataDecoder.fecDecoder.constraintLengthVector = "7" **.wlan[*].radio.receiver.dataDecoder.fecDecoder.puncturingMatrix = "1 1 0; 1 0 1" **.wlan[*].radio.receiver.dataDecoder.fecDecoder.punctureK = 3 **.wlan[*].radio.receiver.dataDecoder.fecDecoder.punctureN = 4 # Signal FEC **.wlan[*].radio.receiver.signalDecoder.fecDecoder.transferFunctionMatrix = "133 171" **.wlan[*].radio.receiver.signalDecoder.fecDecoder.constraintLengthVector = "7" **.wlan[*].radio.receiver.signalDecoder.fecDecoder.puncturingMatrix = "1; 1" **.wlan[*].radio.receiver.signalDecoder.fecDecoder.punctureK = 1 **.wlan[*].radio.receiver.signalDecoder.fecDecoder.punctureN = 2 # Modulation **.wlan[*].radio.receiver.signalDemodulator.subcarrierModulation = "BPSK" **.wlan[*].radio.receiver.dataDemodulator.subcarrierModulation = "QAM-16" # TODO: validation test. #[Config LayeredCompliant80211Validation] #extends = LayeredCompliant80211Ping # ## Constraints for valid (complaint) channel spacing and bitrate combinations #constraint = (($spacing == 5 && $headerBitrate == 1.5) || ($spacing == 10 && $headerBitrate == 3) || ($spacing == 20 && $headerBitrate == 6)) && (($dataBitrate == 12 && ($spacing == 20 || $spacing == 10 || $spacing == 5)) || ($dataBitrate == 24 && ($spacing == 20 || $spacing == 10)) || ($dataBitrate == 36 && $spacing == 20) || ($dataBitrate == 54 && $spacing == 20)) # ## Mobility #**.host*.mobilityType = "StationaryMobility" #**.host*.mobility.initFromDisplayString = false #**.host[0].mobility.initialX = 100m #**.host[0].mobility.initialY = 200m #**.host[1].mobility.initialX = 100m + ${distance=110..300 step 5}m #**.host[1].mobility.initialY = 200m #**.host[*].mobility.initialZ = 0m #**.wlan[*].radio.**.levelOfDetail = ${detail="bit", "symbol"} # ## Iterations #**.channelSpacing = ${spacing=5,10,20}MHz #**.headerBitrate = ${headerBitrate = 1.5, 3, 6}Mbps ##**.dataBitrate = ${dataBitrate = 12, 24, 36, 54}Mbps