




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、實(shí)驗報告 課 程 無線傳感網(wǎng)絡(luò)各類路由協(xié)議仿真 1. 實(shí)驗?zāi)康木W(wǎng)絡(luò)數(shù)據(jù)傳輸離不開路由協(xié)議,路由協(xié)議是其組網(wǎng)的基礎(chǔ),路由協(xié)議是無線傳感器網(wǎng)絡(luò)研究的重點(diǎn)之一,其主要的設(shè)計目標(biāo)是降低節(jié)點(diǎn)能量消耗,延長網(wǎng)絡(luò)的生命周期。本次實(shí)驗將仿真各類無線傳感器網(wǎng)絡(luò)路由協(xié)議。2.實(shí)驗要求爭取考慮全面,考慮到各因素對各類協(xié)議的影響,以提高無線傳感網(wǎng)絡(luò)的性能。3. 設(shè)計思想(1) Flooding 泛洪是一種傳統(tǒng)的路由技術(shù),不要求維護(hù)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),并進(jìn)行路由計算,接收到消息的節(jié)點(diǎn)以廣播形式轉(zhuǎn)發(fā)分組。對于自組織的傳感器網(wǎng)絡(luò),泛洪路由是一種較直接的實(shí)現(xiàn)方法,但消息的“內(nèi)爆”(implosion)和“重疊”(overlap)
2、是其固有的缺陷。為了克服這些缺陷,S.hedetniemi等人提出了Gossiping策略,節(jié)點(diǎn)隨機(jī)選取一個相鄰節(jié)點(diǎn)轉(zhuǎn)發(fā)它接收到的分組,而不是采用廣播形式。這種方法避免了消息的“內(nèi)爆”現(xiàn)象,但有可能增加端到端的傳輸延時。 Flooding路由協(xié)議中的內(nèi)爆和重疊問題(2) SPIN (sensor protocol for information via negotiation) SPIN是以數(shù)據(jù)為中心的自適應(yīng)路由協(xié)議,通過協(xié)商機(jī)制來解決泛洪算法中的“內(nèi)爆”和“重疊”問題。傳感器節(jié)點(diǎn)僅廣播采集數(shù)據(jù)的描述信息,當(dāng)有相應(yīng)的請求時,才有目的地發(fā)送數(shù)據(jù)信息。SPIN協(xié)議中有3種類型的消息,即ADV,RE
3、Q和DATA。ADV用于新數(shù)據(jù)廣播。當(dāng)一個節(jié)點(diǎn)有數(shù)據(jù)可共享時,它以廣播方式向外發(fā)送DATA數(shù)據(jù)包中的元數(shù)據(jù)。REQ用于請求發(fā)送數(shù)據(jù)。當(dāng)一個節(jié)點(diǎn)希望接收DATA數(shù)據(jù)包時,發(fā)送REQ數(shù)據(jù)包。DATA包含附上元數(shù)據(jù)頭(meta一header)的實(shí)際數(shù)據(jù)包。SPIN協(xié)議有4種不同的形式: SPIN-PP:采用點(diǎn)到點(diǎn)的通信模式,并假定兩節(jié)點(diǎn)間的通信不受其他節(jié)點(diǎn)的干擾,分組不會丟失,功率沒有任何限制。要發(fā)送數(shù)據(jù)的節(jié)點(diǎn)通過ADV向它的相鄰節(jié)點(diǎn)廣播消息,感興趣的節(jié)點(diǎn)通過REQ發(fā)送請求,數(shù)據(jù)源向請求者發(fā)送數(shù)據(jù)。接收到數(shù)據(jù)的節(jié)點(diǎn)再向它的相鄰節(jié)點(diǎn)廣播ADV消息,如此重復(fù),使所有節(jié)點(diǎn)都有機(jī)會接收到任何數(shù)據(jù)。 SPIN
4、-EC:在SPIN-PP的基礎(chǔ)上考慮了節(jié)點(diǎn)的功耗,只有能夠順利完成所有任務(wù)且能量不低于設(shè)定閾值的節(jié)點(diǎn)才可參與數(shù)據(jù)交換。 SPIN-BC:設(shè)計了廣播信道,使所有在有效半徑內(nèi)的節(jié)點(diǎn)可以同時完成數(shù)據(jù)交換。為了防止產(chǎn)生重復(fù)的REQ請求,節(jié)點(diǎn)在聽到ADV消息以后,設(shè)定一個隨機(jī)定時器來控制REQ請求的發(fā)送,其他節(jié)點(diǎn)聽到該請求,主動放棄請求權(quán)利。 SPIN-RL:它是對SPIN-BC的完善,主要考慮如何恢復(fù)無線鏈路引入的分組差錯與丟失。記錄ADV消息的相關(guān)狀態(tài),如果在確定時間間隔內(nèi)接收不到請求數(shù)據(jù),則發(fā)送重傳請求,重傳請求的次數(shù)有一定的限制。圖3.2表明了SPIN協(xié)議的路由建立與數(shù)據(jù)傳送。 SPIN協(xié)議的路
5、由建立與數(shù)據(jù)傳送基于數(shù)據(jù)描述的協(xié)商機(jī)制和能量自適應(yīng)機(jī)制的SP創(chuàng)協(xié)議能夠很好地解決傳統(tǒng)的Flooding協(xié)議所帶來的信息爆炸、信息重復(fù)和資源浪費(fèi)等問題。此外,由于協(xié)議中每個節(jié)點(diǎn)只需知道其單跳鄰居節(jié)點(diǎn)的信息,拓?fù)涓淖兂尸F(xiàn)本地化特征。SP州協(xié)議的缺點(diǎn)是數(shù)據(jù)廣告機(jī)制不能保證數(shù)據(jù)的可靠傳遞,如果對數(shù)據(jù)感興趣的節(jié)點(diǎn)遠(yuǎn)離源節(jié)點(diǎn)或者在源節(jié)點(diǎn)和目的節(jié)點(diǎn)中間的節(jié)點(diǎn)對數(shù)據(jù)不感興趣,那么數(shù)據(jù)就不可能被傳遞到目的地。因此,對于入侵發(fā)現(xiàn)等需要在定期間隔內(nèi)可靠傳遞數(shù)據(jù)的應(yīng)用系統(tǒng)來說,SP州并不是一個很好的選擇。(3) SAR (sequential assignment routing) 在選擇路徑時,有序分配路由(SAR
6、)策略充分考慮了功耗、QoS和分組優(yōu)先權(quán)等特殊要求,采用局部路徑恢復(fù)和多路經(jīng)備份策略,避免節(jié)點(diǎn)或鏈路失敗時進(jìn)行路由重計算需要的過量計算開銷。為了在每個節(jié)點(diǎn)與sink節(jié)點(diǎn)間生成多條路經(jīng),需要維護(hù)多個樹結(jié)構(gòu),每個樹以落在sink節(jié)點(diǎn)有效傳輸半徑內(nèi)的節(jié)點(diǎn)為根向外生長,枝干的選擇需滿足一定QOS要求并要有一定的能量儲備。這一處理使大多數(shù)傳感器節(jié)點(diǎn)可能同時屬于多個樹,可任選其一將采集數(shù)據(jù)回傳到sink節(jié)點(diǎn)。(4) LEACH (low energy adaptive clustering hierarchy) LEACH是MIT的Chandrakasan等人為無線傳感器網(wǎng)絡(luò)設(shè)計的低功耗自適應(yīng)聚類路由算法
7、。與一般的平面多跳路由協(xié)議和靜態(tài)聚類算法相比,LEACH可以將網(wǎng)絡(luò)生命周期延長15%,主要通過隨機(jī)選擇聚類首領(lǐng),平均分擔(dān)中繼通信業(yè)務(wù)來實(shí)現(xiàn)。LEACH定義了“輪”(round)的概念,一輪由初始化和穩(wěn)定工作兩個階段組成。為了避免額外的處理開銷,穩(wěn)定態(tài)一般持續(xù)相對較長的時間。 如圖3.4所示: LEACH協(xié)議的時序圖在初始化階段,聚類首領(lǐng)是通過下面的機(jī)制產(chǎn)生的。傳感器節(jié)點(diǎn)生成0,1之間的隨機(jī)數(shù),如果大于閾值T,則選該節(jié)點(diǎn)為聚類首領(lǐng).T的計算方法如下: (3.1)其中p為節(jié)點(diǎn)中成為聚類首領(lǐng)的百分?jǐn)?shù),r是當(dāng)前的輪數(shù)。 當(dāng)簇頭選定之后,簇頭節(jié)點(diǎn)主動向網(wǎng)絡(luò)中節(jié)點(diǎn)廣播自己成為簇頭的消息(ADV_CH)。接
8、收到此消息的節(jié)點(diǎn),依據(jù)接收信號的強(qiáng)度,選擇它所要加入的簇,并發(fā)消息通知相應(yīng)的簇頭(JOIN_REQ)。基于時分多址(Time Division Multiple Address,簡稱TDMA)的方式,簇頭節(jié)點(diǎn)為其中的每個成員分配通信時隙,并以廣播的形式通知所有的簇內(nèi)節(jié)點(diǎn)(ADVSCH)。這樣保證了簇內(nèi)每個節(jié)點(diǎn)在指定的傳輸時隙進(jìn)行數(shù)據(jù)傳輸,而在其他時間進(jìn)入休眠狀態(tài),減少了能量消耗。在穩(wěn)定工作階段,節(jié)點(diǎn)持續(xù)采集監(jiān)測數(shù)據(jù),在自身傳輸時隙到來時把監(jiān)測數(shù)據(jù)傳給簇頭節(jié)點(diǎn)(DATA),如圖3.5所示。簇頭節(jié)點(diǎn)對接收到數(shù)據(jù)進(jìn)行融合處理之后,發(fā)送到Sink節(jié)點(diǎn),這是一種減小通信業(yè)務(wù)量的合理工作模式。持續(xù)一段時間
9、以后,整個網(wǎng)絡(luò)進(jìn)入下一輪工作周期,重新選擇簇頭節(jié)點(diǎn)。 LEACH協(xié)議采用動態(tài)轉(zhuǎn)換簇頭的方法來平均網(wǎng)絡(luò)節(jié)點(diǎn)的能量消耗,使因能量耗盡而失效的節(jié)點(diǎn)呈隨機(jī)分布狀態(tài),因而與一般的多跳路由協(xié)議和靜態(tài)簇算法相比,LEACH可以將網(wǎng)絡(luò)生命周期延長15%。但是LEACH協(xié)議在每輪固定簇頭節(jié)點(diǎn)后在劃分簇的過程中,簇頭節(jié)點(diǎn)開銷較大。并且簇頭節(jié)點(diǎn)的選擇無法達(dá)到最優(yōu),有可能簇頭節(jié)點(diǎn)位于網(wǎng)絡(luò)的邊緣或者幾個簇頭節(jié)點(diǎn)相鄰,某些節(jié)點(diǎn)不得不傳輸較遠(yuǎn)的距離來與簇頭通信,這就導(dǎo)致了大量能量消耗。而且LEACH協(xié)議所有簇頭節(jié)點(diǎn)直接與Sink節(jié)點(diǎn)通信,采用連續(xù)數(shù)據(jù)發(fā)送模式和單跳路徑選擇模式,使得每輪中簇頭節(jié)點(diǎn)能耗巨大,因此不適合在大規(guī)模
10、的傳感器網(wǎng)絡(luò)中應(yīng)用。(5) TEEN (threshold sensitive energy efficient sensor network protocol) 依照應(yīng)用模式的不同,通??梢院唵蔚貙o線自組織網(wǎng)絡(luò)(包括傳感器網(wǎng)絡(luò)和Ad-hoc網(wǎng)絡(luò))分為主動(proactive)和響應(yīng)(reactive)兩種類型。主動型傳感器網(wǎng)絡(luò)持續(xù)監(jiān)測周圍的物質(zhì)現(xiàn)象,并以恒定速率發(fā)送監(jiān)測數(shù)據(jù);而響應(yīng)型傳感器網(wǎng)絡(luò)只是在被觀測變量發(fā)生突變時才傳送數(shù)據(jù)。相比之下,響應(yīng)型傳感器網(wǎng)絡(luò)更適合應(yīng)用在敏感時間的應(yīng)用中。TEEN和LEACH的實(shí)現(xiàn)機(jī)制非常相似,只是前者是響應(yīng)型的,而后者屬于主動型傳感器網(wǎng)絡(luò)。在TEEN中定義了
11、硬、軟兩個門限值,以確定是否需要發(fā)送監(jiān)測數(shù)據(jù)。當(dāng)監(jiān)測數(shù)據(jù)第一次超過設(shè)定的硬門限時,節(jié)點(diǎn)用它作為新的硬門限,并在接著到來的時隙內(nèi)發(fā)送它。在接下來的過程中,如果監(jiān)測數(shù)據(jù)的變化幅度大于軟門限界定的范圍,則節(jié)點(diǎn)傳送最新采集的數(shù)據(jù),并將它設(shè)定為新的硬門限。通過調(diào)節(jié)軟門限值的大小,可以在監(jiān)測精度和系統(tǒng)能耗之間取得合理的平衡。圖3.6表示的是TEEN協(xié)議中由聚簇構(gòu)成的層次結(jié)構(gòu)。TEEN協(xié)議中由聚簇構(gòu)成的層次結(jié)構(gòu)TENE適用于實(shí)時性要求較高的應(yīng)用場合,比如入侵警報,爆炸預(yù)警等,用戶可以及時獲取感興趣的信息。而且用戶可以通過設(shè)置不同的軟門限方便地平衡監(jiān)測的準(zhǔn)確性與系統(tǒng)節(jié)能性兩項指標(biāo)。但是這個方案也有一些不足之處
12、,例如門限值達(dá)不到,節(jié)點(diǎn)就永遠(yuǎn)不會和簇頭節(jié)點(diǎn)通信,用戶就無法從網(wǎng)絡(luò)得到任何數(shù)據(jù);沒有相應(yīng)的機(jī)制去區(qū)分那些沒有感應(yīng)到足夠大變化的節(jié)點(diǎn)和處于關(guān)閉狀態(tài)的節(jié)點(diǎn),所以TEEN協(xié)議不適合應(yīng)用在。(6) PEGAGIS (power-efficient gathering in sensor information system)PEGASIS由LEACH發(fā)展而來。它假定組成網(wǎng)絡(luò)的傳感器節(jié)點(diǎn)是同構(gòu)且靜止的。節(jié)點(diǎn)發(fā)送能量遞減的測試信號,通過檢測應(yīng)答來確定離自己最近的相鄰節(jié)點(diǎn)。在收集數(shù)據(jù)前,首先利用貪心算法將網(wǎng)絡(luò)中的所有節(jié)點(diǎn)連接成一條單鏈。通過這種方式,網(wǎng)絡(luò)中的所有節(jié)點(diǎn)能夠了解彼此的位置關(guān)系,進(jìn)而每個節(jié)點(diǎn)依據(jù)自
13、己的位置選擇所屬的聚類,聚類的首領(lǐng)向鏈的兩端發(fā)出收集數(shù)據(jù)的請求,數(shù)據(jù)從單鏈的兩個端點(diǎn)向首領(lǐng)流動。中間節(jié)點(diǎn)在傳遞數(shù)據(jù)前要執(zhí)行融合操作,最終由首領(lǐng)節(jié)點(diǎn)將結(jié)果數(shù)據(jù)傳送給Sink節(jié)點(diǎn)。因為PEGASIS中每個節(jié)點(diǎn)都以最小功率發(fā)送數(shù)據(jù)分組,并有條件完成必要的數(shù)據(jù)融合,減小業(yè)務(wù)流量。因此,整個網(wǎng)絡(luò)的功耗較小。研究結(jié)果表明,PEGASIS支持的傳感器網(wǎng)絡(luò)的生命周期是LEACH的近兩倍。 4.實(shí)驗器材與工具M(jìn)ATLAB5.程序源代碼function x=animation_datasmall=5; medium=20; large=50;% Event_name Animated Color/on/off/t
14、oggle Size anim_def=. 'Init_Application', 0, 0 0 0 , small, . 'Packet_Sent', 1, 0 1 0 , small, . 'Packet_Received', 1, 0 1 0 , small, . 'Collided_Packet_Received', 0, 1 0 0 , small, . 'Clock_Tick', 0, 0 0 0 , small, . 'Channel_Request', 0, 0 0 0 , smal
15、l, . 'Channel_Idle_Check', 1, 1 0 0 , small, . 'Packet_Receive_Start', 0, 0 1 0 , small, . 'Packet_Receive_End', 0, 0 0 0 , small, . 'Packet_Transmit_Start', 1, 1 0 0 , medium, . 'Packet_Transmit_End', 0, 0 1 0 , small;for i=1:length(anim_def) a=anim_defi; x(i
16、)=struct('event', a1, 'animated', a2, 'color', a3, 'size', a4);endfunction application(S)% DO NOT edit simulator code (lines that begin with S;)S; persistent app_data S; global ID tS; t, event, ID, data=get_event(S);S; topology, mote_IDs=prowler('GetTopologyInfo
17、39;);S; ix=find(mote_IDs=ID);S; if strcmp(event, 'Init_Application') S; try memory=app_dataix; catch memory=; end, S; endS; switch eventcase 'Init_Application' signal_strength=1; if ID=1 % first node starts flood Set_Clock(1000) end PrintMessage('i') case 'Packet_Sent'
18、; PrintMessage('s') case 'Packet_Received' % data.data % message % data.signal_strength % received signal strength if memory.send p=sim_params('get_app', 'P'); if isempty(p); p=.5; end if rand<p Send_Packet(radiostream(data.data, memory.signal_strength); end memory
19、.send=0; PrintMessage('r') endcase 'Collided_Packet_Received' % this is for debug purposes only case 'Clock_Tick' Send_Packet(radiostream('Message for 00111 from Golomb', memory.signal_strength);case 'GuiInfoRequest' disp(sprintf('Memory Dump of mote ID# %
20、d:n',ID); disp(memory) case 'Application_Stopped' % this event is called when simulation is stopped/suspended case 'Application_Finished' % this event is called when simulation is finished otherwise error('Bad event name for application: ' event)endS; app_dataix=memory;fu
21、nction b=Send_Packet(data);global ID tradio=prowler('GetRadioName');b=feval(radio, 'Send_Packet', ID, data, t);function b=Set_Clock(alarm_time);global IDprowler('InsertEvents2Q', make_event(alarm_time, 'Clock_Tick', ID);function PrintMessage(msg)global IDprowler('
22、TextMessage', ID, msg)function LED(msg)global IDprowler('LED', ID, msg)function varargout=infotitle1='Application FLOOD1D'str1= 'This application illustrates the simple flooding algorithm.' . ''. 'The sender mote transmits a message. Each mote receiving the
23、9;. 'message retransmits it with probability p.' ;. 'The value of p can be set in the ''Application Parameters'''. 'window. The default value is p=0.5'. ''. 'If p is too low, the flood dies out before every mote could'. 'receive the message
24、. If p it too high, the message is'. 'retransmitted several times after every mote have received it,' ;. 'thus causing an unnecessarily high settling time.'. ''. 'The optimal value of p highly depends on topology.'. ''. 'You can change the topology by
25、editing the file FLOOD1D_TOPOLOGY.'. ''. 'See also FLOOD2D.'. ''if nargout=0 helpwin( title1, str1, 'Application Info')else varargout= title1, str1;endfunction param=params;param(1).name='P' param(1).default=0.5;function topology,mote_IDs=topology(varargin
26、);Nx=10; Ny=1; % number of points on the gridix=1;t=;distx=1;disty=5;X=1:distx:(Nx-1)*distx+1;Y=1:disty:(Ny-1)*disty+1;for i=X for j=Y t=t; i,j; endendtopology=t;mote_IDs=1:Nx*Ny; function x=animationpersistent anim_dataif isempty(anim_data) small=5; medium=20; large=50; % Event_name Animated Color/
27、on/off/toggle Size anim_def=. 'Init_Application', 1, 0 0 0 , small, . 'Packet_Sent', 2, 1 0 0 , small, . 'Packet_Received', 3, 1 0 0 , small, . 'Collided_Packet_Received', 4, 1 0 0 , small, . 'Clock_Tick', 0, 0 0 0 , small, . 'Channel_Request', 0, 0 0
28、0 , small, . 'Channel_Idle_Check', 1, 1 0 0 , small, . 'Packet_Receive_Start', 0, 0 1 0 , small, . 'Packet_Receive_End', 0, 0 0 0 , small, . 'Packet_Transmit_Start', 1, 1 0 0 , medium, . 'Packet_Transmit_End', 1, 0 1 0 , small; for i=1:length(anim_def) a=anim_
29、defi; if i=1 anim_data=struct('event', a1, 'animated', a2, 'color', a3, 'size', a4); else anim_data(i)=struct('event', a1, 'animated', a2, 'color', a3, 'size', a4); end endendx=anim_data;function application(S)S; persistent app_data S;
30、global ID tS; t, event, ID, data=get_event(S);S; topology, mote_IDs=prowler('GetTopologyInfo');S; ix=find(mote_IDs=ID);S; if strcmp(event, 'Init_Application') S; try memory=app_dataix; catch memory=; end, S; endS; SENDER_ID=sim_params('get_app', 'Start_Mote'); if isem
31、pty(SENDER_ID), SENDER_ID=1; endswitch eventcase 'Init_Application' signal_strength=1; memory=struct('send',1, 'signal_strength', signal_strength); if ID=SENDER_ID % this node starts flood Set_Clock(1000) end PrintMessage('i') case 'Packet_Sent' memory.send=0;
32、 PrintMessage('s') case 'Packet_Received' % data.data % message % data.signal_strength % received signal strength if memory.send p=sim_params('get_app', 'P'); if isempty(p); p=.3; end % p=0.3; % p is forced to 0.3 / Comment this line if you want to use it for optimiza
33、tion if rand<p Send_Packet(radiostream(data.data, memory.signal_strength); end memory.send=0; PrintMessage('r') endcase 'Collided_Packet_Received' % this is for debug purposes only case 'Clock_Tick' Send_Packet(radiostream('this is the message', memory.signal_stren
34、gth); case 'GuiInfoRequest' if isempty(memory) disp(sprintf('Memory Dump of mote ID# %d:n',ID); disp(memory) else disp(sprintf('No memory dump available for node %d.n',ID); end case 'Application_Stopped' % this event is called when simulation is stopped/suspended case
35、 'Application_Finished' % this event is called when simulation is finished otherwise error('Bad event name for application: ' event)endS; app_dataix=memory;S;function b=Send_Packet(data);global ID tradio=prowler('GetRadioName');b=feval(radio, 'Send_Packet', ID, data,
36、t);function b=Set_Clock(alarm_time);global IDprowler('InsertEvents2Q', make_event(alarm_time, 'Clock_Tick', ID);function PrintMessage(msg)global IDprowler('TextMessage', ID, msg)function varargout=infotitle1='Application FLOOD2D'str1= 'This application illustrates
37、 the flooding algorithm in 2D.' . ''. 'The sender mote transmits a message. Each mote receiving the'. 'message retransmits it with probability p.' ;. 'The value of p can be set in the ''Application Parameters'''. 'window. The default value is p
38、=0.5.'. ''. 'The starting node can also be selected (parameter Start_Mote).'. 'Try 1 to start from the lower left corner, and 55 to start from'. 'the center of the (10x10) grid.'. ''. 'If p is too low, the flood dies out before every mote could'. 'receive the message. If p it too high, the message is'. 'retransmitted several times after every mote have received it,' ;. 'thus causing an unnecessarily high settling time.'. ''. &
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 雄安地下高鐵站綜合交通樞紐框架結(jié)構(gòu)節(jié)點(diǎn)抗震性能研究
- 基于OBE理念的高中化學(xué)項目式學(xué)習(xí)設(shè)計與實(shí)踐研究-以“氯及其化合物”為例
- 帶水平隔板波形鋼腹板箱梁擬平截面假定適用性研究
- 委托合同培訓(xùn)
- 小兒肺炎診療規(guī)范(人衛(wèi)八版兒科)
- 職業(yè)健康宣貫部署會議
- 健康評估肺臟叩診
- 補(bǔ)鉀護(hù)理操作流程
- 小朋友回家安全專題課件
- 乙肝產(chǎn)婦術(shù)后護(hù)理查房
- 臺釣介紹課件
- 給政府寫的項目申請報告
- 公路水運(yùn)工程生產(chǎn)安全重大事故隱患判定標(biāo)準(zhǔn)2025
- 購買黃金合同協(xié)議書范本
- 橈動脈穿刺置管操作與壓力監(jiān)測專家共識解讀
- 重癥患者早期康復(fù)
- 物業(yè)員工夏季防暑培訓(xùn)
- 2025-2030益智玩具行業(yè)市場深度分析及前景趨勢與投資研究報告
- 吉林會考地理試題及答案
- 小學(xué)科學(xué)探究式學(xué)習(xí)活動方案
- 《計算機(jī)視覺技術(shù)》課件
評論
0/150
提交評論