Yes, plz see the following awk scripts that calcualate the following 
  6.1             Performance Metrics Used
  6.3.1   Routing Overhead
  6.3.2    Normalize Routing Load
  6.3.3    Packet Delivery Fraction 
  6.3.4    Average End to End delay
  6.3.5   Jitter 
  6.3.6   Drop Packets
  6.3.7   Drop Bytes
  6.3.8   Throughput
  ============================== jitter.awk ============================
  BEGIN {
       num_recv=0
 }
  {
 # Trace line format: normal
 if ($2 != "-t") {
  event = $1
  time = $2
  if (event == "+" || event == "-") node_id = $3
  if (event == "r" || event == "d") node_id = $4
  flow_id = $8
  pkt_id = $12
  pkt_size = $6
  flow_t = $5
  level = "AGT"
 }
 # Trace line format: new
 if ($2 == "-t") {
  event = $1
  time = $3
  node_id = $5
  flow_id = $39
  pkt_id = $41
  pkt_size = $37
  flow_t = $45
  level = $19
 }
   # Store packets send time
 if (level == "AGT" && sendTime[pkt_id] == 0 && (event == "+" || event == "s") 
&& pkt_size >= 512) {
  sendTime[pkt_id] = time
 }
   # Store packets arrival time
 if (level == "AGT" && event == "r" && pkt_size >= 512) {
  recvTime[pkt_id] = time
  num_recv++
 }
}
  END {
 # Compute average jitter
 jitter1 = jitter2 = tmp_recv = 0
 prev_time = delay = prev_delay = processed = 0
 prev_delay = -1
 for (i=0; processed<num_recv; i++) {
  if(recvTime[i] != 0) {
          tmp_recv++
   if(prev_time != 0) {
    delay = recvTime[i] - prev_time
    e2eDelay = recvTime[i] - sendTime[i]
    if(delay < 0) delay = 0
    if(prev_delay != -1) {
     jitter1 += abs(e2eDelay - prev_e2eDelay)
     jitter2 += abs(delay-prev_delay)
    }
    prev_delay = delay
    prev_e2eDelay = e2eDelay
   }
   prev_time = recvTime[i]
  }
  processed++
 }
}
  END {
    
       printf("Jitter1 = %.2f\n",jitter1*1000/tmp_recv);
       printf("Jitter2 = %.2f\n",jitter2*1000/tmp_recv);
}
  function abs(value) {
 if (value < 0) value = 0-value
 return value
}

   
   
   
   
   
   
   
   
   
   
   
  ==============================throughput.awk ========================
  BEGIN {
 recvdSize = 0
 startTime = 1e6
 stopTime = 0
}
  {
 # Trace line format: normal
 if ($2 != "-t") {
  event = $1
  time = $2
  if (event == "+" || event == "-") node_id = $3
  if (event == "r" || event == "d") node_id = $4
  flow_id = $8
  pkt_id = $12
  pkt_size = $6
  flow_t = $5
  level = "AGT"
 }
 # Trace line format: new
 if ($2 == "-t") {
  event = $1
  time = $3
  node_id = $5
  flow_id = $39
  pkt_id = $41
  pkt_size = $37
  flow_t = $45
  level = $19
 }
   # Store start time
 if (level == "AGT" && (event == "+" || event == "s") && pkt_size >= 512) {
  if (time < startTime) {
   startTime = time
  }
 }
   # Update total received packets' size and store packets arrival time
 if (level == "AGT" && event == "r" && pkt_size >= 512) {
  if (time > stopTime) {
   stopTime = time
  }
  # Rip off the header
  hdr_size = pkt_size % 512
  pkt_size -= hdr_size
  # Store received packet's size
  recvdSize += pkt_size
 }
  }
  END {
 printf("Average Throughput[kbps] = %.2f\t\t 
StartTime=%.2f\tStopTime=%.2f\n",(recvdSize/(stopTime-startTime))*(8/1000),startTime,stopTime)
}
   
   
   
   
   
   
   
   
   
   
   
   
   
  ============================= parameters.awk ========================
  BEGIN {
 sends=0;
 recvs=0;
 routing_packets=0.0;
 droppedBytes=0;
 droppedPackets=0;
 highest_packet_id =0;
 sum=0;
 recvnum=0;
   }
  {
 time = $3;
 packet_id = $41;
   #============= CALCULATE PACKET DELIVERY  FRACTION=================
 if (( $1 == "s") &&  ( $35 == "cbr" ) && ( $19=="AGT" ))   {  sends++; }
 if (( $1 == "r") &&  ( $35 == "cbr" ) && ( $19=="AGT" ))   {  recvs++; }
   #============= CALCULATE DELAY     ================================
 if ( start_time[packet_id] == 0 )  start_time[packet_id] = time;
 if (( $1 == "r") &&  ( $35 == "cbr" ) && ( $19=="AGT" )) {  
end_time[packet_id] = time;  }
 else {  end_time[packet_id] = -1;  }
   #============= TOTAL DSR OVERHEAD  ================================
 if (($1 == "s" || $1 == "f") && $19 == "RTR" && $35 =="DSR") routing_packets++;
   #============= DROPPED DSR PACKETS ================================
 if (( $1 == "d" ) && ( $35 == "cbr" )  && ( $3 > 0 ))
 {
  droppedBytes=droppedBytes+$37;
  droppedPackets=droppedPackets+1;
 }
    #find the number of packets in the simulation
        if (packet_id > highest_packet_id)
  highest_packet_id = packet_id;
}
  END {
  for ( i in end_time )
 {
 start = start_time[i];
 end = end_time[i];
 packet_duration = end - start;
 if ( packet_duration > 0 )  { sum += packet_duration; recvnum++; }
 }
     delay=sum/recvnum;
   NRL = routing_packets/recvs;     #normalized routing load = routing load but 
it differ from routing overhead
   PDF = (recvs/sends)*100;         #packet delivery ratio[fraction]
   printf("send = %.2f\n",sends);
   printf("recv = %.2f\n",recvs);
   printf("routingpkts = %.2f\n",routing_packets++);
   printf("PDF = %.2f\n",PDF);
   printf("NRL = %.2f\n",NRL);
   printf("Average e-e delay(ms)= %.2f\n",delay*1000);
   printf("No. of dropped data (packets) = %d\n",droppedPackets);
   printf("No. of dropped data (bytes)   = %d\n",droppedBytes);
   printf("Packet Loss [%]= %.2f  \n", 
(droppedPackets/(highest_packet_id+1))*100);
}
=========================== end ========================
Mohammed AbuHajar
  Master of Computer Science
  
manpreet grewal <[EMAIL PROTECTED]> wrote:
  


Note: Forwarded message attached

-- Original Message --

From: "manpreet grewal" 
To: [EMAIL PROTECTED]
Subject: plot offered load vs. throughput in NS2
From: "manpreet grewal" <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Subject: plot offered load vs. throughput in NS2


Hello Sir,
I read your problem in ns-users list..
I also want to calculate some results..

If you could tell me the formulas which can be used to 
calculate
different parameters like
Squared-sum-Routing level,
Load variance-routing level,
Squared sum-MAC level,Laod
variance-MAC level,
End-to-end delay,
throughput(in kbps),
Routing Overhead,offered load.
or some references to them, it will be very helpful to me..

If you have calculated any one of the above parameters do help
me...
May be we can help each other in our projects..

Looking for your positive reply..

Regards,
Manpreet Kaur Grewal.



       
---------------------------------
Park yourself in front of a world of choices in alternative vehicles.
Visit the Yahoo! Auto Green Center.

Reply via email to