2008年6月27日 星期五

9326259 葉友綸 期末程式

老師給的程式碼是屬於物件形式
因此修改了部份的程式碼寫成C語言
的表達方式,但中間還是有一些bug,
也積極找尋解決方式丙找尋還有哪些
東西還有遺漏因此目前這只能算是半成品

期末程式

NS2技能的自我檢視

問題1.抖動率
描述:一個之前沒聽過的名詞,他對於傳輸會造成怎樣的
影響及它的計算和評估方式

問題2.ffmpeg程式
描述:YUV檔案和m4v的檔案格式是什麼,為何在傳輸的
時候要做轉換

問題3.MP4BOX檔案
描述:為何在又要將影片在轉成mp4格式,那當初的YUV
檔案為何無法直接傳輸,YUV、m4v、mp4這三個檔案
的關係又如何

問題4. DSDV、AODV、DSR
描述:在實驗時的部分,執行的時候後面出現的指令,但不
知道它的真實意

問題5.隱藏節點即暴露節點
描述:為何有這樣的分類兩者、之間的差別,對於傳輸時
造成的影響

2008年6月9日 星期一

實驗十 9326259 葉友綸

1.範例一
100個無線節點,模擬時間為100秒,pause time 設為100秒
,模擬這段時間沒有 mobility 另外設定使用 CBR flow ,最大
連線數目為十條,每一條 flow 送出十個封包

下列為執行方法與結果

DSDV






AODV






DSR






2.範例二
由100個無線節點組成,模擬時間為100秒,pause time 設為 0 秒
,也就是這段時間節點隨時都在移動中,另外使用設定CBR flow,
最大連線數目為十條,每秒送出十個封包

下列為執行方法與結果

DSDV









AODV






DSR




實驗九 9326259 葉友綸

1.先編譯程式






2.設定250公尺為有效傳輸距離



3.TCL模擬程式驗證



4.在250公尺時,模擬結束後會產生傳送端和接收端記錄檔






5.距離改為251時,node 0 和 node 1 因距離過遠,無法成功接收封包









6.隱藏解點問題
使用 threshold.exe 來求出相對應參數






7.執行方式及結果

沒有RTS/CTS時
node1 傳送 1687 筆資料 node 0 接收到 145 筆資料
node2 傳送 1607 筆資料 node 0 接收到 97 筆資料

有RTS/CTS時
node1 傳送 1687 筆資料 node 0 接收到 84 筆資料
node2 傳送 1607 筆資料 node 0 接收到 97 筆資料

......和課本上有些出入



8.暴露節點問題
使用 throshold 來求出相對應的參數






9.執行方式及結果

沒有RTS/CTS時
node1 傳送 1688 筆資料 node 0 接收到 830 筆資料
node2 傳送 1626 筆資料 node 0 接收到 792 筆資料

有RTS/CTS時
node1 傳送 1688 筆資料 node 0 接收到 830 筆資料
node2 傳送 1626 筆資料 node 0 接收到 792 筆資料

......同樣也和課本有些出入

2008年5月22日 星期四

實驗八 9326259 葉友綸

1.使用ffmpge程式去對TUV檔案轉成m4v的檔案



2.轉成m4v檔案後,在使用MP4BOX檔案將影片轉成MP4



3.把影片轉成 mp4 之後,利用 mp4trace 程式將影片中的
每一個 frame 相關資訊擷取出來並放到副檔名為 st 的檔
案中



4.使用 ns 模擬網路效能



5.經由模擬產生的 sd rd 及影片記錄檔 foreman_qcif.st
和 mp4 檔案,經由etmp4程式產生一個有畫面遺失的
mp4影檔。並在使用ffmpeg將重建後的檔案mp4轉成
m4v影片檔



6.使用程式 avgpsnr 去針對 yuv 影片檔及原始 yuv 影片
檔,獲得重建後的 yuv 影片的 PSNR 值大小



7.產生 GOP length 9

實驗七 9326259 葉友綸

1.模擬Lab7並得到 sd及 rd 兩個檔案



2.獲得Verbose_StarWarsIV.st檔即是影片記錄檔



3.使用 et這個程式去進行評估的動作
並可瞭解平均的延遲時間及最大延遲



4.封包延遲








5.畫面延遲





6.封包抖動率





7.畫面抖動率

2008年5月15日 星期四

實驗六 9326259 葉友綸

1.將YUV檔轉成m4v
執行 ./ffmpeg.exe -s qcif -vcodec mpeg4 -r 30 -g 9 -bf 2 -i foreman_qcif.yuv foreman_qcif.m4v



2.轉成m4v之後,使用MP4Box檔案再轉成mp4檔案
./MP4BOX.exe -hint -mtu 1024 -fps 30 -add foreman_qcif.m4v foreman_qcif.mp4
發生問題找不到"msvcr70.dll"
http://www.dll-files.com/dllindex/dll-files.shtml?msvcr70下載
並將檔案放到lab6的資料夾內



執行成功!!!



3.影片轉mp4檔之後,利用mp4trace程式將影片中每一個frame相關資訊取出來,並放到副檔名為st的檔案中



4.使用EXCEL開啟附檔名為st的檔案
但是不懂他所要表達的意思



5.模擬封包的傳送,採用random uniform error model 和 multicast傳送
錯誤率設為0.01 seed為1 最大封包大小為1024bytes
可以觀察到video source 送出659個封包,接收到651個封包
因此可以計算出它的遺失率為:(659 - 651) / 659 = 0.012











6.經由etmp4產生一個有畫面遺失的mp4影片檔(檔名為 foreman_qcife)
並使用ffmpeg程式將mp4檔案重建為yuv影片檔



7.使用avgpsnr程式去針對重建後的yuv及原始yuv,獲得重建後yuv的PSNR值的大小



8.經過比較後左邊影片較清晰