版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、Opnet Modeler 快速入門 馬駿 Day1 主要內(nèi)容:主要內(nèi)容: 一、網(wǎng)絡仿真簡介 二、OPNET Modeler 仿真平臺簡介 三、OPNET Modeler安裝 四、OPNET Modeler 原理 五、實例講解配置一個簡單的網(wǎng)絡 六、模塊間通信機制基于包的通信 七、實例講解創(chuàng)建一個包交換網(wǎng)絡 八、實例講解創(chuàng)建一個移動無線網(wǎng)絡 主要內(nèi)容:主要內(nèi)容: 一、網(wǎng)絡仿真簡介一、網(wǎng)絡仿真簡介 二、OPNET Modeler 仿真平臺簡介 三、OPNET Modeler安裝 四、OPNET Modeler 原理 五、實例講解配置一個簡單的網(wǎng)絡 六、模塊間通信機制基于包的通信 七、實例講解創(chuàng)建
2、一個包交換網(wǎng)絡 八、實例講解創(chuàng)建一個移動無線網(wǎng)絡 一、網(wǎng)絡仿真簡介一、網(wǎng)絡仿真簡介 1.1.網(wǎng)絡仿真的目的:網(wǎng)絡仿真的目的: n在建設網(wǎng)絡,開展網(wǎng)絡業(yè)務之前需要對配置的網(wǎng) 絡設備、所采用的網(wǎng)絡技術、承載的網(wǎng)絡業(yè)務等 方面的投資進行綜合分析和評估,提出性能價格 比最優(yōu)的解決方案。 n構建新網(wǎng)絡,升級改造現(xiàn)有網(wǎng)絡,或者測試新協(xié) 議,都需要對網(wǎng)絡的可靠性和有效性進行客觀地 評估,從而降低網(wǎng)絡建設的投資風險,使設計的 網(wǎng)絡有很高的性能,或者使測試結(jié)果能夠真實反 映新協(xié)議的表現(xiàn)。 網(wǎng)絡性能網(wǎng)絡性能 瓶頸瓶頸 服務器服務器 處理速度不高處理速度不高 網(wǎng)絡帶寬網(wǎng)絡帶寬 不夠不夠 業(yè)務過于業(yè)務過于 繁重繁重
3、2.2.網(wǎng)絡仿真的優(yōu)點網(wǎng)絡仿真的優(yōu)點 n網(wǎng)絡的規(guī)劃設計提供客觀、可靠的定量依據(jù)網(wǎng)絡的規(guī)劃設計提供客觀、可靠的定量依據(jù) n縮短網(wǎng)絡建設周期縮短網(wǎng)絡建設周期 n提高網(wǎng)絡建設中決策的科學性提高網(wǎng)絡建設中決策的科學性 END 主要內(nèi)容:主要內(nèi)容: 一、網(wǎng)絡仿真簡介 二、二、OPNET Modeler 仿真平臺簡介仿真平臺簡介 三、OPNET Modeler安裝 四、OPNET Modeler 原理 五、實例講解配置一個簡單的網(wǎng)絡 六、模塊間通信機制基于包的通信 七、實例講解創(chuàng)建一個包交換網(wǎng)絡 八、實例講解創(chuàng)建一個移動無線網(wǎng)絡 二、二、OPNET Modeler 仿真平臺簡介 nOPNET 最早是在19
4、86 年由麻省理工大學的兩個博士創(chuàng)建的, 并發(fā)現(xiàn)網(wǎng)絡模擬非常有價值,因此于1987 年建立了商業(yè)化 的OPNET。 n目前共有大概2700 個OPNET 用戶,包括企業(yè)、網(wǎng)絡運營商、 儀器配備廠商,以及軍事、教育、銀行、保險等領域。 n設備制造領域,企業(yè)界如Cisco,運營商如AT Packet* pkptr; FIN(route_pk(); pkptr = op_pk_get (op_intrpt_strm (); op_pk_nfd_get (pkptr, dest_address, op_pk_send (pkptr, dest_address); 真正有效的代碼是在FIN(route_
5、pk()之后。第一句用來從合適的輸入流(輸 入流索引通過核心函數(shù)op_intrpt_strm 得到)中取得包(op_pk_get)。第 二句代碼析取包中的目的域,它含有包的目的地址。前面提過,這里的目的 地址實際上是輸出流索引,它對應發(fā)往目的節(jié)點的收信機,而最后一句代碼 將包發(fā)送給相應的收信機。 (13)從File 菜單中選擇Save。 說明 執(zhí)行 動作 op_intrpt_strm:獲取中斷流索引 op_pk_get:獲取包流指針 然后,需要更改進程的屬性: (14)從Interfaces 菜單中選擇Process Interfaces。 (15)把begsim intrpt 屬性的初識值改
6、為enabled。 (16)在Process Model的file下拉菜單Declare External Files, 把Link_delay右邊的狀態(tài)改為included。 (17)單擊OK 按鈕,保存更改。 接下來,你需要編譯模塊: (18)單擊編譯進程模型按鈕。 (19)從File 菜單中選擇Close,關閉進程模型編輯器。 最后,需要將編譯好的進程模型指定給節(jié)點模型: (20) Node Model里的在hub 模塊上單擊鼠標右鍵,從彈出的菜單中選 擇Edit Attributes,將process model的屬性值改為dest_pksw_hub_proc。 (21)單擊OK 按鈕
7、關閉屬性對話框。 (22)保存節(jié)點模型。 創(chuàng)建周邊節(jié)點模型創(chuàng)建周邊節(jié)點模型 功能需求:功能需求: 當周邊節(jié)點生成一個包時,它必須給這個包指定一個目的地址,然后將它發(fā) 往中心節(jié)點。如果周邊節(jié)點接收到一個包時,它必須計算該包的端對端延時。 因此周邊節(jié)點必須包括一個業(yè)務生成模塊、一個進程模塊和一對點對點收發(fā) 信機來完成這些任務。 要創(chuàng)建周邊節(jié)點模型: (1)在剛剛保存過hub 節(jié)點模型編輯器中的Edit 的菜單下選擇Clear Model。 這時編輯器工作空間被清空。 (2)按圖所示放置并命名模塊。 周邊節(jié)點模型包含的模塊 (3)在src 模塊上單擊鼠標右鍵,從彈出的菜單中選擇Edit Attrib
8、utes, 將process model屬性值改為simple_source,然后單擊OK 關閉屬性對話框。 (4)按下列方向建立包流:rcvproc;procxmt;srcproc。 在proc 進程模塊上單擊鼠標右鍵,在彈出的菜單中選擇Show Connectivity,查看 包流分配表,如圖 為了運行參數(shù)化仿真,需要將業(yè)務的Packet Interarrival Time 屬性提升屬性提升。當提升 了屬性后,就可以在仿真運行時很容易地改變了。 (5)在src 模塊上單擊鼠標右鍵,從彈出地菜單中選擇Edit Attribute。 (6)在屬性表中,選中左邊一欄的Packet Interar
9、rival Time(這時該屬性變成 藍色),然后單擊Promote 按鈕。這樣就提升了屬性,可以在仿真屬性中設置 它的值。 同時希望業(yè)務生成模塊能夠產(chǎn)生前面定義的包格式: (7)單擊Packet Format 屬性對應的右邊Value 欄,將它更改為 dest_pksw_format。 (8)參考圖,確定你的設置正確,然后單擊OK 關閉屬性對話框。 src 進程模塊屬性 接下來,需要改變收發(fā)信機的信道速率和支持的包格式,以匹配指定的 鏈路模型。我們采取和前面類似的操作。 接下來你需要定義收發(fā)機模型屬性: (9)住shift 鍵,依次以鼠標左鍵單擊收信機和發(fā)信機。注意不要選中包流。 (10)在
10、其中一個收信機或收發(fā)信機模塊上單擊鼠標右鍵,從彈出的菜單中 選擇Edit Attributes。 (11)單擊channel 屬性右邊的value 欄,在彈出的信道屬性表中將data rate 設置為9600. (12)單擊packet formats 欄,在彈出的對話框中單擊“Supports All Packet Formats”和“Supports Unformatted Packets”復選框,關掉所有默認 支持的格式,然后找到dest_pksw_format 包格式,將它屬性改為supported。 單擊OK 關閉對話框。 (13)確定數(shù)據(jù)率和支持的包格式正確設置,然后單擊OK 關閉
11、對話框。 (14)需要將以上的設置改變對所有選中的對象起作用,單擊Apply changes to selected objects 復選框,然后單擊OK 按鈕。 接下來你需要定義節(jié)點模型的界面屬性: (15)Interfaces 菜單中選擇Node Interfaces出現(xiàn)節(jié)點界面對話框。 (16)找到支持的節(jié)點類型屬性表,除了fixed 外的節(jié)點類型對應的 Supported 屬性設置為no,表明該節(jié)點只能作為固定節(jié)點。 屬性重命名屬性重命名 屬性重命名可以簡化復雜的屬性名稱,或者擴展過于簡化的名稱。 當某個屬性是由底層提升得來的,它的名稱就會變得很冗長而且沒有意義, 這時可能需要把它的名
12、稱簡化。本例程將為包到達間隔屬性重新命名。 (17)Node Interfaces 對話框中選擇Rename/Merge按鈕。 (18)在Unmodified Attributes 欄中找到要更名的屬性src.Packet Interarrival Time,然后單擊按鈕 (19)在Promotion Name 文本欄中中輸入新的名字source interarrival time,如圖所示。 原屬性名與重命名后的屬性名 (20)單擊OK 關閉重命名對話框。 你可以指定一系列預定值給某個屬性,這樣屬性的設置可以通過界面 來選擇,這將給用戶提供方便。 為屬性指定預定值有下面幾個好處: n限制屬性
13、取值的范圍。 n用戶可以直觀地根據(jù)預定值的名稱來選擇相應的參數(shù)。 n用戶不需要輸入具體值,從下拉列表中選擇即可。 (21)在Node Interfaces 對話框中,選擇新命名的source interarrival time 屬性,這時左邊的Edit Properties 按鈕被激活,單擊它。 這時出現(xiàn)Attribute:source interarrival time 對話框。 (22)在Symbol Map 表中,將所有Symbol 對應的Status 變?yōu)閟uppress。 (23)如圖所示增加4 個符號與值的映射項。 符號與屬性真實值的映射表 隱藏屬性可以避免用戶看到不需要設置參數(shù)的
14、屬性項,從而能夠簡化用戶 界面。這個操作不會影響仿真結(jié)果。 周邊節(jié)點的許多屬性與仿真無關。為了避免混淆,需要隱藏這些屬性: (24)如圖所示除了source interarrival time 外的所有屬性的Status 改為hidden。 屬性狀態(tài)表 (25)單擊OK 按鈕關閉節(jié)點界面對話框。 (26)從File 菜單中選擇Save As,將節(jié)點模型命名為dest_pksw_node,然后關 閉節(jié)點模型編輯器。 創(chuàng)建周邊節(jié)點的處理進程模塊創(chuàng)建周邊節(jié)點的處理進程模塊 功能:(功能:(1)為包分配目的地址并且發(fā)送出去。)為包分配目的地址并且發(fā)送出去。 (2)計算包的端對端延時。)計算包的端對端延
15、時。 為了完成以上的任務,進程模型需要設置兩個狀態(tài):一個初試化initial 狀 態(tài),一個idle狀態(tài)。 創(chuàng)建進程模型: (1)從File 菜單中選擇New,從彈出的菜單中選擇Process Model,單 擊OK 按鈕。 (2)如圖 所示在編輯窗口中放置兩個狀態(tài): 進程模型包含兩個狀態(tài) (3)改變狀態(tài)的屬性: 在第一個狀態(tài)上單擊鼠標右鍵,在彈出的菜單中選擇Set name 將其 改名為init,并且選擇Make State Unforced 使其變?yōu)閺娭频模╢orced), 這時狀態(tài)顏色變?yōu)榫G色。 將第二個狀態(tài)更名為idle。(保持它為紅色的非強制unforced 狀態(tài)), 如圖所示。 狀態(tài)
16、命名后的進程模型 下一步,需要為狀態(tài)創(chuàng)建轉(zhuǎn)移線。 (1)如圖所指定狀態(tài)轉(zhuǎn)移以及條件滿足所執(zhí)行的函數(shù)。 xmt()轉(zhuǎn)移執(zhí)行函數(shù)產(chǎn)生將調(diào)用概率函數(shù)隨即產(chǎn)生目的地址,并將其分配 給來自業(yè)務生成模塊的包,然后再將它發(fā)送出去。 rcv()轉(zhuǎn)移執(zhí)行函數(shù)作用是在接收到包是計算其端對端延時,并且將結(jié)果寫 入全局統(tǒng)計量。 加入狀態(tài)轉(zhuǎn)移的進程模型 (2)單擊編輯頭塊按鈕定義轉(zhuǎn)移條件。 (3)輸入以下代碼: /* 包流定義 */ #define RCV_IN_STRM 0 #define SRC_IN_STRM 1 #define XMT_OUT_STRM 0 /* 條件宏定義 */ #define SRC_ARR
17、VL (op_intrpt_type () = OPC_INTRPT_STRM ete_gsh = op_stat_reg(ETE Delay,OPC_STAT_INDEX_NONE, OPC_STAT_GLOBAL); (8)從File 菜單中選擇Save 保存代碼. 進程模型將加載一個從03 的均勻分布概率函數(shù)。 xmt()轉(zhuǎn)移執(zhí)行函數(shù)當SRC_ARRVL 條件滿足時(即包從業(yè)務生成模塊到達 proc 模塊)才執(zhí)行。該函數(shù)在將包發(fā)送之前要為它分配一個目的地址。 (9)在函數(shù)塊中 ,輸入以下代碼: 狀態(tài)變量必須在狀態(tài)變量必須在 initial state里初始化里初始化 static voi
18、d xmt (void) Packet* pkptr; FIN (xmt(); pkptr = op_pk_get (SRC_IN_STRM); op_pk_nfd_set_int32 (pkptr, “dest_address”, (int)op_dist_outcome (address_dist); op_pk_send (pkptr, XMT_OUT_STRM); FOUT; 第一行代碼從包流的輸入流索引號(SRC_IN_STRM)獲取數(shù)據(jù)包。第二行 代碼通過調(diào)用均勻概率分布函數(shù)指針(address_dist,它在init 狀態(tài)中定義) 而產(chǎn)生一個隨機值,將該值設置為包的dest_ad
19、dress域(請參考前面的包 格式定義)。 最后一句從包流的輸出流索引號(XMT_OUT_STRM)將包發(fā)送出去。 rcv()轉(zhuǎn)移執(zhí)行函數(shù)當RCV_ARRVL 條件滿足(即包從收信機到達proc 模 塊)時執(zhí)行。 主要目的是計算端對端延時并寫入全局統(tǒng)計探針。 (10)在函數(shù)塊中輸入以下代碼: static void rcv (void) Packet* pkptr; double ete_delay; FIN (rcv(); pkptr = op_pk_get (RCV_IN_STRM); ete_delay = op_sim_time() op_pk_creation_time_get (p
20、kptr); op_stat_write (ete_gsh, ete_delay); op_pk_destroy (pkptr); FOUT; 第7 行代碼獲取包指針(如前所述)。第二行代碼通過將當前仿真時間減去包 的創(chuàng)建時間得到包的端對端延時。第9 行代碼將計算的延時寫入矢量結(jié)果文件 中,第10 行代碼最后銷毀包。 (5)從File 菜單中選擇Save 關閉函數(shù)編輯器。 (6)在進程編輯器的file下拉菜單Declare External Files,把Link_delay右 邊的狀態(tài)改為included 還需要激活“仿真開始”中斷: (1)在Interfaces 菜單中選擇Process
21、Interfaces,從Process Interfaces 對話框中,將begsim intrpt 屬性變改為enabled。 (2)在comment 文本框中加入進程描述。單擊OK 關閉對話框。 創(chuàng)建網(wǎng)絡模型創(chuàng)建網(wǎng)絡模型 現(xiàn)在你已經(jīng)建好了底層的節(jié)點、進程和鏈路模型,依據(jù)層次化建模的思想, 現(xiàn)在可以構建網(wǎng)絡模型了。回想一下,我們開始的網(wǎng)絡拓撲結(jié)構包括一個中 心交換(hub)節(jié)點和四個周邊節(jié)點。 (1)從OPNET Modeler 主窗口中的File 菜單中選擇New.,從下拉列表中選 擇Project,然后單擊OK。 (2)Project Name 命名為dest_pksw_net,將Sce
22、nario 命名為baseline,單 擊OK按鈕。 (3)這時出現(xiàn)網(wǎng)絡建立向?qū)?,單擊Quit。 將自己指定網(wǎng)絡規(guī)格,這時需要從一個對象模板中選擇。 首先需要創(chuàng)建一個對象模板,它包含你需要用到的模塊。 (1)單擊打開對象模板工具按鈕。 (2)在彈出的對話框中單擊配置模板按鈕(Configure Palette.) (3)在Configure Palette 對話框中,單擊Clear 按鈕,然后單擊Node Models 按鈕。 (4)找到dest_pksw_hub 和dest_pksw_node 節(jié)點模型并單擊右邊的Status 欄使其變?yōu)閕ncluded。然后單擊OK。 (5)在Config
23、ure Palette 對話框中,單擊Link Models 按鈕。 (6)找到dest_pksw_link 并包括include 該鏈路模型。單擊OK。 (7)在Configure Palette 對話框中,單擊OK 按鈕,將模板命名為dest_ pksw_palette,如圖所示。 對象模板 現(xiàn)在準備構建網(wǎng)絡了。 (1)在項目編輯窗口中放置一個subnet 模型并命名為pksw1。 (2)雙擊這個子網(wǎng)模塊進入它的內(nèi)部。 (3)放置四個周邊節(jié)點對象dest_pksw_node。 (4)放置一個中心節(jié)點對象dest_pksw_hub,并將該節(jié)點命名為hub。 (5)單擊模板中的鏈路對象dest
24、_pksw_link, 依次(node_0,node_1,node_2,node_3)連接四個周邊和hub 節(jié)點,如 圖所示 在網(wǎng)絡模型中添加鏈路對象 在保存項目之前,最好驗證鏈路的連接是否正確: (1)單擊驗證連接工具按鈕。 (2)選中Verify links,單擊OK 按鈕,如圖所示。 (3)如果某個鏈路上出現(xiàn)紅色的叉,如圖所示,則鏈路不通。 驗證連接對話框 鏈路不通的情形 在驗證連接對話框中單擊Choose transceivers for selected links, 這時紅色的叉消失,但并不代表問題已經(jīng)解決,只不過把連通失敗 鏈路的連接屬性置為空,如圖 鏈路屬性 必須重新選擇連接的
25、收發(fā)信機(必要時調(diào)整收發(fā)信機屬性使它們和鏈路匹配)直 到再次單擊Verify links 驗證鏈路連通性紅叉消失。 收發(fā)信機和鏈路屬性收發(fā)信機和鏈路屬性( (包格式、數(shù)據(jù)率等包格式、數(shù)據(jù)率等) )必須和鏈路的相應屬性匹配才能夠使必須和鏈路的相應屬性匹配才能夠使 鏈路連通。鏈路連通。 收集統(tǒng)計量并分析結(jié)果收集統(tǒng)計量并分析結(jié)果 已經(jīng)建好了所有模型,現(xiàn)在可以開始仿真網(wǎng)絡行為。 對于這個例子,為了觀察不同包的產(chǎn)生速率對網(wǎng)絡性能的影響,需要在仿真 編輯器中為相應的仿真屬性配置多個值,這時一次會運行一系列仿真,每個 仿真結(jié)果對應屬性的一個取值。 promote 完成的功能 選擇要收集的結(jié)果: (1)在工程
26、窗口的空白處(任意位置)單擊鼠標右鍵,從彈出的菜單中選 擇Choose Individual DES Statistics。 (2)打開Global Statistics 列表,選中ETE Delay,單擊OK 關閉對話框, 如圖所示。 選擇全局結(jié)果統(tǒng)計量 這是在周邊節(jié)點中的處理模塊定義過的全局統(tǒng)計探針。 (3)在node_0 與hub 間的鏈路上單擊鼠標右鍵,從彈出的菜單中選擇 Choose Individual DES Statistics。 (4)打開point-to-point 列表,選中上行和下行鏈路利用率,如圖所示。 單擊OK關閉對話框。 選擇鏈路結(jié)果統(tǒng)計量 (5)保存項目文件。
27、配置仿真配置仿真 對于這個例子,包的大小和收發(fā)機的速率都是恒定的,因此期望端對端延 時也應該固定不變。然而,如果包的產(chǎn)生速率足夠快,就會導致部分包在 發(fā)信機隊列中積壓,這時包的端對端延時加大。如果包的產(chǎn)生速率不定, 有可能造成業(yè)務突發(fā),因此端對端延時也會受影響。為了模擬這些行為, 需要配置source interarrival time 仿真屬性,將給它指定兩個值。 (1)從Simulation 菜單中選擇Configure Simulation(Advanced) 這時仿真編輯器打開。 (2)在仿真設置 上單擊鼠標右鍵,從彈出的菜單中選擇Edit Attributes。 回想前面我們已經(jīng)將業(yè)
28、務生成模塊的interarrival time 屬性提升為仿真屬性了, 現(xiàn)在可以為它指定兩個不同的值(每個值運行一次仿真)。 下面將配置當包產(chǎn)生間隔為“4”的仿真: (1)將仿真設置文件命名為dest_pksw_sim1。 (2)將隨機種子Seed 設置為21,仿真時間設為1000 seconds。 (3)給source interarrival time 屬性賦值: 單擊Add 按鈕,然后選擇未引用的仿真屬性,單擊OK 按鈕,如圖所示。 增加未引用的仿真屬性 在仿真設置對話框中單擊Value 欄,并從下拉列表中選擇4,如圖所示 (下拉列表的效果是因為前面給屬性指定了預定值)。 設置仿真屬性的
29、取值 (4)將矢量結(jié)果文件Vector file 命名為dest_pksw_sim1。 (5)單擊OK 關閉仿真設置對話框。 下面將配置另一個仿真: (6)復制并且粘貼剛剛配置的仿真dest_pksw_sim1。 新的仿真配置自動命名為dest_pksw_sim2。 (7)在仿真設置上單擊鼠標右鍵,從彈出的菜單中選擇Edit Attributes,如 圖所示。 (8)同上,將source interarrival time 屬性賦值為40。 設置仿真屬性的取值 (9)將矢量結(jié)果文件Vector file 命名為dest_pksw_sim2。 (10)單擊OK 關閉仿真設置對話框。 (11)從F
30、ile 菜單中選擇Save 保存仿真配置文件。 運行仿真運行仿真 (1)單擊執(zhí)行仿真按鈕 。 (2)仿真完畢后關閉仿真消息對話框,并且關閉仿真配置編輯器。 分析結(jié)果: 配置并運行了兩個不同仿真,現(xiàn)在需要使用分析工具來查看仿真結(jié)果。 比較兩個場景的端對端延時和鏈路利用率: (1)從File 菜單中選擇New.,從下拉列表中選擇Analysis Configuration。 (2)單擊創(chuàng)建結(jié)果圖按鈕 這時出現(xiàn)View Results 對話框。 (3)找到剛剛在仿真配置中設置的矢量結(jié)果文件名:dest_pksw_sim1 和 dest_pksw_sim2 (4)如圖分別選中兩個場景的點對點鏈路上行利
31、用率結(jié)果(它們隸屬于同一 個節(jié)點,以便比較)。 查看結(jié)果對話框 (7)在對話框下面選擇結(jié)果顯示視覺效果為Statistics Overlaid,結(jié)果顯示 模式為time_average。 (8)單擊Show 按鈕。 將看到圖所示的鏈路利用率比較圖。 鏈路利用率比較圖 可以看出包的產(chǎn)生速率過小導致鏈路利用率很低。 接下來查看包的端對端延時,確定包是否會在隊列中積壓。 (1)在剛剛的View Results 對話框中單擊Unselect 按鈕。 (2)改變結(jié)果過濾模式為As Is。 (3)找到矢量結(jié)果文件dest_pksw_sim1,選擇Global Statistics: ETE Delay,單
32、擊Show 按鈕,出現(xiàn)如圖的結(jié)果。 場景pksw_sim1 的端對端延時圖 (4)在View Results 對話框中單擊Unselect 按鈕。 (5)找到矢量結(jié)果文件_pksw_sim2,選擇Global Statistics: ETE Delay,單 擊Show 按鈕。出現(xiàn)如圖的結(jié)果。 場景pksw_sim2 的端對端延時圖 線性的畫圖模式不能讓我們知道每個包的確切延時。為了讓每個包的延時更加清 楚,我們將顯示模式改為離散方式。 (6)在畫圖板上單擊鼠標右鍵,在彈出的菜單中選擇Draw styleDiscrete。 這時顯示模式由線性變?yōu)殡x散,如圖 場景pksw_sim1 端對端延時離散
33、曲線場景pksw_sim2 端對端延時離散曲 線 延時幾乎相等 END 主要內(nèi)容:主要內(nèi)容: 一、網(wǎng)絡仿真簡介 二、OPNET Modeler 仿真平臺簡介 三、OPNET Modeler安裝 四、OPNET Modeler 原理 五、實例講解配置一個簡單的網(wǎng)絡 六、模塊間通信機制基于包的通信 七、實例講解創(chuàng)建一個包交換網(wǎng)絡 八、實例講解八、實例講解創(chuàng)建一個移動無線網(wǎng)絡創(chuàng)建一個移動無線網(wǎng)絡 八、創(chuàng)建一個移動無線網(wǎng)絡 OPNET 無線模塊支持地面和衛(wèi)星無線系統(tǒng)的構建。在此例程中我們將構建 一個簡單的無線網(wǎng)絡,它包含一個移動干擾節(jié)點和兩個固定基站。通過配 置運動軌跡,干擾節(jié)點可以移動,從而使網(wǎng)絡拓
34、撲結(jié)構動態(tài)地改變,可以 觀察這種改變對接收信號質(zhì)量的影響。 移動干擾節(jié)點產(chǎn)生的無線噪聲干擾使信噪比(SNR)降低,為了改善網(wǎng)絡 性能,將采用有向天線來增強網(wǎng)絡的抗干擾能力。因此,在該例程中還將 用到天線模型編輯器創(chuàng)建一個有向天線模型。最后,通過實驗將看到,當 基站采用有向天線時,網(wǎng)絡的SNR 比采用全向天線有明顯提高。 概述 OPNET Modeler/Radio 具有為陸地和衛(wèi)星無線系統(tǒng)建模的能力。本例程需要 創(chuàng)建一個帶有移動干擾節(jié)點的無線網(wǎng)絡,通過本例程學習,你將學會: 使用OPNET Modeler/Radio 創(chuàng)建一個無線網(wǎng)絡并在一個動態(tài)網(wǎng)絡拓撲結(jié) 構的接收節(jié)點處觀察由無線噪聲引起的接
35、收信號質(zhì)量的變化。 使用一個新型的鏈路無線鏈路和一個新型的節(jié)點移動節(jié)點。 使用天線模型編輯器創(chuàng)建一個定向天線模型。 定義移動節(jié)點軌道。 使用參數(shù)化仿真。 拓撲結(jié)構包括三個節(jié)點 發(fā)送節(jié)點在各個方向以相同的強度發(fā)送數(shù)據(jù)。該節(jié)點包含一個包 生成模塊,一個無線發(fā)射機模塊和一個天線模塊。 接收節(jié)點測量由固定發(fā)射機節(jié)點發(fā)送的信號質(zhì)量。該節(jié)點包括一 個天線模塊,一個無線收信機模塊,一個收信機處理器模塊和一個與定向 天線協(xié)同工作的附加處理器模塊。 移動干擾節(jié)點產(chǎn)生無線噪聲。干擾器的軌道使得它可以在收信機 的無線范圍內(nèi)進進出出,從而增加和減小收信機收到的干擾。 概念 天線模塊 通過引用其模式屬性為一個物理天線的
36、定向增益建模。天 線使用兩種不同的模式:全向模式(在各個方向上具有均勻增益)和定 向模式。 發(fā)射機模塊 以1024bits/second 的速率向天線發(fā)送數(shù)據(jù)包,它將使用 其100的信道帶寬。 對于每一個到達的數(shù)據(jù)包,收信機模塊 參考幾個屬性來決定包平均 誤比特率(BER)是否小于指定的門限。如果BER 足夠低,包數(shù)據(jù)將 被發(fā)送到收信機然后被銷毀。 處理器模塊(本課稱為指向處理器)計算天線達到某一指定目標所需的緯度、 經(jīng)度和高度坐標(三維坐標)。指向處理器通過使用一個核心程序完成該計 算任務,核心程序?qū)⒁粋€子網(wǎng)中的節(jié)點位置(以x 位置和y 位置屬性表示) 轉(zhuǎn)化為天線所需的球面坐標。 本例程中,
37、信息將從一個固定發(fā)射機對象轉(zhuǎn)移到一個固定收信機對象。這些 對象通過一個無線信道連接。該鏈路由系統(tǒng)中各組成部分的許多不同的物理 特性決定,包括頻帶、調(diào)制類型、發(fā)射機功率、距離和天線方向。 創(chuàng)建天線模型 OPNET的天線模型編輯器使用球面角phi 和theta 圖形化地創(chuàng)建3 維天線模型。 本例程將創(chuàng)建一個新的天線模型,該天線在一個方向的增益是200dB,在 其他任何方向的增益均為零(這是一個理想的選擇性收信機)。 phi范圍 是180度 theta范圍是逆時針 360度 步驟步驟 (1)從File 菜單中選擇New,然后從下拉菜單中選擇Antenna Pattern。 單擊OK 按鈕。 天線模型
38、 編輯器 (2)在項目工作空間中單擊右鍵并從彈出的菜單中選擇Set Phi Plane。 度數(shù)越小增益越 大 (3)從該表中選擇5.0 Deg.。 這時選項表自動關閉,圖形面板顯示了層參數(shù)被設為5 度時的二維層 曲線。位于面板頂端的功能標簽顯示了當前Phi 的設定(為5 度), Phi=5(deg)層中theta 的取值對應的增益值 下面設置縱坐標范圍: (4)單擊Set Ordinate Upper Bound 動作按鈕。 (5)在對話框中輸入201 作為縱坐標上界,單擊OK 按鈕。 (6)單擊Set Ordinate Lower Bound 動作按鈕。 (7)話框中輸入199 作為縱坐標下
39、界,單擊OK 按鈕。 這時圖形面板顯示新的坐標范圍。該范圍允許我們更加精確地輸入增益值。 既然已經(jīng)正確設置了圖形面板,就可以指定phi=5 度時的抽樣點。 (8)將鼠標移動到200dB 線的最左端的點上,然后單擊確定第一個抽樣 點(0 度)。將鼠標移到200dB 線的最右端然后單擊確定第二個抽樣點 (355 度)。 這時所有的介于這兩個指定點之間的抽樣點都使用線性內(nèi)插增益值自動設 置。然后出現(xiàn)一個點線,所示抽樣點的范圍,如下圖所示: 設置抽樣點后的圖形 天線模型圖 既然已經(jīng)指定了phi=5 度的增益值,需要將層設置改為0 度,然后設置該 層的增益和抽樣點。將phi=0 度5 度和theta=0
40、 度360 度的增益值設為 200dB。該dB 值將填充到由圓錐形外殼指定的phi=5 度的平面中。 (9)在工作空間中單擊右鍵并從菜單中選擇Decrease Phi Plane。這時當 前的phi 平面設置從5 度變?yōu)? 度。 (10)將縱坐標的上邊界設為201,下邊界設為199。 (11)將鼠標移到200dB 線附近(越近越好),然后在最左端(0 度點) 處單擊確定第一個抽樣點,再將鼠標移到200dB 線的最右端(355 度點) 單擊,確定第二個抽樣點。最后,在整個模式上歸一化增益函數(shù)。 (12)單擊Normalize Function 動作按鈕,在整個模式上歸一化增益函數(shù)。 這時,3D投
41、影視圖將會刷新,顯示歸一化后的結(jié)果,如圖9-38 所示。模 式中小的球面部分描述了旁瓣增益采樣點,在歸一化時用到了它們,以使 旁瓣增益驅(qū)近于零。 注意:歸一化使得圖形面板中的點上移了,所以此時它們不可見。 (1)從File 菜單中選擇Save,將天線模型命名為radio_mrt_cone。 (2)關閉天線模型編輯器。 歸一化后的天線 模型圖 創(chuàng)建指向處理器 天線指向處理器計算發(fā)射機模塊的位置,然后設置天線模塊的目標屬性。它 不接收中斷,因此,它可以被設置為一個獨立的非強制的狀態(tài)(Unforced State) (1)從File 菜單中選擇New,然后從列表中選擇Process Model,單擊
42、 OK 按鈕。這時打開過程模型編輯器。 (2)使用Create State 動作按鈕,在工具窗口中放置一個狀態(tài)。 (3)在該狀態(tài)上單擊鼠標右鍵,從彈出菜單中選擇Set Name。 (4)將狀態(tài)命名為point。 (5)然后,創(chuàng)建一個回到該狀態(tài)自身的轉(zhuǎn)移,為該狀態(tài)輸入代碼。創(chuàng)建 的轉(zhuǎn)移如圖所示。 (6)在轉(zhuǎn)移上單擊鼠標右鍵,從彈出菜單中選擇Edit Attributes,然后 將轉(zhuǎn)移的condition屬性改成default。 (7)單擊OK 按鈕關閉對話框。 (8)單擊temporary variable block 動作按鈕,從File 菜單中選擇Import。選 擇下面的文件,然后單擊OK
43、 按鈕導入此文件。 /models/std/tutorial_req/modeler/mrt_tv導入的文件出現(xiàn)在temporary variables 編輯器窗口中。 (9)在編輯器窗口中,在文件結(jié)束的地方(最后一個空行)加上一個空格, 然后保存文件。然后,導入入口執(zhí)行代碼塊的代碼: (10)雙擊point 狀態(tài)的上部,打開入口執(zhí)行代碼塊,然后從File 菜單中選擇 Import。選擇下面的文件,然后單擊OK 按鈕導入此文件。 /models/std/tutorial_req/modeler/mrt_ex導入的文件出現(xiàn)在point: Enter Execs 編輯器窗口中。 (11)在編輯器窗
44、口中,在文件結(jié)束的地方(最后一個空行)加上一個空格, 然后保存文件。 (12)從Interfaces 菜單中選擇Process Interfaces,出現(xiàn)Process Interfaces 對話框。 (13)把begsim intrpt 屬性的初始值改為enabled。 (14)將所有屬性的Status 值改為hidden。 (15)單擊OK,保存更改。最后,編譯過程模型: ( 16 ) 單擊Compile Process 動作按鈕。當提示你保存模型時, 命名 為radio_mrt_rx_point,單擊OK。 (17)過程模型編譯完后,關閉過程編輯器。編譯過程中自動保存了過 程模型,所以這
45、里就不需要保存了。 創(chuàng)建節(jié)點模型創(chuàng)建節(jié)點模型 建立無線網(wǎng)絡模型需要三個節(jié)點模型:一個發(fā)射機,一個收信機和一 個干擾發(fā)射機節(jié)點。 1發(fā)射機節(jié)點 發(fā)射機節(jié)點包括一個包產(chǎn)生模塊,一個無線發(fā)射機模塊和一個天線模 塊。包產(chǎn)生器產(chǎn)生大小為1024bit 的包,包間隔時間為常數(shù),平均速度 為1.0 packet/second(缺省值)。 產(chǎn)生后,包通過包流送到無線發(fā)射機模塊,它將包發(fā)送到速率為 1024 bit/second、使用100%信道帶寬的信道上。包就經(jīng)過發(fā)射機通 過另一條包流到達天線模塊。天線模塊使用全向天線模型(缺省值), 表示在空間各個方向上增益相同。 要創(chuàng)建發(fā)射機節(jié)點模型: (1)從File
46、 菜單中選擇New,然后從列表中選擇Node Model,單 擊OK 按鈕。這時打開節(jié)點模型編輯器。 (2)按下圖創(chuàng)建模塊和包流,設置相應的模塊名稱。 設置模塊名稱 (3)將tx_gen 處理器的process model 屬性設置為simple_source。 為了運行參數(shù)化仿真,需要將所用的信道的power 屬性提升。當提升了屬性 后,就可以在仿真運行時很容易地改變了。 (4)在radio_tx 節(jié)點上單擊鼠標右鍵,從彈出菜單中選擇Edit Attribute。然 后單擊channel 屬性的value 字段。出現(xiàn)一個對話框,顯示了channel 的復合 屬性表,如下圖所示。 channe
47、l 復合屬性 (5)在信道的復合屬性表中,選中power 屬性,然后單擊Promote 按鈕。 這樣就提升了power 屬性,如圖 power 的屬性顯示為promoted。 Channel 表 (6)關閉所有對話框。接下來需要定義節(jié)點模型界面屬性。 (7)從Interfaces 菜單中選擇Node Interfaces出現(xiàn)節(jié)點接口對話框, 如圖 節(jié)點接口屬性 (8)在Node Type 表中,將satellite type 的Supported 值設為no。 (9)在Attribute 表中,將altitude(高度)初始值改為0.003。 (10)除了radio_txchannel0.po
48、wer 屬性之外,將所有其他屬性的Status 值設置為hidden。 (11)在Keywords(關鍵字)表中,加上mrt。 (12)為便于參考,添加描述該節(jié)點的注釋。 節(jié)點界面對話框設置完成后應該和圖中一致。 節(jié)點接口屬性 (13)單擊OK,保存更改。 (14)保存節(jié)點模型。從File 菜單選擇Save。命名為radio_mrt_tx。 2干擾發(fā)射機節(jié)點 干擾發(fā)射機節(jié)點向網(wǎng)絡中引入了無線電噪聲和靜止的發(fā)射機節(jié)點一樣,它 包含一個包產(chǎn)生模塊,一個無線發(fā)射機模塊和一個天線模塊。它的行為和 靜止發(fā)射機的一致,但是信道功率和信號調(diào)制方式不同。這些差別使得干 擾發(fā)射機節(jié)點發(fā)送的包在收信機看來像噪聲。
49、 干擾發(fā)射機節(jié)點模型可以從發(fā)射機節(jié)點模型(rradio_mrt_tx)生成。 (1)打開radio_mrt_tx 節(jié)點模型。 (2)在radio_tx 節(jié)點上單擊鼠標右鍵,從彈出菜單中選擇Edit Attribute。 將modulation (調(diào)制類型)屬性改為jammod。 (3)關閉radio_tx 屬性對話框。 (4)從Node Interfaces 菜單下選擇Interfaces 菜單,修改描述干擾發(fā)射 機節(jié)點的注釋, 然后保存改動。 (5)從File 菜單選擇Save As,將文件另存為radio_mrt_jam。 3收信機節(jié)點 收信機節(jié)點包含一個天線模塊,一個無線收信機模塊,一個
50、sink 處理器模塊 以及一個指向處理模塊,它的作用是讓定向天線指向發(fā)射機。 (1)從Edit 菜單選擇Clear Model。 (2)按圖-45 創(chuàng)建模塊和包流。設置相應的模塊名稱。 模塊和包流圖 注意:確定天線模塊的名稱為ant_rx。_mrt_rx_point 處理模型用 到了這個名稱。 更改下列屬性值: ( 3)右擊rx_point 模塊,打開屬性對話框。將process model 屬性的值 設成radio_mrt_rx_point。 (4)右擊ant_rx 模塊,打開屬性對話框。單擊pattern 屬性的左邊一欄, 然后單擊Promote按鈕,將pattern 屬性提升,如下圖所示
51、。 (5)關閉所有對話框。 接下來定義節(jié)點模型的界面屬性: (6)從Interfaces 菜單中選擇Node Interfaces。 (7)在Node Type 表中,將satellite type 的Supported 值設為no。 (8)在Attribute 表中,將altitude(高度)初始值改為0.003。 (9)除了ant_rx.pattern 屬性之外,將所有其他屬性的Status 值設置為hidden。 (10)在Keywords(關鍵字)表中,加上mrt。 Ant_rx 屬性 (11)單擊OK 按鈕,保存更改。 (12)從File 菜單選擇Save As,將文件另存為radi
52、o_mrt_rx。關閉節(jié)點模型編 輯器。 創(chuàng)建網(wǎng)絡模型創(chuàng)建網(wǎng)絡模型 所需的節(jié)點和過程模型創(chuàng)建好之后,就可以創(chuàng)建網(wǎng)絡模型了。 創(chuàng)建網(wǎng)絡模型步驟如下: (1)從File 菜單中選擇New,然后從列表中選擇Project,單擊OK 按鈕。 (2)將新項目命名為radio_mrt_net,場景名命為antenna_test。 (3)在啟動向?qū)е?,使用以下設定值,如下圖所示。 向?qū)гO置值 (4)在對象模板中,單擊Configure Palette,然后清空面板并添加 radio_mrt_jam, radio_mrt_tx,radio_mrt_rx 節(jié)點模型。將面板存為radio_mrt_palette。
53、 請注意每個節(jié)點都有兩個對象,一個固定的,一個移動的。 (5)關閉Configure Palette 對話框,創(chuàng)建圖中的網(wǎng)絡。確保使用干擾發(fā) 射機的移動版,發(fā)射機和收信機的固定版。 (6)對于每一個節(jié)點: 打開屬性對話框。 按下圖所示設置name 屬性 網(wǎng)絡拓撲圖 單擊Advanced 檢查框。 編輯x position 和y position 屬性來放置各個節(jié)點。 將tx 節(jié)點放置在網(wǎng)格(3,3)位置,rx 節(jié)點放在tx 節(jié)點右邊1 公里外的網(wǎng)格(4,3)位 置。將jam 節(jié)點放在網(wǎng)格中的(0.5,2.5)處。 注意:節(jié)點的相對位置對于移動無線通信的行為有重要影響。為了得到期望的 仿真結(jié)果,
54、按上面所說的來定位節(jié)點顯得非常重要。 (7)關閉對象模板。 定義完網(wǎng)絡模型之后,必須指定一條移動干擾發(fā)射機節(jié)點行進的軌跡。 (8)從Topology 菜單中,選擇Define Trajectory。 (9)在Define Trajectory 對話框中,按下圖設置屬性值,然后單擊Define Path 按鈕。 當你在Define Trajectory 對話框中按下Define Path 按鈕后,對話框會消失, 光標在項目編輯器中變成一條線?,F(xiàn)在可以畫出移動節(jié)點的軌跡: (10)在jam 節(jié)點的左邊緣單擊鼠標左鍵,開始描繪軌跡。 (11)在網(wǎng)格的(7.5,2.5)位置單擊左鍵(7.5 為水平位置
55、,2.5 為垂直位置)。 (13)單擊右鍵結(jié)束軌跡。軌跡會從屏幕消失,因為此時它還沒有被移動節(jié)點 引用。 最后,將剛剛創(chuàng)建的軌跡應用給jam 節(jié)點。在jam 節(jié)點上單擊右鍵,選擇Edit Attributes。 定義軌跡 (14)將trajectory(軌跡)屬性改為mrt。 (15)單擊OK 關閉對話框。軌跡在項目編輯器顯示為綠色的箭頭。 (16)在綠色的線上單擊右鍵,選擇Edit Trajectory。Edit Trajectory Information 對話框出現(xiàn)。 (17)編輯每行中的X 和Y 的值,如下表所示。 確保Coordinate are relative to object
56、s position 檢查框沒有選中。 (18)單擊OK 關閉對話框,然后保存項目。 收集統(tǒng)計量并運行仿真收集統(tǒng)計量并運行仿真 對于這個例子,我們感興趣的是不同的天線模型對于網(wǎng)絡中接收節(jié)點的影對于這個例子,我們感興趣的是不同的天線模型對于網(wǎng)絡中接收節(jié)點的影 響??梢酝ㄟ^配置響??梢酝ㄟ^配置Simulation ToolSimulation Tool(仿真工具)自動改變天線模型屬性進(仿真工具)自動改變天線模型屬性進 行參數(shù)化仿真研究,而不需要每次仿真時都在節(jié)點域中改變天線模型屬性行參數(shù)化仿真研究,而不需要每次仿真時都在節(jié)點域中改變天線模型屬性 值。值。 可以在項目編輯器中收集仿真后的接收信道統(tǒng)
57、計量。這些統(tǒng)計量包括誤碼率 (bit error rate)(BER)和吞吐量(throughput)(packets/sec)。包吞 吐量統(tǒng)計值代表了接收信道每秒正確接收到的包的平均值。這個屬性值采集 的樣值僅是那些包BER 值小于收信機ECC 門限的包,該門限在節(jié)點模型中 無線收信機模塊的ecc threshold 屬性中指定。由于本例中無線收信機該屬性 的值為0.0errors/bit,只有沒有比特誤碼的包才會被接收。 對于不同的統(tǒng)計量,可以改變其collection mode(采集模式)屬性值。這些 模式指定了統(tǒng)計量的捕獲方式(all values,bucket,sample,glit
58、ch removal), 以及它們的采集模式。 要采集誤碼率和吞吐量統(tǒng)計值: (1)在rx 節(jié)點對象上右擊,從彈出菜單中選擇Choose Individual Statistics。 (2)選擇下列統(tǒng)計值: Module Statistics: radio_rx.channel 0: radio receiver: bit error rate (3)在bit error rate 統(tǒng)計量上單擊鼠標右鍵,從彈出中菜單選擇Change Collection Mode。 (4)在Capture Mode 對話框中選中Advanced 選項。 (5)將Capture Mode 改為glitch removal。完成后單擊OK 按鈕。 要設置吞吐量統(tǒng)計值的采集模式: (6)在throughput (packets/sec)統(tǒng)計量上單擊鼠標右鍵,從彈出菜單中選擇 ChangeCollection Mode。 (7)在Capture Mode 對話框中選中Advanced 選項。 (8)確信Capture Mode 設置的是bucket,然后將Bucket Mode 改為sum/time。 (9)單擊Everysecond 按鈕,編輯它的值,將Sample Frequency(采樣頻率) 設為10 seconds。確信Reset 框沒有被選中。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 招投標項目成本控制與優(yōu)化
- 節(jié)能減排廉潔自律招投標守則
- 咖啡館租賃合同草稿
- 腹股溝斜疝修補術后護理
- 建筑施工勞務合同:旅游設施建設
- 醫(yī)療機構市場營銷與市場定位
- 公路充電設施維護合同范本
- 木材加工安全事故預防
- 屋頂修復漏水施工合同
- 制造業(yè)用工規(guī)范承諾書
- 社區(qū)衛(wèi)生服務中心公共衛(wèi)生績效考核及獎金分配制度
- 礦山電工課程設計
- 外貿(mào)_詢盤的分析與回復(精)
- 數(shù)獨骨灰級100題
- 炫彩招聘海報模板
- 基于HTML5技術的動漫宣傳介紹網(wǎng)站的設計與實現(xiàn)
- 江蘇省電力公司配電網(wǎng)管理規(guī)范實施細則
- 中山紀念堂英文導游詞
- TGNET培訓講義
- 架空線路冬季專項施工方案(完整版)
- 通信類工程施工安全應急預案(完整版)
評論
0/150
提交評論