分簇結構無線傳感器網絡及其MAC實現方法與流程
2023-07-20 16:19:22 1

本發明涉及無線傳感器網絡領域,特別涉及一種分簇結構無線傳感器網絡的mac實現方法,以及使用該方法的無線傳感器網絡。
背景技術:
無線傳感器網絡是一種將傳感器技術和無線通信技術相結合的網絡。無線傳感器網絡的具體實現是將傳感器節點散步在監控區域內,並通過它們的能量模塊提供能源,通過傳感器進行數據採集,通過控制模塊進行數據的聚合,並通過無線模塊進行數據的發送或轉發。隨著電子器件技術的發展,無線傳感器網絡的建立成本不斷下降,應用也越來越廣泛,並在工業、農業、畜牧業、漁業、軍事、醫療等行業取得了良好的應用。
由於無線傳感器網絡的隨機布放,傳感器節點的持續工作是其關鍵點。由於傳感器節點的尺寸較小,難以支撐較長的供能,更換電池也不容易。因此,如何設計無線傳感器網絡的協議,使得網絡的總體能耗儘量減小,是無線傳感器網絡設計的重點。
對於規模較大的無線傳感器網絡而言,為了加強網絡的管理,同時優化能耗,有必要進行網絡的分簇。對於分簇結構的無線傳感器網絡,設計一種高效的mac實現方法,有助於整個網絡的能耗節省。
技術實現要素:
鑑於以上所述現有技術的缺點,本發明的目的在於提供分簇結構無線傳感器網絡及其mac實現方法,從而儘量減少無線傳感器網絡的總體能耗。
為實現上述目的及其他相關目的,本發明提供一種分簇結構無線傳感器網絡的mac實現方法,包括:a.簇頻率選擇:簇頭節點發送簇頭公告,當與不同簇的簇頭頻率發生碰撞時,令對方簇頭節點進行頻率調整;b.初始時隙劃分:根據簇內各成員節點的剩餘能量,進行初始時隙劃分;c.休眠或發送數據:傳感器節點在沒有數據需要發送時保持無線模塊休眠,而在需要發送數據時將無線模塊喚醒,並在發送前後發出控制信息;d.時隙調整:根據上一幀的忙閒程度,進行時隙的動態調整。
於本發明一實施例中,所述a.簇頻率選擇的方法包括以下步驟中的一種或兩種組合:a1.簇頭節點在預先設置的頻率表中選擇尚未被佔用的頻率作為簇頭頻率,並通過公共信道發送簇頭公告;a2.當本簇的成員節點收到其它簇的簇頭節點發出的簇頭公告時,判斷對方的簇頭公告中擬使用的頻率與本簇已使用的頻率是否相同;若否,則在預先設置的頻率表中將對方的簇頭公告所使用的頻率標記為已佔用;若是,則對於能量低於一定值的簇頭節點,令其保留頻率;對於能量高於一定值的簇頭節點,通知其重新選擇所述頻率表中的空閒頻率並再度發出簇頭公告。
於本發明一實施例中,所述簇頭公告包括的內容有:簇頭節點號、選用頻率、及簇頭能量。
於本發明一實施例中,所述b.初始時隙劃分的方法包括以下步驟中的一種或兩種組合:b1.在網絡初始狀態下,所有傳感器節點都未發送過數據,此時根據簇內節點的剩餘能量進行時隙劃分;b2.對於包含1個簇頭和n個成員節點的簇,令簇頭編號為0,成員節點編號為1至n,則成員節點i所分配到的時隙長度為t(i),t(i)=ktmin,其中,tmin為最小能量段所分配的時隙長度,k為成員節點i的能量所位於的能量段的段號,k通過
計算得到,其中,e(i)是成員節點i的剩餘能量,emax是簇內所有成員節點中能量的最大值,emin是簇內所有成員節點中能量的最小值,le=int[log2(n+1)]是能級數量,emin至emax之間的能量值被均勻劃分為le個能量段。
於本發明一實施例中,所述b.初始時隙劃分的方法還包括:b3.每一幀的時隙組成,由控制時隙tc、及各個成員節點所分配到的時隙t(1),t(2),…,t(n)所構成。
於本發明一實施例中,所述b.初始時隙劃分的方法還包括:b4.在每一幀的開始,簇頭節點將時隙分配表進行廣播,並在一定的簇頭廣播時長之後開始第一輪的分配時隙計時。
於本發明一實施例中,所述c.休眠或發送數據的方法包括:c1.傳感器節點收到時隙分配表以後,根據所述時隙分配表進行數據發送安排;c2.若傳感器節點沒有數據需要發送,則將無線模塊保持休眠狀態;c3.若傳感器節點有數據需要發送,則在其所分配到的時隙開始時,將無線模塊喚醒,並令所述無線模塊發送數據。
於本發明一實施例中,所述c3的方法還包括:在所分配的時隙開始時,發送一個表示開始發送的控制信息,隨後進行數據發送;若在時隙內完成數據發送,則在時隙結尾時發送一個表示發送完成的控制信息;若在時隙內沒有完成數據發送,則在時隙結尾時發送一個表示申請繼續發送的控制信息。
於本發明一實施例中,所述d.時隙調整的方法包括:d1.每一幀結束,簇頭節點根據各個時隙的使用情況,進行時隙調整,包括:若傳感器節點在前一幀的所對應時隙沒有發送數據,則該時隙稱為空閒時隙;若傳感器節點在前一幀的所對應時隙有發送過數據,且在時隙結束前發送了申請繼續發送的請求,則該時隙稱為繁忙時隙;若傳感器節點在前一幀的所對應時隙發送過數據,且在時隙結束前沒有發送申請繼續發送的請求,則該時隙稱為工作時隙;d2.在當前幀中:對於空閒時隙,成員節點i所分配到的時隙由上一幀中的t(i)調整為預設分數倍的t(i);對於繁忙時隙,成員節點i所分配到的時隙由上一幀中的t(i)調整為(1+預設分數倍p)t(i),其中,p為此前連續出現繁忙時隙的次數;對於工作時隙,則保持與上一幀中的t(i)相同。
於本發明一實施例中,所述d.時隙調整的方法還包括:d3.在每一幀的開始,簇頭節點將更新後的時隙分配表進行廣播,並在一定的簇頭廣播時長之後開始又一輪的分配時隙計時。
為實現上述目的及其他相關目的,本發明提供一種無線傳感器網絡,所述無線傳感器網絡應用如上任一所述的分簇結構無線傳感器網絡的mac實現方法。
如上所述,本發明的分簇結構無線傳感器網絡及其mac實現方法,當簇頭節點發送的簇頭公告的頻率與不同簇的簇頭頻率發生碰撞時,令對方簇頭節點進行頻率調整;根據簇內各成員節點的剩餘能量進行初始時隙劃分;通過是否需要發送數據而將無線模塊進行休眠或喚醒,並在發送數據前後進行控制信息的發送;在後續的幀中根據上一幀的忙閒程度動態調整當前幀的時隙,能夠使無線傳感器網絡的總體能耗下降,並有效減少了平均數據包的傳輸延遲。
附圖說明
圖1顯示為本發明一實施例中的分簇結構無線傳感器網絡的mac實現方法的流程圖。
圖2顯示為本發明一實施例中的頻率選擇過程示意圖。
圖3顯示為本發明一實施例中的時隙劃分、數據發送或休眠、時隙調整過程示意圖。
具體實施方式
以下通過特定的具體實例說明本發明的實施方式,本領域技術人員可由本說明書所揭露的內容輕易地了解本發明的其他優點與功效。本發明還可以通過另外不同的具體實施方式加以實施或應用,本說明書中的各項細節也可以基於不同觀點與應用,在沒有背離本發明的精神下進行各種修飾或改變。需說明的是,在不衝突的情況下,以下實施例及實施例中的特徵可以相互組合。
需要說明的是,以下實施例中所提供的圖示僅以示意方式說明本發明的基本構想,遂圖式中僅顯示與本發明中有關的組件而非按照實際實施時的組件數目、形狀及尺寸繪製,其實際實施時各組件的型態、數量及比例可為一種隨意的改變,且其組件布局型態也可能更為複雜。
在監測區域內,一般會隨機布放著一些無線傳感器,在網絡初始階段,通過匯聚節點發出控制信號,無線傳感器網絡按照分簇算法進行分簇,以形成分簇結構。本發明為了達到無線傳感器網絡的總體能耗下降、減少平均數據包的傳輸延遲等效果,提出一種基於分簇結構的無線傳感器網絡的mac實現方法,如圖1所示,主要包括四個階段:a簇頻率選擇、b初始時隙劃分、c休眠或發送數據、d時隙動態調整。
請參閱圖2,在發明中,傳感器節點預先設置一套頻率表,其中包含可以選擇的頻率。在a簇頻率選擇階段,簇頭節點發送簇頭公告,當與不同簇的簇頭頻率發生碰撞時,令對方簇頭節點進行頻率調整,其中,所述簇頭公告包括的內容有:簇頭節點號、選用頻率、及簇頭能量。詳細的:
簇頭節點在預先設置的頻率表中選擇尚未被佔用的頻率作為簇頭頻率,並通過公共信道發送簇頭公告。當本簇的成員節點收到其它簇的簇頭節點發出的簇頭公告時,判斷對方的簇頭公告中擬使用的頻率與本簇已使用的頻率是否相同;若否,則在預先設置的頻率表中將對方的簇頭公告所使用的頻率標記為已佔用;若是,則進行優先級判斷,即:對於能量較低的(如:低於一定值)簇頭節點,令其保留頻率;對於能量較高的(如:高於一定值)簇頭節點,通知其重新選擇所述頻率表中的空閒頻率並再度發出簇頭公告。
圖3顯示了b時隙劃分、c數據發送或休眠、和d時隙動態調整的過程。
在b初始時隙劃分階段,本發明根據簇內各成員節點的剩餘能量,進行初始時隙劃分。詳細的:
在網絡初始狀態下,所有傳感器節點都未發送過數據,此時根據簇內節點的剩餘能量進行時隙劃分。對於包含1個簇頭和n個成員節點的簇,令簇頭編號為0,成員節點編號為1至n,對於編號為i的節點,它的剩餘能量表示為e(i)。設簇內所有成員節點中,能量的最大值為emax=max[e(1),e(2),…e(n)],能量的最小值為emin=min[e(1),e(2),…e(n)],而能級數量le=int[log2(n+1)]代表著將emin至emax之間的能量值均勻地劃分為le個區間,每個區間是一個能級。若成員節點i的能量位於第k個能量段時,有:
那麼,成員節點i所分配到的時隙長度t(i)就為ktmin,其中,tmin為最小能量段所分配的時隙長度。
每一幀的時隙組成,由控制時隙tc、及各個成員節點所分配到的時隙t(1),t(2),…,t(n)所構成。在每一幀的開始,簇頭節點將時隙分配表進行廣播,並在一定的簇頭廣播時長之後開始第一輪的分配時隙計時。此後,依次開始t(1),t(2),…,t(n)的時隙使用過程。
在c休眠或發送數據階段,傳感器節點在沒有數據需要發送時保持無線模塊休眠,而在需要發送數據時將無線模塊喚醒,並在發送前後發出控制信息。詳細的:
傳感器節點收到時隙分配表以後,根據所述時隙分配表進行數據發送安排。若傳感器節點沒有數據需要發送,則將無線模塊保持休眠狀態;若傳感器節點有數據需要發送,則在其所分配到的時隙開始時,將無線模塊喚醒,並令所述無線模塊發送數據。
在所分配的時隙開始時,發送一個表示開始發送的控制信息,隨後進行數據發送。若在時隙內完成數據發送,則在時隙結尾時發送一個表示發送完成的控制信息。若在時隙內沒有完成數據發送,則在時隙結尾時發送一個表示申請繼續發送的控制信息。
在d時隙動態調整階段,本方法根據上一幀的忙閒程度,進行時隙的動態調整。詳細的:
在每一幀的結束,簇頭節點根據各個時隙的使用情況進行時隙調整:若傳感器節點在前一幀的所對應時隙沒有發送數據,則該時隙稱為空閒時隙;若傳感器節點在前一幀的所對應時隙有發送過數據,且在時隙結束前發送了申請繼續發送的請求,則該時隙稱為繁忙時隙;若傳感器節點在前一幀的所對應時隙發送過數據,且在時隙結束前沒有發送申請繼續發送的請求,則該時隙稱為工作時隙。在當前幀中:對於空閒時隙,成員節點i所分配到的時隙由上一幀中的t(i)調整為預設分數倍的t(i),如:0.5t(i);對於繁忙時隙,成員節點i所分配到的時隙由上一幀中的t(i)調整為(1+預設分數倍p)t(i),如:(1+0.5p)t(i),其中,p為此前連續出現繁忙時隙的次數;對於工作時隙,則保持與上一幀中的t(i)相同。
在每一幀的開始,簇頭節點將更新後的時隙分配表進行廣播,並在一定的簇頭廣播時長之後開始又一輪的分配時隙計時。
除此之外,本發明還提供一種無線傳感器網絡,在網絡初始階段,通過匯聚節點發出控制信號。所述無線傳感器網絡按照分簇算法進行分簇,並對其傳感器節點預先設置一套頻率表,該頻率表中包含若干可以選擇的頻率。特別的,所述無線傳感器網絡應用前述實施例中的分簇結構無線傳感器網絡的mac實現方法,從而減少了自身的總體能耗以及平均數據包的傳輸延遲。由於前述實施例中的技術特徵能夠應用於本實施例,因而不再重複贅述。
綜上所述,本發明的分簇無線傳感器網絡及其mac實現方法,有效克服了現有技術中的種種缺點而具高度產業利用價值。
上述實施例僅例示性說明本發明的原理及其功效,而非用於限制本發明。任何熟悉此技術的人士皆可在不違背本發明的精神及範疇下,對上述實施例進行修飾或改變。因此,舉凡所屬技術領域中具有通常知識者在未脫離本發明所揭示的精神與技術思想下所完成的一切等效修飾或改變,仍應由本發明的權利要求所涵蓋。