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

📄 scen_heterogen.tcl

📁 对IEEE 802.11e里的分布式信道接入算法EDCA进行改进
💻 TCL
字号:
## A wireless lan scenario with audio, video traffic over udp and background# backlogged traffic(TCP, udp)### defaults#set ppktsize 1280				;# pktsize of phone streams#set pinterval 5msset ppktsize 160				;# pktsize of phone streamsset pinterval 20msset vpktsize 1280				;# pktsize of video streamsset vinterval 10msset pktsize 200				;# pktsize for background trafficset udp_interval 12.5ms#set num_nodes [lindex $argv 0]	;#  number of mobilenodes in the scenario  ****lamiasource sources.tclglobal num_nodesset num_bss_nodes 0				;# adhoc modePLevels set max_plevels_	3PLevels set plevels_			3PHY_MIB set CWMin_0				5PHY_MIB set CWOffset_0		0PHY_MIB set CWMax_0		   200           ;#LamiaPHY_MIB set CWMin_1				15PHY_MIB set CWOffset_1		0PHY_MIB set CWMax_1				600                ;#LamiaPHY_MIB set CWMin_2				31PHY_MIB set CWOffset_2		0PHY_MIB set CWMax_2				1023         ;#Lamia# MAC_MIB set new_method 1  ;# ni: difs_i is used as DIFS= SIFS + i* Slot_timeset difs_0 1set difs_1 2set difs_2 3proc create_scenario { } {	global ns_ node_ num_nodes endtime	global pnum ppktsize pinterval 	global vnum vpktsize vinterval udp_interval 	global pktsize	if {$num_nodes > 3} {	set sink_node [expr $num_nodes - 1]	}	set pri 0# real ending time		set endtime 50	set t 0	set fl_id 0	set rng  [new RNG]	$rng uniform 0 1##########################################################	# Setup Phone flows	for {set i 0} {$i <[expr $num_nodes ] } {incr i} {	                  #in oder to get right ARP and correct results, we need to start the simulation after 3 seconds	        #set start_time 3;                #This line is used if we change the station number dynamically		set start_time [expr 3 + $t];    		set  node_src	$i				if {$i < [expr $num_nodes - 1]} {		 set  node_sink	[expr $i +1] 		} else {		  set  node_sink 0		}				if  { $i == 0} {  		  set finishtime  [expr $endtime - 0 ]		} else {		  set finishtime  [expr $endtime - 0 ]		} 				build-cbr $node_($node_src) $node_($node_sink) $ppktsize $pinterval 0 $fl_id $start_time  $finishtime  $pri				puts "P$i with pktsize $ppktsize flows $fl_id from Node$node_src to Node$node_sink every $pinterval"    		puts "node $i flow $fl_id's starting time is: $start_time"		incr fl_id		                # interval is used for every this period we increase one station                  set incr_interval 2 		set t [expr $t + $incr_interval]                #puts "interval is: $incr_interval"	    }		set t 0	incr pri########################################################################################			# Setup Video flows	for {set i 0} {$i < [expr $num_nodes]} {incr i} {                		set start_time [expr 3 + $t];			        set  node_src	$i			        if {$i < [expr $num_nodes - 1]} {		 set  node_sink	[expr $i +1] 		} else {		  set  node_sink 0		}				if  { $i == 0} {  		  set finishtime  [expr $endtime - 0 ]		} else {		  set finishtime  [expr $endtime - 0 ]		} 				build-cbr $node_($node_src) $node_($node_sink) $vpktsize $vinterval 0 $fl_id $start_time  $finishtime $pri				puts "V$i with pktsize $vpktsize flows $fl_id  from Node$i to Node $node_sink every $vinterval"    		puts $start_time		incr fl_id			        set incr_interval 2 		set t [expr $t + $incr_interval]	}	  set t 0  incr pri }

⌨️ 快捷键说明

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