~comnets/openwns-systemtest-wimac/systemtest-wimac--main--1.0

« back to all changes in this revision

Viewing changes to configOFDMA/config5MHz.py

  • Committer: Maciej Muehleisen
  • Date: 2010-05-26 20:12:45 UTC
  • mto: This revision was merged to the branch mainline in revision 61.
  • Revision ID: mue@comnets.rwth-aachen.de-20100526201245-18g45454981e2yjy
Reduced OFDMA tests to one test at 5MHz BW. Added IMT-A UMa test.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
import openwns
2
 
from openwns.pyconfig import Frozen
3
 
import openwns.evaluation.default
4
 
 
5
 
import scenarios
6
 
import scenarios.builders
7
 
import scenarios.placer
8
 
import scenarios.antenna
9
 
 
10
 
import ip
11
 
import ip.BackboneHelpers
12
 
 
13
 
import wimac.support.nodecreators
14
 
import wimac.support.helper
15
 
import wimac.evaluation.default
16
 
import wimac.support.PostProcessor as PostProcessor
17
 
 
18
 
from wimac.support.Parameters16m import ParametersOFDMA, ParametersMAC
19
 
 
20
 
import random
21
 
random.seed(7)
22
 
 
23
 
# Global station id generator
24
 
def stationID():
25
 
    id = 1
26
 
    while (True):
27
 
        yield id
28
 
        id += 1
29
 
        
30
 
stationIDs = stationID()
31
 
 
32
 
associations = {}
33
 
 
34
 
####################################################
35
 
###  Distinguished Simulation Settings             #
36
 
####################################################
37
 
class Config(Frozen):
38
 
    # Set basic WiMAX Parameters
39
 
    parametersPhy         = ParametersOFDMA(_bandwidth=5)
40
 
    parametersMAC         = ParametersMAC
41
 
    
42
 
    parametersPhy.slotDuration = 6 *  parametersPhy.symbolDuration
43
 
    
44
 
    # 3 * 6 = 18 symbols UD and 18 DL, total of 36 symbols. Other 47 - 36 = 11 symbols
45
 
    # are for PYH, control, and management traffic
46
 
    numberOfTimeSlots = 3  
47
 
 
48
 
    packetSize = 2400.0 
49
 
    trafficUL = 5E5 # bit/s per station
50
 
    trafficDL = 5E5 # bit/s per station
51
 
    
52
 
    noIPHeader = True #Set to true to set IP header to 0
53
 
    probeWindowSize = 0.01 # Probe per frame
54
 
    scheduler = "RoundRobin" # "PropFair"
55
 
 
56
 
# General Setup
57
 
WNS = openwns.Simulator(simulationModel = openwns.node.NodeSimulationModel())
58
 
openwns.setSimulator(WNS)
59
 
WNS.maxSimTime = 0.07999 # seconds
60
 
WNS.masterLogger.backtrace.enabled = False
61
 
WNS.masterLogger.enabled = True
62
 
WNS.outputStrategy = openwns.simulator.OutputStrategy.DELETE
63
 
WNS.statusWriteInterval = 30 # in seconds
64
 
WNS.probesWriteInterval = 300 # in seconds
65
 
        
66
 
# Pass WiMAX Phy parameters to wimac::parameter::PHY singleton
67
 
WNS.modules.wimac.parametersPHY = Config.parametersPhy
68
 
                
69
 
WNS.modules.rise.debug.antennas = True                
70
 
                
71
 
# Create and place the nodes:
72
 
# One BS (25m omnidirectional antenna height) with two nodes, one near, one far
73
 
 
74
 
bsPlacer = scenarios.placer.HexagonalPlacer(numberOfCircles = 0, interSiteDistance = 100.0, rotate=0.0)
75
 
uePlacer = scenarios.placer.LinearPlacer(numberOfNodes = 2, positionsList = [10, 1700])
76
 
bsAntenna = scenarios.antenna.IsotropicAntennaCreator([0.0, 0.0, 5.0])
77
 
bsCreator = wimac.support.nodecreators.WiMAXBSCreator(stationIDs, Config)
78
 
ueCreator = wimac.support.nodecreators.WiMAXUECreator(stationIDs, Config)
79
 
scenarios.builders.CreatorPlacerBuilder(bsCreator, bsPlacer, bsAntenna, ueCreator, uePlacer)
80
 
 
81
 
wimac.support.helper.setupPhy(WNS, Config, "LoS_Test")
82
 
 
83
 
# Set the scheduler
84
 
wimac.support.helper.setupScheduler(WNS, Config.scheduler)
85
 
 
86
 
# Set IP Header to 0 (else it is 20 byte)
87
 
if Config.noIPHeader:
88
 
    wimac.support.helper.disableIPHeader(WNS)
89
 
 
90
 
# Always create uplink traffic, if traffic UL is 0 we sent exacly 
91
 
# one packet for initialization
92
 
wimac.support.helper.createULPoissonTraffic(WNS, Config.trafficUL, Config.packetSize)
93
 
 
94
 
# Only create downlink traffic if we have any
95
 
if Config.trafficDL > 0.0:
96
 
    wimac.support.helper.createDLPoissonTraffic(WNS, Config.trafficDL, Config.packetSize)
97
 
 
98
 
# Configure the window probes
99
 
wimac.support.helper.setL2ProbeWindowSize(WNS, Config.probeWindowSize)
100
 
 
101
 
utNodes = WNS.simulationModel.getNodesByProperty("Type", "UE")
102
 
 
103
 
# DHCP, ARP, DNS for IP
104
 
ip.BackboneHelpers.createIPInfrastructure(WNS, "WIMAXRAN")
105
 
 
106
 
# Probe configuration
107
 
loggingStationIDs = []
108
 
 
109
 
for node in utNodes:
110
 
    loggingStationIDs.append(node.dll.stationID)
111
 
 
112
 
wimac.evaluation.default.installDebugEvaluation(WNS, loggingStationIDs, "Moments")
113
 
 
114
 
wimac.evaluation.default.installOverFrameOffsetEvaluation(WNS, 
115
 
                                                          Config.parametersPhy.symbolsFrame, 
116
 
                                                          [1], 
117
 
                                                          loggingStationIDs)
118
 
 
119
 
openwns.evaluation.default.installEvaluation(WNS)