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

正文內(nèi)容

畢業(yè)設計-基于ns2的mimo擴展設計與實現(xiàn)-資料下載頁

2024-12-03 19:20本頁面

【導讀】集體已經(jīng)發(fā)表或撰寫的成果作品。本人完全意識到本聲明的法律后果由本人承。本人授權省級優(yōu)秀學士論文評選機構將本學位論文的全部或部分內(nèi)容。4.提交專業(yè)外文翻譯材料;5.按照畢業(yè)設計相關要求在答辯前必須完成的其它任務。這種系統(tǒng)不能同時進行數(shù)據(jù)收發(fā),其。多跳無線網(wǎng)絡物理層采用新技術已經(jīng)成為可能.。同時,MIMO技術對多跳無線網(wǎng)絡的吞吐量、實時性和拓撲連通性等性。一信道,以確保所有的節(jié)點連接。研究通過同步無干擾傳輸利用多信道,多接口增加網(wǎng)絡容量。仿真結果表明本方法很有效的提高了網(wǎng)絡吞吐量。術在提高網(wǎng)絡吞吐量上、降低丟包率、降低延時等方面的有效性。用方法,提出MIMO的實現(xiàn)方案,完成開題報告。

  

【正文】 同時,也需要對 做出相應的修改。 修改類 AODV 的構造函數(shù) 類 AODV 的構造函數(shù)初始化變量時要初始化新加入的變量 nIfaces。修改 如表 所示 。 表 類 AODV構造函數(shù)的修改 /* Constructor */ Xx 理工大學畢業(yè)論文(設計) 19 續(xù)表 AODV::AODV(nsaddr_t id) : Agent(PT_AODV), btimer(this), htimer(this), ntimer(this), rtimer(this), lrtimer(this), rqueue() { index = id。 seqno = 2。 bid = 1。 LIST_INIT(amp。nbhead)。 LIST_INIT(amp。bihead)。 logtarget = 0。 ifqueue = 0。 nIfaces=0。 } AODV 路由發(fā)現(xiàn)過程與相應的修改 節(jié)點 A 向節(jié)點 B 發(fā)送路由請求,調(diào)用 sendRequest, A 的所有接口都發(fā)送路由請求包 。B 收到包調(diào)用 recvRequest,通過 公式 Iface=chiface()((Mac*))ifqueuelist[0]target()addr() 計算出接口索引,即 中的新加入變量 u_int8_t rt_interface,AODV::rt_update 函數(shù)中對應的是 rttr_interface=interface,于是節(jié)點 B 的recvRequest 函數(shù)中 路由表更新函數(shù)加入?yún)?shù) Iface。接著 B 節(jié)點會發(fā)送 sendReply分組,這 時就會從對應的接口發(fā)送出去而不是所有接口了,于是我們看到修改的代碼是 Scheduler::instance().schedule(targetlist[rtrt_interface],p, 0.)。rtinterface即是計算出的索引;接著 A 會收到 B 發(fā)送的回復包,調(diào)用 recvReply 函數(shù),同recvRequest 在更新路由表時同時更新 Iface。 修改如表 所示。 表 路由發(fā)現(xiàn)過程對應函數(shù)的修改 //路由發(fā)現(xiàn)過程,發(fā)送請求 void AODV::sendRequest(nsaddr_t dst) { …… Xx 理工大學畢業(yè)論文(設計) 20 續(xù)表 //original: Scheduler::instance().schedule(target_, p, )。 //modified as follows If(nIfaces) { for(int i=0。inIfaces。i++) { Packer *p_copy=pcopy。 Scheduler::instance().schedule(targetlist[i], p_copy, )。 } Packer:free(p)。 } else { Scheduler::instance().schedule(target_, p, )。 } } //路由發(fā)現(xiàn)過程,接收請求 void AODV::recvRequest(Packet *p) { …… u_int8_t Iface。 …… // If we have a fresher seq no. or lesser hops for the // same seq no., update the rt entry. Else don39。t bother. //modified as follows if(nIfaces) { Iface = chiface()((Mac *)ifqueuelist[0]target())addr()。 } else { Iface = 1。 } rt_update(rt0, rqrq_src_seqno, rqrq_hop_count, ihsaddr(),max(rt0rt_expire, (CURRENT_TIME + REV_ROUTE_LIFE)), Iface)。 …… } //路由發(fā)現(xiàn)過程,發(fā)送回復 void AODV::sendReply(nsaddr_t ipdst, u_int32_t hop_count, nsaddr_t rpdst, u_int32_t rpseq, u_int32_t lifetime, double timestamp) { Xx 理工大學畢業(yè)論文(設計) 21 續(xù)表 …… //original: Scheduler::instance().schedule(target_, p, 0.)。 //modified as follows if(nIfaces) { Scheduler::instance().schedule(targetlist[rtrt_interface], p, 0.)。 } else { Scheduler::instance().schedule(target_, p, 0.)。 } //路由發(fā)現(xiàn)過程,接收回復 void AODV::recvReply(Packet *p) { …… u_int8_t Iface。 …… //original: rt_update(rt,rprp_dst_seqno,rprp_hop_count,rprp_src, CURRENT_TIME + rprp_lifetime)。 //modified as follows if(nIfaces) { Iface = chiface()((Mac *)ifqueuelist[0]target())addr()。 } else { Iface = 1。 } rt_update(rt, rprp_dst_seqno, rprp_hop_count, rprp_src, CURRENT_TIME + rprp_lifetime, Iface)。 ...... } 另外 forward 函數(shù)也是在路由發(fā)現(xiàn)過程中,其作用為轉發(fā)分組,決定數(shù)據(jù)分組的流向:是轉發(fā)給另一個節(jié)點還是直接轉發(fā)給上層代理。 void AODV::forward(aodv_rt_entry *rt,Packet *p,double delay) { …… //original: Scheduler::instance().schedule(target_, p, * Random::uniform())。 } else { Xx 理工大學畢業(yè)論文(設計) 22 續(xù)表 Scheduler::instance().schedule(target_, p, 0.)。 // No jitter } } else { // Not a broadcast packet if(delay ) { Scheduler::instance().schedule(target_, p, delay)。 } else { // Not a broadcast packet, no delay, send immediately Scheduler::instance().schedule(target_, p, 0.)。 } } //modified as follows if(nIfaces) { for(int i=0。 inIfaces。 i++) { Packet *p_copy = pcopy()。 Scheduler::instance().schedule(targetlist[i],p_copy,*Random::uniform())。 } Packet::free(p)。 } else { Scheduler::instance().schedule(target_,p,*Random::uniform())。 } } else { if(nIfaces) { for(int i=0。 inIfaces。 i++) { Packet *p_copy = pcopy()。 Scheduler::instance().schedule(targetlist[i], p_copy, )。 } Packet::free(p)。 } else { Scheduler::instance().schedule(target_, p, )。 } Xx 理工大學畢業(yè)論文(設計) 23 續(xù)表 } } else { // Not a broadcast packet if(delay ) { if(nIfaces) { Scheduler::instance().schedule(targetlist[rtrt_interface], p, delay)。 } else { Scheduler::instance().schedule(target_, p, delay)。 } } else { // Not a broadcast packet, no delay, send immediately if(nIfaces) { Scheduler::instance().schedule(targetlist[rtrt_interface], p, 0.)。 } else { Scheduler::instance().schedule(target_, p, 0.)。 } } sendHello,sendError 函數(shù)的修改 sendHello,sendError 在路由維護過程中發(fā)送,只要不發(fā)生斷鏈就不會更新路由表,而且是廣播 ,修改如表 所示。 表 sendHello, sendError 函數(shù)的修改 void AODV::sendError(Packet *p, bool jitter) { …… //original: if (jitter) // Scheduler::instance().schedule(target_, p, *Random::uniform())。 // else // Scheduler::instance().schedule(target_, p, )。 Xx 理工大學畢業(yè)論文(設計) 24 續(xù)表 //modified as follows if (jitter) { if(nIfaces) { for(int i=0。 inIfaces。 i++) { Packet *p_copy = pcopy()。 Scheduler::instance().schedule(targetlist[i],p_copy,*Random::uniform())。 } Packet::free(p)。 } else { Scheduler::instance().schedule(target_, p, *Random::uniform())。 } } else { if(nIfaces) { for(int i=0。 inIfaces。 i++) { Packet *p_copy = p
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1