Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- set val(chan) Channel/WirelessChannel
- set val(prop) Propagation/TwoRayGround
- set val(netif) Phy/WirelessPhy
- set val(mac) Mac/802_11
- set val(ifq) Queue/DropTail/PriQueue
- set val(ll) LL
- set val(ant) Antenna/OmniAntenna
- set val(ifqlen) 50
- set val(nn) 10
- set val(rp) ZRP
- set val(x) 1000
- set val(y) 1000
- set val(stop) 200
- set ns_ [new Simulator]
- set tracefd [open projzrp10.tr w]
- $ns_ trace-all $tracefd
- set namtrace [open projzrp10.nam w]
- $ns_ namtrace-all-wireless $namtrace $val(x) $val(y)
- set topo [new Topography]
- $topo load_flatgrid $val(x) $val(y)
- create-god $val(nn)
- set chan_1_ [new $val(chan)]
- proc UniformErr {} {
- set err [new ErrorModel]
- $err set rate_ 0.05 ; # per = 5 %
- $err unit packet
- $err ranvar [new RandomVariable/Uniform]
- return $err
- }
- $ns_ node-config -adhocRouting $val(rp) \
- -llType $val(ll) \
- -macType $val(mac) \
- -ifqType $val(ifq) \
- -ifqLen $val(ifqlen) \
- -antType $val(ant) \
- -propType $val(prop) \
- -phyType $val(netif) \
- -channelType $val(chan) \
- -topoInstance $topo \
- -agentTrace ON \
- -routerTrace ON \
- -macTrace ON \
- -movementTrace ON \
- -IncomingErrProc UniformErr \
- -outgoingErrProc UniformErr \
- for {set i 0} {$i < $val(nn) } { incr i } {
- set node_($i) [$ns_ node]
- $node_($i) random-motion 0
- }
- for {set i 0} {$i < $val(nn) } { incr i } {
- $ns_ at $val(stop) "$node_($i) reset";
- }
- proc stop {} {
- global ns_ tracefd namtrace
- $ns_ flush-trace
- close $tracefd
- close $namtrace
- exec nam projzrp10.nam &
- exec awk -f throughputfinal.awk projzrp10.tr &
- exec awk -f delayfinal.awk projzrp10.tr &
- exec awk -f pdrfinal.awk projzrp10.tr &
- exec xgraph delay10.tr &
- exec xgraph pdr10.tr &
- exec xgraph throughput10.tr &
- exit 0
- }
- $ns_ run
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement