#!/bin/bash # YOU SHOULD ADJUST THE PATHS TO YOUR SYSTEM LOCATIONS cd /home/dimitra/Documents/evaluation/video/highway_cif results_path="/home/dimitra/Documents/evaluation/video/highway_cif/result" trash="/home/dimitra/Documents/evaluation/video/highway_cif/trash" #+######################################+# # PRE-PROCESS # chmod +x et_ra ffmpeg.exe fixyuv.exe my_psnr xgraph manyQ.sh #./manyQ.sh 2 31 #-######################################-# #+######################################+# # NS2 PARAMS # start_time=120 #simtime=220 simtime=500 rate_adaptation=false #topology= #adhocRouting=AODV #adhocRouting=AOMDV adhocRouting=DSDV #NS= #gw_discovery=reactive connections=4 #-######################################-# #+######################################+# # NS2 RUN # #mv bwt.TFRC.* delay_* frame_size* gop_size* loss_* video* new_st.txt operation-f.tr $trash #./ns mimo_snr_topo1.tcl > $results_path/ns2_run.txt #./ns mimo_snr_topo1.tcl -start_time $start_time -simtime $simtime -rate_adaptation $rate_adaptation -adhocRouting $adhocRouting -connections $connections > $results_path/ns2_run.txt ./ns mimo_rtps.tcl -start_time $start_time -simtime $simtime -rate_adaptation $rate_adaptation -adhocRouting $adhocRouting -connections $connections > $results_path/ns2_run.txt java -jar traceAnalyzer.jar operation-f.tr > $results_path/traceAnalysis.txt #-######################################-# #+######################################+# # POST-PROCESS # mv operation-f.tr $results_path mv bwt.TFRC* $results_path mv frame_size* $results_path mv gop_size* $results_path mv video* $results_path mv sd* $results_path mv rd* $results_path cd $results_path for (( i=0; i<$connections; i++ )) do .././et_ra sd_be.$i rd_be.$i ../st_highway_cif.yuv_Q2.txt video$i.dat ../highway_cif.yuv_Q 2 31 gop_size$i.dat received$i.m4v $i ffmpeg -i received$i.m4v received$i.yuv .././fixyuv.exe sd_be.$i rd_be.$i new_st.txt received$i.yuv fixed_received$i.yuv > fix_yuv.txt .././my_psnr 352 288 420 ../highway_cif.yuv fixed_received$i.yuv > psnr$i.txt done #XGRAPH echo "title_x= time(sec) title_y= bandwidth(Mbits) title = BANDWIDTH" > f1.txt echo "title_x= frames title_y= psnr(db) title = PSNR" > f2.txt echo "title_x= packet title_y= delay(sec) title = Delay" > f3.txt echo "title_x= packet title_y= Average Delay(sec) title = Delay" > f4.txt echo "title_x= time(sec) title_y= bandwidth(Mbits) title = TOTAL BANDWIDTH" > f5.txt echo "title_x= frames title_y= mos title = MOS" > f6.txt if [ $connections -eq 1 ] then cat bwt.TFRC.0.tr | awk '{n=$1; if((n-120)>=0) print n-120 " " $2}' > bwt.TFRC.0.temp.tr cat bwt.TFRC.0.temp.tr > bwt.TFRC.0.tr cat bwt.TFRC.0.tr > total_band.txt cat rd_be.0 | awk '{n=$1; getline <"sd_be.0"; print $3 " " n-$1}' > delays0.txt cat delays0.txt>delays_avg.txt awk -f mos.awk psnr0.txt > mos0.txt echo "$1 videos..starting xgraph" .././xgraph -color green bwt.TFRC.0.tr -color yellow ../stream_end_time.txt f1.txt .././xgraph total_band.txt -color yellow ../stream_end_time.txt f5.txt .././xgraph -color green psnr0.txt f2.txt .././xgraph -color green mos0.txt f6.txt .././xgraph -color green delays0.txt f3.txt .././xgraph delays_avg.txt f4.txt elif [ $connections -eq 2 ] then cat bwt.TFRC.0.tr | awk '{n=$1; if((n-120)>=0) print n-120 " " $2}' > bwt.TFRC.0.temp.tr cat bwt.TFRC.0.temp.tr > bwt.TFRC.0.tr cat bwt.TFRC.1.tr | awk '{n=$1; if((n-120)>=0) print n-120 " " $2}' > bwt.TFRC.1.temp.tr cat bwt.TFRC.1.temp.tr > bwt.TFRC.1.tr cat bwt.TFRC.0.tr | awk '{n=$2; getline <"bwt.TFRC.1.tr"; print $1 " " n+$2}' > total_band.txt cat rd_be.0 | awk '{n=$1; getline <"sd_be.0"; print $3 " " n-$1}' > delays0.txt cat rd_be.1 | awk '{n=$1; getline <"sd_be.1"; print $3 " " n-$1}' > delays1.txt cat delays0.txt | awk '{n=$2; getline <"delays1.txt"; print $1 " " (n+$2)/2}' > delays_avg.txt awk -f mos.awk psnr0.txt >mos0.txt awk -f mos.awk psnr1.txt >mos1.txt echo "$1 videos..starting xgraph" .././xgraph -color green bwt.TFRC.0.tr -color red bwt.TFRC.1.tr -color yellow ../stream_end_time.txt f1.txt .././xgraph total_band.txt -color yellow ../stream_end_time.txt f5.txt .././xgraph -color green psnr0.txt -color red psnr1.txt f2.txt .././xgraph -color green mos0.txt -color red mos1.txt f6.txt .././xgraph -color green delays0.txt f3.txt -color red delays1.txt f3.txt .././xgraph delays_avg.txt f4.txt elif [ $connections -eq 3 ] then cat bwt.TFRC.0.tr | awk '{n=$1; if((n-120)>=0) print n-120 " " $2}' > bwt.TFRC.0.temp.tr cat bwt.TFRC.0.temp.tr > bwt.TFRC.0.tr cat bwt.TFRC.1.tr | awk '{n=$1; if((n-120)>=0) print n-120 " " $2}' > bwt.TFRC.1.temp.tr cat bwt.TFRC.1.temp.tr > bwt.TFRC.1.tr cat bwt.TFRC.2.tr | awk '{n=$1; if((n-120)>=0) print n-120 " " $2}' > bwt.TFRC.2.temp.tr cat bwt.TFRC.2.temp.tr > bwt.TFRC.2.tr cat bwt.TFRC.0.tr | awk '{n=$2; getline <"bwt.TFRC.1.tr"; print $1 " " n+$2}' > total_band1.txt cat total_band1.txt | awk '{n=$2; getline <"bwt.TFRC.2.tr"; print $1 " " n+$2}' > total_band.txt cat rd_be.0 | awk '{n=$1; getline <"sd_be.0"; print $3 " " n-$1}' > delays0.txt cat rd_be.1 | awk '{n=$1; getline <"sd_be.1"; print $3 " " n-$1}' > delays1.txt cat rd_be.2 | awk '{n=$1; getline <"sd_be.2"; print $3 " " n-$1}' > delays2.txt cat delays0.txt | awk '{n=$2; getline <"delays1.txt"; print $1 " " (n+$2)}' > delays_avg1.txt cat delays_avg1.txt | awk '{n=$2; getline <"delays2.txt"; print $1 " " (n+$2)/3}' > delays_avg.txt awk -f mos.awk psnr0.txt >mos0.txt awk -f mos.awk psnr1.txt >mos1.txt awk -f mos.awk psnr2.txt >mos2.txt echo "$1 videos..starting xgraph" .././xgraph -color green bwt.TFRC.0.tr -color red bwt.TFRC.1.tr -color blue bwt.TFRC.2.tr -color yellow ../stream_end_time.txt f1.txt .././xgraph total_band.txt -color yellow ../stream_end_time.txt f5.txt .././xgraph -color green psnr0.txt -color red psnr1.txt -color blue psnr2.txt f2.txt .././xgraph -color green mos0.txt -color red mos1.txt -color blue mos2.txt f6.txt .././xgraph -color green delays0.txt f3.txt -color red delays1.txt -color blue delays2.txt f3.txt .././xgraph delays_avg.txt f4.txt elif [ $connections -eq 4 ] then cat bwt.TFRC.0.tr | awk '{n=$1; if((n-120)>=0) print n-120 " " $2}' > bwt.TFRC.0.temp.tr cat bwt.TFRC.0.temp.tr > bwt.TFRC.0.tr cat bwt.TFRC.1.tr | awk '{n=$1; if((n-120)>=0) print n-120 " " $2}' > bwt.TFRC.1.temp.tr cat bwt.TFRC.1.temp.tr > bwt.TFRC.1.tr cat bwt.TFRC.2.tr | awk '{n=$1; if((n-120)>=0) print n-120 " " $2}' > bwt.TFRC.2.temp.tr cat bwt.TFRC.2.temp.tr > bwt.TFRC.2.tr cat bwt.TFRC.3.tr | awk '{n=$1; if((n-120)>=0) print n-120 " " $2}' > bwt.TFRC.3.temp.tr cat bwt.TFRC.3.temp.tr > bwt.TFRC.3.tr cat bwt.TFRC.0.tr | awk '{n=$2; getline <"bwt.TFRC.1.tr"; print $1 " " n+$2}' > total_band1.txt cat total_band1.txt | awk '{n=$2; getline <"bwt.TFRC.2.tr"; print $1 " " n+$2}' > total_band2.txt cat total_band2.txt | awk '{n=$2; getline <"bwt.TFRC.3.tr"; print $1 " " n+$2}' > total_band.txt cat rd_be.0 | awk '{n=$1; getline <"sd_be.0"; print $3 " " n-$1}' > delays0.txt cat rd_be.1 | awk '{n=$1; getline <"sd_be.1"; print $3 " " n-$1}' > delays1.txt cat rd_be.2 | awk '{n=$1; getline <"sd_be.2"; print $3 " " n-$1}' > delays2.txt cat rd_be.3 | awk '{n=$1; getline <"sd_be.3"; print $3 " " n-$1}' > delays3.txt cat delays0.txt | awk '{n=$2; getline <"delays1.txt"; print $1 " " (n+$2)}' > delays_avg1.txt cat delays1.txt | awk '{n=$2; getline <"delays2.txt"; print $1 " " (n+$2)}' > delays_avg2.txt cat delays_avg2.txt | awk '{n=$2; getline <"delays3.txt"; print $1 " " (n+$2)/4}' > delays_avg.txt awk -f mos.awk psnr0.txt >mos0.txt awk -f mos.awk psnr1.txt >mos1.txt awk -f mos.awk psnr2.txt >mos2.txt awk -f mos.awk psnr2.txt >mos3.txt echo "$1 videos..starting xgraph" .././xgraph -color green bwt.TFRC.0.tr -color red bwt.TFRC.1.tr -color blue bwt.TFRC.2.tr -color orange bwt.TFRC.3.tr -color yellow ../stream_end_time.txt f1.txt .././xgraph total_band.txt -color yellow ../stream_end_time.txt f5.txt .././xgraph -color green psnr0.txt -color red psnr1.txt -color blue psnr2.txt -color yellow psnr3.txt f2.txt .././xgraph -color green mos0.txt -color red mos1.txt -color blue mos2.txt -color yellow mos3.txt f6.txt .././xgraph -color green delays0.txt -color red delays1.txt -color blue delays2.txt -color yellow delays3.txt f3.txt .././xgraph delays_avg.txt f4.txt fi #-######################################-#