freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

zigbee路由協(xié)議分析及仿真實現(xiàn)畢業(yè)論文(編輯修改稿)

2025-08-10 16:58 本頁面
 

【文章內(nèi)容簡介】 rqrq_dst_seqno, rqrq_src, rqrq_src_seqno)。 } else { sprintf(pt_buffer() + offset, [0x%x %d %d [%d %d] [%d %d]] (REQUEST), rqrq_type, rqrq_hop_count, rqrq_bcast_id, rqrq_dst, rqrq_dst_seqno, rqrq_src, rqrq_src_seqno)。 } break。 case ZBRTYPE_RREP: case ZBRTYPE_HELLO: case ZBRTYPE_RERR: if (pt_tagged()) { sprintf(pt_buffer() + offset, zbr:t %x zbr:h %d zbr:d %d zbr:ds %d zbr:l %f zbr:c %s , rprp_type, rprp_hop_count, rprp_dst, rprp_dst_seqno, rprp_lifetime, rprp_type == AODVTYPE_RREP ? REPLY : (rprp_type == AODVTYPE_RERR ? ERROR : HELLO))。 } else if (newtrace_) { sprintf(pt_buffer() + offset, P zbr Pt 0x%x Ph %d Pd %d Pds %d Pl %f Pc %s , rprp_type, rprp_hop_count, rprp_dst, rprp_dst_seqno, rprp_lifetime, rprp_type == ZBRTYPE_RREP ? REPLY : (rprp_type == ZBRTYPE_RERR ? ERROR : HELLO))。 } else { sprintf(pt_buffer() + offset, [0x%x %d [%d %d] %f] (%s), rprp_type, rprp_hop_count, rprp_dst, rprp_dst_seqno, rprp_lifetime, rprp_type == ZBRTYPE_RREP ? REPLY : (rprp_type == ZBRTYPE_RERR ? ERROR : HELLO))。 } break。 default:ifdef WIN32 fprintf(stderr, CMUTrace::format_zbr: invalid ZBR packet type\n)。else fprintf(stderr, %s: invalid ZBR packet type\n, __FUNCTION__)。endif abort()。 }} 第三個:在大約1529行添加case PT_PING: break。case PT_ZBR: //新添加 format_zbr(p, offset)。 //新添加 break。 //新添加case PT_ARP: format_arp(p, offset)。 break。4. tcl/lib/(需要修改一個:添加)大約172行:添加: Wireless: ARP Address Resolution Protocol, network wireless stack GAF Geographic Adaptive Delity, for adhoc networks LL network wireless stack LRWPAN zheng, wpan/ Mac network wireless stack ZBR ZigBee 新添加5. tcl/lib/(需要修改一個)最后一行添加: Defaults defined for zbr Agent/ZBR set accessible_var_ true6. tcl/lib/(需要修改兩個) 第一個:大約672行添加ZBR { set ragent [$self createzbragent $node] } 第二個:大約891行添加Simulator instproc createzbragent { node } { Create zbr routing agent set ragent [new Agent/ZBR [$node nodeaddr]] $self at $ragent start $node set ragent_ $ragent return $ragent }7. queue/(需要修改一個)大約93行:case PT_AODV:case PT_ZBR: //新添加case PT_AOMDV:8. wpan/(需要修改一個)在大約57行,打開ZigBeeIF :define ZigBeeIF9. wpan/(需要修改一個)大約在179行添加ifdef ZigBeeIF bool noCapacity。 int child_num。 int logAddr。 endif //we assign the cluster tree address as the MAC short address10. Makefile(需要修改一個) 修改 OBJ_CC = \ 大約在335行:zbr/ zbr/ zbr/ zbr/ \ 編譯:$ make clean $ make $ sudo make install 以后若修改了程序,需要先make再執(zhí)行sudo make install(這一步必須執(zhí)行) 測試腳本。 gnuplot的安裝gnuplot是一個使用命令進行科學繪制圖形的工具,它能夠把數(shù)據(jù)函數(shù)或數(shù)據(jù)資料轉(zhuǎn)換成直觀的二維或三維圖形,方便進行數(shù)據(jù)分析。這次設(shè)計要使用到這個工具,用它將測試出來的數(shù)據(jù)繪制成為圖形,方便對比和分析。gnuplot的安裝過程十分簡單,在終端下輸入命令:yum install gnuplot 進行安裝就可以了。安裝完成后在Fedora終端運行命令gnuplot,就會進入gnuplot的繪圖環(huán)境,再輸入plot sin(x) 就會自動繪制出sin(x)的曲線圖。:圖 測試gnuplot 本章小結(jié)俗話說:工欲善其事必先利其器。本章節(jié)基于windows7操作系統(tǒng),在其上安裝VMWare Workstation,然后在VM中安裝Linux工作環(huán)境,如RedHat、CentOS、Ubuntu、Fedora等,這里選擇了Fedora21作為Linux工作環(huán)境,然后在Fedora上安裝了NS2網(wǎng)絡(luò)模擬軟件,在NS2網(wǎng)絡(luò)模擬軟件中添加了這次設(shè)計需要的ZBR路由協(xié)議,而后有安裝了gnuplot繪圖軟件。Linux工作環(huán)境、NS2軟件、ZBR協(xié)議、gnuplot繪圖軟件都是進行協(xié)議仿真和分析必不可少的工具,只有做好了前面的鋪墊工作,才能做接下來要做的仿真工作。上面的工作還有一個替代方案。就是在windows工作環(huán)境下安裝cygwin+ns2進行仿真實驗。4 仿真過程與仿真結(jié)果分析 使用NS2進行模擬的基本流程,用戶首先進行問題定義,考慮自己要模擬什么內(nèi)容,大概的拓撲應(yīng)該怎樣,是否需要對源代碼進行修改或添加功能等。如果需要添加或修改代碼,如圖中右邊方框中所示,有一個對NS2源碼進行修改、重新編譯和調(diào)試的過程;如果不需要修改代碼,即采用NS2已有構(gòu)件即可完成模擬工作,那么用戶的主要任務(wù)就是編寫Tcl/OTcl模擬代碼,并在NS2環(huán)境下執(zhí)行該腳本進行模擬,模擬程序結(jié)束后會生成相應(yīng)的Trace文件,即模擬結(jié)果文件,用戶使用不同的工具對腳本中的內(nèi)容進行分析得到想要的結(jié)果圖表。如果使我們所預期的,那么整個模擬過程即可順利結(jié)束,否則,應(yīng)該分析問題所在,并重新考慮問題定義、源碼及Tcl腳本的修改。需要修改源代碼時額外工作量滿意不滿意未通過通過需要結(jié)束分析任務(wù)需要修改源代碼?編寫Tcl腳本執(zhí)行模擬分析結(jié)果結(jié)果滿意?開始分析問題所在修改源代碼重新編譯NS編譯通過?調(diào)試NS不需要圖 NS2進行網(wǎng)絡(luò)模擬基本流程圖 星型拓撲環(huán)境搭建和模擬 任務(wù)分析拓撲共設(shè)置7個節(jié)點,其中中心節(jié)點作為PAN協(xié)調(diào)器,其余6個節(jié)點為設(shè)備節(jié)點。節(jié)點0、節(jié)點節(jié)點節(jié)點節(jié)點節(jié)點6分別向節(jié)點2發(fā)送CBR(Constant Bit Rate)恒定速率數(shù)據(jù)流,分別使用clustertree路由協(xié)議和zbr路由協(xié)議對其做Trace記錄,然后分析對比兩種算法的平均延遲、丟包率、控制包數(shù)量。 編寫Tcl腳本設(shè)置各個節(jié)點的位置,這個文件供tcl腳本使用。以節(jié)點0為例,node_(0)為節(jié)點的名字,set X_ 25是設(shè)置x坐標為25,set Y_ 25是設(shè)置y坐標為25,set Z_ 0是設(shè)置Z坐標為0,因為設(shè)計中選用的是TwoRayGround,既二徑傳輸信道,沒有使用到三維,所以Z坐標設(shè)置為0,這樣0節(jié)點正好位于拓撲圖的中心。其他六個節(jié)點按照同樣的方法進行設(shè)置。下面是節(jié)點0的位置代碼。$node_(0) set X_ 25$node_(0) set Y_ 25$node_(0) set Z_ 0: 星型拓撲下面編寫模擬仿真的tcl腳本,使用tcl來描述模擬環(huán)境中網(wǎng)絡(luò)的環(huán)境和參數(shù)設(shè)置。下面是一些重要代碼描述:1. 設(shè)置無線節(jié)點參數(shù),包括無線節(jié)點使用的物理信道、無線電波傳播模型、物理層使用標準、MAC使用標準、接口隊列類型、鏈路層類型、天線模型、使用的路由協(xié)議等,這里面由于是做ZigBee的協(xié)議仿真,路由協(xié)議使用ZBR(ZigBee Routing)。set val(chan) Channel/WirelessChannel 。 物理信道類型set val(prop) Propagation/TwoRayGround 。 無線電波傳播模型set val(netif) Phy/WirelessPhy/802_15_4 。 set val(mac) Mac/802_15_4 。 set val(ifq) Queue/DropTail/PriQueue 。 接口隊列類型set val(ll) LL 。 鏈路層類型set val(ant) Antenna/OmniAntenna 。 天線模型set val(ifqlen) 150 。 最大包隊列set val(nn) 7 。 移動節(jié)點數(shù)量set val(rp) ZBR 。 路由協(xié)議為ZigBee協(xié)議set val(x) 50 。設(shè)定拓撲范圍——長度50mset val(y) 50 。設(shè)定拓撲范圍——寬度50m2. 開啟Trace跟蹤文件和NAM顯示文件。set ns_ [new Simulator] 。初始化一個仿真對象ns_set tracefd [open ./ w] 。$ns_ traceall $tracefd 。開啟trace跟蹤文件if { $val(nam) == } { 。namtrace顯示文件, set namtrace [open ./$val(nam) w] $ns_ namtraceallwireless $namtrace $val(x) $val(y)}3. 設(shè)置每個節(jié)點的通信半徑為15m。CSThre
點擊復制文檔內(nèi)容
物理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1