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

📄 b1.tcl

📁 Performance Evaluation in a two lane and four lane traffic environment in case of a highway, urb
💻 TCL
字号:
# 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


⌨️ 快捷键说明

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