skip to main |
skip to sidebar
- 問題:關於六到八章的影像傳輸的轉檔
- 描述:在傳輸影像時,需要將影像從 .yuv 轉為 .m4v 在轉為 .mp4,為什麼需要多次轉檔,而不是直接傳輸。
-------------------------------------------------------------------------------------------------- 問題:創建一個自己的TCL檔
- 描述:在第二和三章,教導如何使用軟體來創造劇本,很快速但感覺功能並不是很足夠,不知道可不可以擴充,另外,後面所使的TCL檔看起來並不是使用軟體產生出來,到底創健一個TCL檔,怎麼樣才可以更快速的上手。
-------------------------------------------------------------------------------------------------- 問題:撰寫C程式來創立NS2元件的除錯方法
- 描述:如題,每當寫完一個C程式後,按照正常程序,放入NS2資料裡,加入.O檔make,再跑模擬,不知道有沒有像 visual c 這樣的程式,可以立即知道,寫的程式碼有無錯誤。
-------------------------------------------------------------------------------------------------- 問題:關於TCL語法中的 " new Simulator "
- 描述:在每個劇本裡,都要設定一個ns,例如:set ns [ new Simulator ],之後再利用ns來做許多設定,關於new的指令,在new Simulator後,ns裡面有什麼,例外Simulator是怎麼來的。
-------------------------------------------------------------------------------------------------- 上面的4個問題,大都關於TCL檔的內容,我認為TCL檔裡面的內容很重要,算是另外一種清楚表達網路構造的方法,所以在這裡提供一個意見。
- 意見:關於TCL檔內的語法可以早一點教,雖然一開始如果教TCL的內容可能會有難度,不過還是希望能夠儘早教到,在之後做各章節作業時,就能夠更清楚網路的架構,也比較容易學到更多TCL的語法與意義。
- 之前隨機數字產生器的程式碼有些問題,後來發現一直使用 srand() 來改變隨機種子會有問題,於是就放在建構子,第一次執行改變隨機種子一次,另外,隨機到0時,會產生錯誤,所以加一點判斷,執行的結果,應該是滿正確的。
802.11- 執行NS,從劇本可以看出,參數"0"是802.11的形式。
- 傳輸品質 ,psnr = 33.582008(跟書上有些微不同,沒有差很多,應該是正常的)。
- 傳輸的延遲時間,等等用來跟802.11e比較(也是和書上有些許誤差,可能是在轉檔時發生的錯誤有關)。
-------------------------------------------------------------------------------------------------802.11e- 執行NS,參數"1"是802.11e的形式,就著就進行影像的傳輸及轉檔。
- 影像品質, psnr = 34.887196(也同樣和課本有些許誤差),有比802.11的傳輸品質還要好一點。
- 傳輸的延遲,跟802.11比較,延遲時間較小,有比較明顯的快速。
範例一
- 先測試兩個需要用到的工具,cbrgen和setdest。
- cbrgen可以產生TCP flow或CBR flow,打入所需要的參數即可產生,測試的例子是有5個節點,連線數為2,種子為1,每秒產生10個封包。
- 這是cbrgen產生出來的劇本,和課本不一樣,課本好像只有一個連線,果然應該是課本貼錯了。

- setdest可以產生隨機節點移動的場景,測試的例子是2個節點,在範圍300m*300m內移動,最大速度為20 m/s,時間為10s。

- 接著來實驗範例一,先利用工具設定劇本,setdest產生的劇本是隨機的,所以產生出來劇本應該也會和課本有所不同,模擬100個無線節點,時間100s,pause time為100s,CBR flow,連線數為10,每條連線每秒送出10個封包。
- 比較三種協定的結果,DSDV比較早收到第一個封包,接收到的封包幾乎都一樣,AODV的延遲時間稍微久了一點,但是總體來說,三種協定的效能都差不多。
-------------------------------------------------------------------------------------------------範例二- 因為cbrgen的設定跟範例一相同,所以直接使用範例一產生出來的劇本,但是無線節點要改為移動式的,範圍也提高到500m*500m,所以要重新產生setdest的劇本。
- 比較三種協定在無線移動節點的效能,DSDV顯然在接收封包跟其他協定差了許多,延遲時間也較多,相較之下,AODV和DSR的效能明顯比較好。
(一)使用課本的設定- 使用threshold小工具來得到環境的設定,距離250m得到 RXThresh = 3.65262e-10。
- 執行 $ns test_2nodes.tcl,當距離為250m時,接收端可以接收到傳送端的資料(傳送125筆->接收125筆)。
但是大於250m後,接收端變接收不到訊號(傳送125筆->接收0筆),下圖為更改的地方。
- 使用threshold小工具來得到環境的設定,距離120m得到 RXThresh = 6.88081e-09。
- 執行 $ns ttest_hidden_terminal.tcl (沒有使用RTS/CTS)。
接收端接收到傳送端的資料:
傳送(node 0) 1688筆->接收(node 1) 153筆
傳送(node 2) 1626筆->接收(node 1) 104筆 - 執行 $ns ttest_hidden_terminal.tcl (有使用RTS/CTS)。
接收端接收到傳送端的資料:
傳送(node 0) 1688筆->接收(node 1) 738筆
傳送(node 2) 1626筆->接收(node 1) 782筆 - 對於隱藏節點,有RTS/CTS效果會較好。
- 使用threshold小工具來得到環境的設定,距離100m得到 RXThresh = 1.42681e-08。
- 執行 $ns test_exposed_terminal.tcl(沒有使用RTS/CTS)。
接收端接收到傳送端的資料:
傳送(node 1) 1688筆->接收(node 0) 925筆
傳送(node 2) 1626筆->接收(node 3) 795筆 - 執行 $ns test_exposed_terminal.tcl (有使用RTS/CTS)。
接收端接收到傳送端的資料:
傳送(node 1) 1688筆->接收(node 0) 828筆
傳送(node 2) 1626筆->接收(node 3) 782筆 - 對於暴露節點,有RTS/CTS效果不會比較好。
-------------------------------------------------------------------------------------------------
(二)不使用課本設定- 我想使用2.4GHz的頻率,所以將程式碼改一下設定重新編譯。
- 當距離120m得到 RXThresh = 1.93659e-09,竟然跟前面不一樣.......@___@。
- 去查看一下原始碼,"lambda"會因為頻率受影響,而當距離過小時,頻率將會受到考慮 (老師改頻率時,天線的長度與傳送功率有一起更改,而我卻沒有,也許是這個原因),來試試看到底哪裡設定錯了.....