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

📄 measure-jitter.awk

📁 ns2中的trace分析脚本
💻 AWK
字号:
#This program is used to calculate the jitters for CBR

# jitter =((recvtime(j)-sendtime(j))-(recvtime(i)-sendtime(i)))/(j-i),  j > i
 BEGIN {

# Initialization

     highest_packet_id = 0;

}

{

   action = $1;

   time = $2;

   #from = $3;

   #to = $4;

   type = $7;

   pktsize = $8;

   #flow_id = $8;

   src = $10;

   dst = $11;

   #seq_no = $11;

   packet_id = $6;

 

   if ( packet_id > highest_packet_id ) {

           highest_packet_id = packet_id;

        }

 

#Record the transmission time

   if ( start_time[packet_id] == 0 )  {

           # Record the sequence number

           pkt_seqno[packet_id] = seq_no;

           start_time[packet_id] = time;

   }

 

#Record the receiving time for CBR (flow_id=2)

   if ( type=="cbr" && action != "d" ) {

      if ( action == "r" ) {

             end_time[packet_id] = time;

      }

    } else {

      end_time[packet_id] = -1;

   }

}                                                       

END {

        last_seqno = 0;

        last_delay = 0;

        seqno_diff = 0;

 

    for ( packet_id = 0; packet_id <= highest_packet_id; packet_id++ ) {

       start = start_time[packet_id];

       end = end_time[packet_id];

       packet_duration = end - start;

 

       if ( start < end ) {

               seqno_diff = pkt_seqno[packet_id] - last_seqno;

               delay_diff = packet_duration - last_delay;

               if (seqno_diff == 0) {

                       jitter =0;

               } else {

                       jitter = delay_diff/seqno_diff;

               }

               printf("%f %f\n", start, jitter);

               last_seqno = pkt_seqno[packet_id];

               last_delay = packet_duration;

       }

    }

}

⌨️ 快捷键说明

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