?? b1.tcl
字號(hào):
# Performance Evaluation in a two lane and four lane traffic environment in case of a highway,
# urban congested traffic scenario and in a traffic jam
#No. 1 Highway - 20 cars
# Parameters: seed
set val(seed) [lindex $argv 0]
Mac/802_11 set CWMin_ 15
Mac/802_11 set CWMax_ 1023
Mac/802_11 set SlotTime_ 0.000009
Mac/802_11 set SIFS_ 0.000016
Mac/802_11 set ShortRetryLimit_ 7
Mac/802_11 set LongRetryLimit_ 4
Mac/802_11 set PreambleLength_ 60
Mac/802_11 set PLCPHeaderLength_ 60
Mac/802_11 set PLCPDataRate_ 6.0e6
Mac/802_11 set RTSThreshold_ 2000
Mac/802_11 set basicRate_ 6.0e6
Mac/802_11 set dataRate_ 6.0e6
Mac/802_11Ext set CWMin_ 15
Mac/802_11Ext set CWMax_ 1023
Mac/802_11Ext set SlotTime_ 0.000013
Mac/802_11Ext set SIFS_ 0.000032
Mac/802_11Ext set ShortRetryLimit_ 7
Mac/802_11Ext set LongRetryLimit_ 4
Mac/802_11Ext set HeaderDuration_ 0.000040
Mac/802_11Ext set SymbolDuration_ 0.000008
Mac/802_11Ext set BasicModulationScheme_ 0
Mac/802_11Ext set use_802_11a_flag_ true
Mac/802_11Ext set RTSThreshold_ 2346
Mac/802_11Ext set MAC_DBG 0
Phy/WirelessPhy set CSThresh_ 6.30957e-12
Phy/WirelessPhy set Pt_ 0.001
Phy/WirelessPhy set freq_ 5.18e9
Phy/WirelessPhy set L_ 1.0
Phy/WirelessPhy set RXThresh_ 3.652e-10
Phy/WirelessPhy set bandwidth_ 20e6
Phy/WirelessPhy set CPThresh_ 10.0
Phy/WirelessPhyExt set CSThresh_ 3.9810717055349694e-13 ;# -94 dBm wireless interface sensitivity
Phy/WirelessPhyExt set Pt_ 0.1 ;# equals 20dBm when considering antenna gains of 1.0
Phy/WirelessPhyExt set freq_ 5.9e+9
Phy/WirelessPhyExt set noise_floor_ 1.26e-13 ;# -99 dBm for 10MHz bandwidth
Phy/WirelessPhyExt set L_ 1.0 ;# default radio circuit gain/loss
Phy/WirelessPhyExt set PowerMonitorThresh_ 3.981071705534985e-18 ;# -174 dBm power monitor sensitivity (=level of gaussian noise)
Phy/WirelessPhyExt set HeaderDuration_ 0.000040 ;# 40 us
Phy/WirelessPhyExt set BasicModulationScheme_ 0
Phy/WirelessPhyExt set PreambleCaptureSwitch_ 1
Phy/WirelessPhyExt set DataCaptureSwitch_ 1
Phy/WirelessPhyExt set SINR_PreambleCapture_ 3.1623; ;# 5 dB
Phy/WirelessPhyExt set SINR_DataCapture_ 10.0; ;# 10 dB
Phy/WirelessPhyExt set trace_dist_ 1e6 ;# PHY trace until distance of 1 Mio. km ("infinity")
Phy/WirelessPhyExt set PHY_DBG_ 0
Phy/WirelessPhyExt set CPThresh_ 0 ;# not used at the moment
Phy/WirelessPhyExt set RXThresh_ 0 ;# not used at the moment
#=====================================================================
#configure RF model parameters
Antenna/OmniAntenna set Gt_ 1.0
Antenna/OmniAntenna set Gr_ 1.0
Propagation/Nakagami set use_nakagami_dist_ false
Propagation/Nakagami set gamma0_ 2.0
Propagation/Nakagami set gamma1_ 2.0
Propagation/Nakagami set gamma2_ 2.0
Propagation/Nakagami set d0_gamma_ 200
Propagation/Nakagami set d1_gamma_ 500
Propagation/Nakagami set m0_ 1.0
Propagation/Nakagami set m1_ 1.0
Propagation/Nakagami set m2_ 1.0
Propagation/Nakagami set d0_m_ 80
Propagation/Nakagami set d1_m_ 200
#=======================================================================
set val(chan) Channel/WirelessChannel
set val(prop) Propagation/TwoRayGround
set val(netif) Phy/WirelessPhyExt
set val(mac) Mac/802_11Ext
set val(ifq) Queue/DropTail/PriQueue
set val(ll) LL
set val(ant) Antenna/OmniAntenna
set val(x) 1100 ;# X dimension of the topography
set val(y) 20 ;# Y dimension of the topography
set val(ifqlen) 20 ;# max packet in ifq
set val(nn) 20 ;# how many nodes are simulated
set val(rtg) DumbAgent
set val(stop) 5 ;# simulation time
# =====================================================================
# Main Program
# ======================================================================
#
# Initialize Global Variables
#
global defaultRNG
$defaultRNG seed $val(seed)
set ns_ [new Simulator]
set topo [new Topography]
#set tracefd stdout
set tracefd [open broadcast_p_Highway_20nodes.tr w]
$ns_ trace-all $tracefd
#$ns_ use-newtrace
$topo load_flatgrid $val(x) $val(y)
set god_ [create-god $val(nn)]
$god_ off
set chan [new $val(chan)]
$ns_ node-config -adhocRouting $val(rtg) \
-llType $val(ll) \
-macType $val(mac) \
-ifqType $val(ifq) \
-ifqLen $val(ifqlen) \
-antType $val(ant) \
-propType $val(prop) \
-phyType $val(netif) \
-channel $chan \
-topoInstance $topo \
-agentTrace ON \
-routerTrace OFF \
-macTrace OFF \
-phyTrace OFF
for {set i 0} {$i < 20 } {incr i} {
set ID_($i) $i
set vehicle_($i) [$ns_ node]
$vehicle_($i) set id_ $ID_($i)
$vehicle_($i) set address_ $ID_($i)
# $vehicle_($i) set X_ [expr $i * 100]
# $vehicle_($i) set Y_ 10
$vehicle_($i) set Z_ 0
$vehicle_($i) nodeid $ID_($i)
set agent_($i) [new Agent/PBC]
$ns_ attach-agent $vehicle_($i) $agent_($i)
$agent_($i) set Pt_ 1e-4
$agent_($i) set payloadSize 1000
$agent_($i) set peroidcaBroadcastInterval 0.2
$agent_($i) set peroidcaBroadcastVariance 0.05
$agent_($i) set modulationScheme 1
$agent_($i) PeriodicBroadcast ON
$ns_ at $val(stop).0 "$vehicle_($i) reset";
}
for {set i 0} {$i < 10 } {incr i} {
$vehicle_($i) set X_ [expr $i * 100]
$vehicle_($i) set Y_ 5
}
$vehicle_(10) set X_ 5
$vehicle_(11) set X_ 105
$vehicle_(12) set X_ 210
$vehicle_(13) set X_ 310
$vehicle_(14) set X_ 410
$vehicle_(15) set X_ 510
$vehicle_(16) set X_ 625
$vehicle_(17) set X_ 750
$vehicle_(18) set X_ 875
$vehicle_(19) set X_ 1000
$vehicle_(10) set Y_ 15
$vehicle_(11) set Y_ 15
$vehicle_(12) set Y_ 15
$vehicle_(13) set Y_ 15
$vehicle_(14) set Y_ 15
$vehicle_(15) set Y_ 15
$vehicle_(16) set Y_ 15
$vehicle_(17) set Y_ 15
$vehicle_(18) set Y_ 15
$vehicle_(19) set Y_ 15
#
#Now all the alternate nodes starting from 1 to 199 started moving in forward direction
#
$ns_ at 4.5 "$vehicle_(0) setdest 90 5.0 0.0"
$ns_ at 4.5 "$vehicle_(1) setdest 190 5.0 0.0"
$ns_ at 4.5 "$vehicle_(2) setdest 290 5.0 0.0"
$ns_ at 4.5 "$vehicle_(3) setdest 395 5.0 0.0"
$ns_ at 4.5 "$vehicle_(4) setdest 495 5.0 0.0"
$ns_ at 4.5 "$vehicle_(5) setdest 590 5.0 0.0"
$ns_ at 4.5 "$vehicle_(6) setdest 680 5.0 0.0"
$ns_ at 4.5 "$vehicle_(7) setdest 795 5.0 0.0"
$ns_ at 4.5 "$vehicle_(8) setdest 860 5.0 0.0"
$ns_ at 4.5 "$vehicle_(9) setdest 995 5.0 0.0"
$ns_ at 4.5 "$vehicle_(10) setdest 110 15.0 0.0"
$ns_ at 4.5 "$vehicle_(11) setdest 215 15.0 0.0"
$ns_ at 4.5 "$vehicle_(12) setdest 320 15.0 0.0"
$ns_ at 4.5 "$vehicle_(13) setdest 395 15.0 0.0"
$ns_ at 4.5 "$vehicle_(14) setdest 505 15.0 0.0"
$ns_ at 4.5 "$vehicle_(15) setdest 610 15.0 0.0"
$ns_ at 4.5 "$vehicle_(16) setdest 720 15.0 0.0"
$ns_ at 4.5 "$vehicle_(17) setdest 795 15.0 0.0"
$ns_ at 4.5 "$vehicle_(18) setdest 905 15.0 0.0"
$ns_ at 4.5 "$vehicle_(19) setdest 1005 15.0 0.0"
#$ns_ at 4.5 "$vehicle_(39) setdest 195 15.0 0.0"
$ns_ at $val(stop).0002 "puts \"NS EXITING...\" ; $ns_ halt"
$ns_ at $val(stop).0003 "$ns_ flush-trace"
puts "Starting Simulation..."
proc stop {} {
global ns tracefd
$ns flush-trace
close $tracefd
# close $namtrace
}
$ns_ run
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -