⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 example.tcl

📁 OPNET 中的Wimax模块, 主要用于wimax 无线网络仿真,以及普通无线网络仿真.
💻 TCL
📖 第 1 页 / 共 2 页
字号:
### This simulation is an example of combination of wired and wireless ### topologies.#---------------------------------------------------------------------##              Define Options                                         ##---------------------------------------------------------------------#global optset opt(chan)         Channel/WirelessChannel;   # channel type set opt(prop)         Propagation/TwoRayGround;  # radio-propagation modelset opt(netif)        Phy/WirelessPhy;           # network interface type            set opt(mac)          Mac/802_16BS;              # MAC typeset opt(ifq)          Queue/DropTail/PriQueue;   # Interface queue typeset opt(ll)           LL;                        # Link layer type set opt(ant)          Antenna/OmniAntenna;       # Antenna typeset opt(x)            250;                       # X dimension of the topographyset opt(y)            250;                       # Y dimension ot the topography  set opt(ifqlen)       50;                        # max packet in ifq   set opt(tr)           out.tr;                    # trace fileset opt(adhocRouting) NOAH;                      # non ad hoc routing      set opt(stop)         200;                       # simulation time             set opt(n-bs)         1;                         # number of bs nodesset opt(n-ugs)        1;                        # number of nodes with ugs connectionsset opt(n-rtps)       1;                        # number of nodes with rtps connections   set opt(n-ertps)      1;                        # number of nodes with rtps connectionsset opt(n-nrtps)      1;                        # number of nodes with nrtps connectionsset opt(n-be)         1;                        # number of nodes with be connectionsset opt(n-nodes)      [expr $opt(n-ugs)+$opt(n-rtps)+$opt(n-ertps)+$opt(n-nrtps)+$opt(n-be)]; set base_seed         [lindex $argv 0];set BW                40000000;                  #channel bandwidth#window for the uplink scheduling mechanism #(see Globecom 2007 paper: Uplink Scheduling with Quality of Service in IEEE 802.16 Networks)Mac/802_16BS set window_ 0.05   set param(dir)        "."global defaultRNG$defaultRNG seed predef [expr $base_seed*2]Phy/WirelessPhy set bandwidth_ $BW#QoS parameters#UGS set ugs_grant_interval    0.020;   # data grants interval (seconds) set ugs_grant_size        66       #rtPSset rtps_grant_interval   0.020;    # unicast request grant interval (seconds)set rtps_delay            0.100;    # maximum delay request (seconds)set rtps_aggreq_interval  5;        # aggregate request interval (in number of requests)set rtps_minBW    200000  ;      # minimum bandwith request (bytes) - baseball  video#ertPS set ertps_grant_interval  0.020;   # data grants interval (seconds) set ertps_grant_size        200;   # initial data grant interval (bytes)#nrtPSset nrtps_grant_interval  0.050;   # unicast request grant interval (seconds)set nrtps_minBW           200000;  # minimum bandwith request (bytes)set nrtps_aggreq_interval 10;      # aggregate request interval (in number of requests)#BEset be_grant_interval     2.0;      # unicast request grant interval (seconds)set be_aggreq_interval    10;       # aggregate request interval (in number of requests)set ns_ [new Simulator]# set up for hierarchical routing$ns_ node-config -addressType hierarchicalAddrParams set domain_num_ 2              ;# number of domains - one for wired and one for wireless     lappend cluster_num 1 1                   ;# number of clusters in each domain      AddrParams set cluster_num_ $cluster_num lappend eilastlevel 1 [expr $opt(n-nodes) + $opt(n-bs)]   ;# number of nodes in each cluster    AddrParams set nodes_num_ $eilastlevel # set trace filesset tracefd  [open "out.tr" w]$ns_ trace-all $tracefd# create topography objectset topo [new Topography]$topo load_flatgrid $opt(x) $opt(y)# create Godcreate-god [expr $opt(n-nodes) + $opt(n-bs)]# create wired nodeset W [$ns_ node 0.0.0]$ns_ node-config -adhocRouting $opt(adhocRouting) \    -llType $opt(ll) \    -macType $opt(mac) \    -ifqType $opt(ifq) \    -ifqLen $opt(ifqlen) \    -antType $opt(ant) \    -propInstance [new $opt(prop)] \    -phyType $opt(netif) \    -channel [new $opt(chan)] \    -topoInstance $topo \    -wiredRouting ON \    -agentTrace ON \    -routerTrace OFF \    -macTrace ONset temp {1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.0.10} #BS is the cmts nodeset BS [$ns_ node [lindex $temp 0]]$BS random-motion 0 #configure-channel "updatarate ticks-per-minislot maxburst upstream-overhead downdatarate downstream-overhead"$BS configure-channel $BW 8 1500 72 $BW 32#configure-mapparams time-covered map-interval num-contention-slots-permap#num-management-slots-permap bkoff-start bkoff-end proportion map_lookahead$BS configure-mapparams 0.005 0.005 1 1 3 8 0 0   #configure-mgmtparams sync-msg-interval rng-msg-interval ucd-msg-interval$BS configure-mgmtparams 2.0 1.0 3.0       #configure for mobilenodesset opt(mac)  Mac/802_16SS$ns_ node-config -wiredRouting OFF \                   -macType $opt(mac) #channel configuration for subscriber stations for {set j 0} {$j < $opt(n-nodes)} {incr j} {    set node_($j) [ $ns_ node [lindex $temp [expr $j+1]] ]    $node_($j) base-station [AddrParams addr2id [$BS node-addr]]    # configure-ss priority rng_msg_interval ss_id debug on/off    #Note: we will number the SS's from 1 on up ...    $node_($j) configure-ss 1 1.0 $j 0    # configure-channel "updatarate ticks maxburst upstream-overhead downdatarate downstream-overhead"    $node_($j) configure-channel $BW 8 1500 72 $BW 32}#---------------------------------------------------------------------##              Configure the connections                              ##---------------------------------------------------------------------#set ugs_init 0set ugs_end  $opt(n-ugs)#ugs connections configurationfor {set j $ugs_init} {$j < $ugs_end} {incr j} {    #configure-upflows node "default schedtype dst-node pkt-type phs-type frag-enable concat-enable concat_thresh piggy     # grant-size grant-interval queue_size latency minimum-bandwidth aggregate-request-interval debug rate_control rate"    $node_($j) configure-upflows $node_($j) "0 0 $W 29 4 0 0 0 0 $ugs_grant_size $ugs_grant_interval 10000 0 0 0 0 0 0"       $node_($j) configure-upflows $node_($j) "1 4 $W 54 4 0 1 1000 1 1500 0 10000 0 0 100 0 0 0"           #configure-downflows node "default sched-type src-node pkt-type phs-type grant-size grant-interval     #queue_size latency minimum-bandwidth "    $node_($j) configure-downflows $node_($j) "1 4 $BS 54 4 0 0 10000 0 0"           $node_($j) startsim}set rtps_init $ugs_endset rtps_end [expr $ugs_end+$opt(n-rtps)]#rtPS connections configurationfor {set j $rtps_init} {$j < $rtps_end} {incr j} {    #configure-upflows node "default schedtype dst-node pkt-type phs-type frag-enable concat-enable concat_thresh piggy     # grant-size grant-interval queue_size latency minimum-bandwidth aggregate-request-interval debug rate_control rate"    $node_($j) configure-upflows $node_($j) "0 1 $W 1 4 1 1 20000 0 0 $rtps_grant_interval 10000 $rtps_delay $rtps_minBW $rtps_aggreq_interval 0 0 0"          $node_($j) configure-upflows $node_($j) "1 4 $W 54 4 1 1 1000 1 0 0 10000 0 0 100 0 0 0"           #configure-downflows node "default sched-type dst-node pkt-type phs-type grant-size grant-interval     #queue_size latency minimum-bandwidth "    $node_($j) configure-downflows $node_($j) "1 3 $BS 54 4 0 0 10000 0 0"           $node_($j) startsim}set ertps_init $rtps_endset ertps_end [expr $rtps_end+$opt(n-ertps)]#ertPS connections configurationfor {set j $ertps_init} {$j < $ertps_end} {incr j} {    #configure-upflows node "default schedtype dst-node pkt-type phs-type frag-enable concat-enable concat_thresh piggy     # grant-size grant-interval queue_size latency minimum-bandwidth aggregate-request-interval debug rate_control rate"    $node_($j) configure-upflows $node_($j) "0 2 $W 63 4 0 1 20000 0 $ertps_grant_size $ertps_grant_interval 10000 0 0 0 0 0 0"          $node_($j) configure-upflows $node_($j) "1 4 $W 54 4 1 1 1000 1 0 0 10000 0 0 100 0 0 0"           #configure-downflows node "default sched-type dst-node pkt-type phs-type grant-size grant-interval     #queue_size latency minimum-bandwidth "    $node_($j) configure-downflows $node_($j) "1 3 $BS 54 4 0 0 10000 0 0"           $node_($j) startsim}set nrtps_init [expr $ertps_end]set nrtps_end [expr $ertps_end+$opt(n-nrtps)]#nrtPS connections configurationfor {set j $nrtps_init} {$j < $nrtps_end} {incr j} {    #configure-upflows node "default schedtype dst-node pkt-type phs-type frag-enable concat-enable concat_thresh piggy 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -