Linux下对NS2项目的仿真分析全过程代码(从tcl脚本-awk文本处理-gnuplot)

来源:互联网 发布:全国省市县数据库 sql 编辑:程序博客网 时间:2024/06/05 18:40

1、编写 tcl 脚本文件,得到 out.tr 以及 out.nam 文件;out.tr文件存储的是仿真得到的数据

运行代码:

创建tcl文件:touch example.tcl (example为文件名) 

或  gedit example.tcl

运行编好的tcl文件:ns example.tcl      得到out.tr文件(用于awk文本分析)


2、用awk语言编写文件处理tcl脚本运行后得到的数据(.tr文件),运行awk文件

运行代码:

创建awk文件:touch example.awk (example为文件名)

或  gedit example.awk

运行编好的awk文件:awk -f example.awk out.tr > result       得到一个输出文件:result(用于画图)


注:在一些复杂的情况下(例如:需要测量在不同数据速率的情况下,系统吞吐量等的性能时),前面两步可以通过写一个脚本来完成:

通过建立一个shell脚本文件得到不同数据发送速率下的平均时延、丢包率、吞吐量等,下面为一个简单的例子。

数据速率从1Kbps-30Kbps得到与上面result类似的数据

#!/bin/shi=1while [ "$i" -le 300 ]; dons realize2.tcl $iawk -f delay.awk rate=$i wired_wireless.tr >> delayawk -f loss.awk rate=$i wired_wireless.tr >> loss_rateawk -f throughtput.awk rate=$i wired_wireless.tr >> throughtputif [ "$i" -le 225 ]; theni=$(($i+20))elif [ "$i" -le 250 ]; theni=$(($i+5))elsei=$(($i+2))fidoneexit 0

得到三个处理后的文件:delay,loss_rate,throughtput

delay文档:每一行表示每一个数据率下,该网络系统的delay

loss_rate文档:每一行表示每一个数据率下,该网络系统的loss_rate

throughtput文档:每一行表示每一个数据率下,该网络系统的throughtput


3、gnuplot   将result数据用图表表示

启动画图工具:source  /etc/profile

                            gnuplot

建立一个.plt文件:里面包含一些画图命令,如下面的例子所示plot.plt

运行:gnuplot>  load 'plot.plt'       //load 命令来运行该plot.plt文件

       注意:运行文件时,要先进入delay,loss_rate,throughtput所在的文件夹内:cd '/home/realize/......'

       注意: gnuplot要求所有文件和目录名用单引号或双引号括起来   

gnuplot可以在提示符下一行行输入代码。另外,也可以把代码存入一个临时文件中,并在提示符下输入load ‘filename’来运行它(别忘记引号),像上面一样。                                                                 

set multiplot     //设置为多图模式set size 0.5,0.5    //设置图的大小set origin 0.0,0.0   //设置第一个图的原点位置set xrange [0:300]   //设置X 坐标的范围set xlabel "data_rate(Kbps)"set ylabel "pkt_delay(s)"plot "delay" with linespoints lw 2 pt 19     //文档名为:delay,将文档中的第一列作为横坐标,第二列作为纵坐标绘图set origin 0.5,0.0   //设置第二个图的原点位置set ylabel "loss_rate(100%)"plot "loss_rate" with linespoints lw 2 pt 19set origin 0.0,0.5   //设置第三个图的原点位置set ylabel "throughtput(Kbps)"plot "throughtput" with linespoints lw 2 pt 19
运行后得到:rate-delay,rate-loss_rate,rate-throughtput仿真图



阅读全文
0 0