?Dear all ns-users, I've read the paper-"Fwd: NS2 EURANE & Evalvid",and I'm tring to run a UMTS tcl script which contains the Rayleigh fading between UE and BS, but when I run it , I always get the error information: "segment fault", I don't know why, and while I change "Ray_3kmh-700m-200s-UEnr1" to "idealtrace" , it can run successfully. Can you help me? the code follows below. Thank you very much! ############################## global ns remove-all-packet-headers add-packet-header MPEG4 MAC_HS RLC LL Mac RTP TCP IP Common Flags
set ns [new Simulator] set f [open out2ue.tr w] #$ns trace-all $f proc finish {} { global ns global f $ns flush-trace close $f puts " Simulation ended." exit 0 } #$ns set debug_ 0 #$ns set hsdschEnabled_ 1 #$ns set hsdsch_rlc_set_ 0 #$ns set hsdsch_rlc_nif_ 0 $ns node-config -UmtsNodeType rnc # Node address is 0. set rnc [$ns create-Umtsnode] $ns node-config -UmtsNodeType bs \ -downlinkBW 32kbs \ -downlinkTTI 10ms \ -uplinkBW 32kbs \ -uplinkTTI 10ms \ -hs_downlinkTTI 2ms \ -hs_downlinkBW 64kbs \ # Node address is 1. set bs [$ns create-Umtsnode] $ns setup-Iub $bs $rnc 622Mbit 622Mbit 15ms 15ms DummyDropTail 2000 $ns node-config -UmtsNodeType ue \ -baseStation $bs \ -radioNetworkController $rnc $bs set X_ 100.0 $bs set Y_ 100.0 $bs set Z_ 0.0 # Node address for ue1 and ue2 is 2 and 3, respectively. set ue1 [$ns create-Umtsnode] set ue2 [$ns create-Umtsnode] $ue1 set X_ 800.0 $ue1 set Y_ 100.0 $ue1 set Z_ 0.0 $ue2 set X_ 100.0 $ue2 set Y_ 400.0 $ue2 set Z_ 0.0 # Node address for sgsn0 and ggsn0 is 4 and 5, respectively. set sgsn0 [$ns node] set ggsn0 [$ns node] # Node address for node1 and node2 is 6 and 7, respectively. set node1 [$ns node] set node2 [$ns node] $ns duplex-link $rnc $sgsn0 622Mbit 0.4ms DropTail 1000 $ns duplex-link $sgsn0 $ggsn0 622MBit 10ms DropTail 1000 $ns duplex-link $ggsn0 $node1 10MBit 15ms DropTail 1000 $ns duplex-link $node1 $node2 10MBit 35ms DropTail 1000 #Routing gateway $rnc add-gateway $sgsn0 #Agent set-up for ue1 set tcp0 [new Agent/TCP] #$tcp0 set windowInit_ 10 #$tcp0 set window_ 16 #$tcp0 set packetSize_ 512 $tcp0 set fid_ 0 $tcp0 set prio_ 2 #Agent set-up for ue2 set tcp1 [new Agent/TCP] $tcp1 set fid_ 1 $tcp1 set prio_ 2 #$ns attach agent to a commonfixed node $ns attach-agent $node2 $tcp0 $ns attach-agent $node2 $tcp1 #Create and connet two applications to their agent set ftp0 [new Application/FTP] $ftp0 attach-agent $tcp0 set ftp1 [new Application/FTP] $ftp1 attach-agent $tcp1 #Create and attach sinks set sink0 [new Agent/TCPSink] $sink0 set fid_ 0 $ns attach-agent $ue1 $sink0 set sink1 [new Agent/TCPSink] $sink1 set fid_ 1 $ns attach-agent $ue2 $sink1 #Connect sinks to TCP agents $ns connect $tcp0 $sink0 $ns connect $tcp1 $sink1 $ns node-config -llType UMTS/RLC/AM \ -downlinkBW 64kbs \ -uplinkBW 64kbs \ -downlinkTTI 20ms \ -uplinkTTI 20ms \ -hs_downlinkTTI 2ms \ -hs_downlinkBW 64kbs #$ns create-hsdsch $ue1 $sink0 #Create HS-DSCH and attach TCP agent for ue1 $ns create-hsdsch $ue1 $sink0 #Attach TCP agent for ue2 to existing HS-DSCH $ns attach-hsdsch $ue2 $sink1 #Loads input tracefiles for each UE, identified by its fid_ #$bs setErrorTrace 0 "UE1 trace file" #$bs setErrorTrace 1 "UE2 trace file" #$bs setErrorTrace 0 "idealtrace" #$bs setErrorTrace 1 "idealtrace" $bs setErrorTrace 0 "Ray_3kmh-700m-200s-UEnr1" $bs setErrorTrace 1 "Ray_3kmh-300m-200s-UEnr1" $bs loadSnrBlerMatrix "SNRBLERMatrix" #set dch0 [$ns create-dch $ue1 $sink0] #Tracing for all HSDPA traffc in downtarget $rnc trace-inlink-tcp $f 0 $bs trace-outlink $f 2 #UE1 Tracing $ue1 trace-inlink $f 2 $ue1 trace-outlink $f 3 $bs trace-inlink $f 3 $ue1 trace-inlink-tcp $f 2 #UE2 Tracing $ue2 trace-inlink $f 2 $ue2 trace-outlink $f 3 $bs trace-inlink $f 4 $ue2 trace-inlink-tcp $f 2 # sample the bottleneck queue every 0.1 sec. store the trace in qm.out #set qmon [$ns monitor-queue $rnc $bs [open qwire.out w] 0.1]; #[$ns link $rnc $bs] queue-sample-timeout; # [$ns link $n2 $n3] start-tracing $ns at 0.0 "$ftp0 start" $ns at 0.002 "$ftp1 start" $ns at 10.1 "$ftp0 stop" $ns at 10.102 "$ftp1 stop" $ns at 10.201 "finish" puts " Simulation is running ... please wait ..." $ns run ####################################