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

📄 ramodel.tcl

📁 无线个域网(WPAN)就是在个人周围空间形成的无线网络
💻 TCL
字号:
##set seed           0set packetsize     245set nn             300             ;# number of nodesset cnn            [expr $nn -2 ]   ;# number of clientsset plottime 15000.0ns-random $seed##user start time from a poisson distributionset starttime(2) 0#set tmp [new RandomVariable/Exponential] ;# Poisson process#$tmp set avg_ 5.4674 ;# average arrival interval#artificially syncronize flow start time#every flow starts at multiple of 1.8sset tmp [new RandomVariable/Empirical]$tmp loadCDF userintercdf1for {set i 3} {$i < $nn} {incr i} {    set p [$tmp value]    set i1 [expr $i - 1 ]    set starttime($i) [expr $starttime($i1) + $p ]}##number of sequential flow per userset rv0 [new RandomVariable/Empirical]$rv0 loadCDF sflowcdf##flow durationset rv1 [new RandomVariable/Empirical]$rv1 loadCDF flowdurcdffor {set i 2} {$i < $nn} {incr i} {  set q [$rv0 value]  set sflow($i) [expr int($q) ]  puts "node $i has $sflow($i) flow "  set p [$rv1 value]  set dur($i) [expr $p * 60 ]  puts "node $i duration : $dur($i)"}for {set i 2} {$i < $nn} {incr i} {    set flowstoptime($i) [expr $starttime($i) + $dur($i) ]}set ns [new Simulator]for {set i 0} {$i < $nn} {incr i} {set n($i) [$ns node]}set f [open /usr/RAtrace/newout.tr w]$ns trace-all $f$ns duplex-link $n(0) $n(1) 1.5Mb 10ms DropTailfor {set j 2} {$j < $nn} {incr j} {    $ns duplex-link $n(0) $n($j) 10Mb 5ms DropTail}set rv2 [new RandomVariable/Empirical]$rv2 loadCDF ontimecdfset rv3 [new RandomVariable/Empirical]$rv3 loadCDF fratecdffor {set i 2} {$i < $nn} {incr i} {  set s($i) [new Agent/UDP]  $ns attach-agent $n(1) $s($i)  set null($i) [new Agent/Null]  $ns attach-agent $n($i) $null($i)  $ns connect $s($i) $null($i)  set realaudio($i) [new Application/Traffic/RealAudio]  $realaudio($i) set packetSize_ $packetsize  $realaudio($i) set burst_time_ 0.05ms  $realaudio($i) set idle_time_ 1800ms  set flow_rate  [$rv3 value]    set r [ format "%fk"  $flow_rate ]  puts "node $i flow rate $r"  $realaudio($i) set rate_ $r  $realaudio($i) attach-agent $s($i)}for {set i 2} {$i < $nn} {incr i} {      $ns at $starttime($i) "$realaudio($i) start"      $ns at $flowstoptime($i) "$realaudio($i) stop"      puts "node $i starttime $starttime($i)"      puts "node $i stoptime $flowstoptime($i)"        ##schedule for next flow      for {set h 2} {$h <= $sflow($i)} {incr h} {          set starttime($i) [expr $flowstoptime($i) + 0.001 ]          set p [$rv1 value]          set dur($i) [expr $p * 60 ]          puts "node $i duration : $dur($i)"	  set flowstoptime($i) [expr $starttime($i) + $dur($i) ]          set realaudio($i) [new Application/Traffic/RealAudio]          $realaudio($i) set packetSize_ $packetsize          $realaudio($i) set burst_time_ 0.05ms          $realaudio($i) set idle_time_ 1800ms          set flow_rate  [$rv3 value]            set r [ format "%fk"  $flow_rate ]          puts "node $i flow rate $r"          $realaudio($i) set rate_ $r          $realaudio($i) attach-agent $s($i)                }}$ns at $plottime "close $f"$ns at $plottime "finish tg"proc finish file {         #exec rm -f  out.time.tr        #        #	exec awk {		{			if (($1 == "+") && ($3 == 1) ) \			     print $2, $10		}	} /usr/RAtrace/newout.tr > RA.time.tr}$ns runexit 0

⌨️ 快捷键说明

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