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

📄 test-rcvr.tcl

📁 对IEEE 802.11e里的分布式信道接入算法EDCA进行改进
💻 TCL
字号:
## Copyright (c) Xerox Corporation 1997. All rights reserved.## License is granted to copy, to use, and to make and to use derivative# works for research and evaluation purposes, provided that Xerox is# acknowledged in all documentation pertaining to any such copy or# derivative work. Xerox grants no other licenses expressed or# implied. The Xerox trade name should not be used in any advertising# without its written permission. ## XEROX CORPORATION MAKES NO REPRESENTATIONS CONCERNING EITHER THE# MERCHANTABILITY OF THIS SOFTWARE OR THE SUITABILITY OF THIS SOFTWARE# FOR ANY PARTICULAR PURPOSE.  The software is provided "as is" without# express or implied warranty of any kind.## These notices must be retained in any copies of any part of this# software. ##@(#) $Header: /nfs/jade/vint/CVSROOT/ns-2/tcl/ex/test-rcvr.tcl,v 1.3 1999/07/02 01:49:44 tomh Exp $#This script demonstrates support for two different delay-adaptive receiver types,#namely the vat-receiver adaptation algorithm and a conservative adapatation #algotrithm (that tries to achieve low jitter at the expense of high playback delay)#IT creates a simple 2 node topology with a link capacity of 2.0Mb.#The background traffic on the link comprises of an aggregrate of 40 expo on/off #sources with peak rate of 80K and on/off time of 500ms#The experimental traffic constitutes a single expo on/off source with a peak rate #of 80k and on/offtime of 500msset sources 40set rcvrType VatRcvrset bw 2.0Mb#propagation delayset delay 0.01ms#simulation timeset runtime 100   #pick up a random seedset seed 1973272912set bgsrcType exposet out [open out.tr w]set rate 80kset btime 500ms set itime 500ms#set up a queue limit so that no packets are droppedQueue set limit_ 1000000set rcvrType [lindex $argv 0]if { ($rcvrType != "VatRcvr") && ($rcvrType != "ConsRcvr") } {	puts "Usage : ns test.rcvr.tcl <rcvrtype>"	puts "<rcvrtype> = \"VatRcvr\" | \"ConsRcvr\" "	exit 1} #puts stderr $outns-random $seed$defaultRNG seed $seedAgent instproc print-delay-stats {sndtime now plytime } {	global out	puts $out "$sndtime $now $plytime"	flush $out}Simulator instproc create-receiver {node rcvrType} {    set v [new Agent/$rcvrType]    $self attach-agent $node $v    return $v}Simulator instproc create-sender {node rate rcvr fid sndType } {	global runtime btime itime	set s [new Agent/UDP]	$self attach-agent $node $s	#Create exp on/off source	if { $sndType == "expo" } {		set tr [new Application/Traffic/Exponential]		$tr set packetSize_ 200		$tr set burst_time_ $btime		$tr set idle_time_ $itime		$tr set rate_ $rate	} else {    		#create victrace source		set tfile [new Tracefile]		$tfile filename "vic.32.200"		set tr [new Application/Traffic/Trace]		$tr attach-tracefile $tfile	}		$tr attach-agent $s	$s set fid_ $fid		$self connect $s $rcvr	$self at [expr double([ns-random] % 10000000) / 1e7]  "$tr start"	$self at $runtime "$tr stop"}proc finish {} {	global env rcvrType	set f [open temp.rands w]	puts $f "TitleText: $rcvrType"	puts $f "Device: Postscript"	exec rm -f temp.p1 temp.p2	exec awk {		{		print $2,$2-$1		}	} out.tr > temp.p1	exec awk {		{		print $2,$3-$1		}	} out.tr > temp.p2	puts $f [format "\n\"Network Delay"]	flush $f	exec cat temp.p1 >@ $f	flush $f	puts $f [format "\n\"Network+Playback Delay"]	flush $f	exec cat temp.p2 >@ $f	flush $f	close $f		exec rm -f temp.p1 temp.p2	exec xgraph -display $env(DISPLAY) -bb -tk -nl -m -x simtime -y delay temp.rands &	exec rm -f out.tr	exit 0} set ns [new Simulator]set n1 [$ns node]set n2 [$ns node]$ns duplex-link $n1 $n2 $bw $delay DropTailset v0 [$ns create-receiver $n2 $rcvrType]set v2 [new Agent/Null]$ns attach-agent $n2 $v2set i 0while { $i < $sources } {    $ns create-sender $n1 $rate $v2 0 $bgsrcType    incr i}$ns create-sender $n1 $rate $v0 0 expo$ns at [expr $runtime+1] "finish"$ns run

⌨️ 快捷键说明

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