張 輝,黃向生
(1.山西大學 商務學院,太原 030031;2.中國科學院自動化研究所,北京 100190)
無線傳感器網絡融合了傳感器技術、無線通信和電子技術等多個領域,從根本上解決了傳感器網絡龐大、布線困難的問題。無線傳感器網絡的基本功能是收集和返回傳感器節點所在監測區域的信息。然而,網絡節點的資源非常有限,主要是電池能量、處理能力、存儲容量和通信帶寬[1-3]。目前,無線傳感器網絡數據融合方法大多是基于查詢模式的,適用范圍比較窄[4]。應用中,需要對整個網絡中各個區域的信息進行監控,聚合節點不僅需要獲取整個網絡節點采集到的數據,還需要對數據生成的區域信息進行更有針對性的分析,在這種情況下,有些融合方法不能滿足實際需要。另外,當網絡規模較小時,可以不使用融合方法來實現數據傳輸[5-7]。然而,當網絡規模非常大且是異步的情況下,在整個網絡中獲取數據是非常耗費能量的,在傳輸數據時添加相應的精確位置信息會更消耗能量。如果不使用適當的融合方法,網絡中的許多節點將因能量耗盡而迅速失效,嚴重時,整個網絡可能崩潰[8-9]。因此,迫切需要設計一種有效的無線傳感器網絡數據融合方法。以下是目前主要的研究成果:
文獻[10]提出了一種基于密度的無線傳感器數據融合算法。通過對無線傳感器網絡在一定時間內的分析,有效數據和變化幅度主要集中在相對時間內,所需采樣點更密集;而隨機變化較小的數據則更分散、更需要采樣點稀疏。在一定的數據采集時間內,根據數據的密度找到有效的采集中心點,收斂速度越接近中心點,數據融合速度離中心點越遠。實驗結果表明,該算法融合復雜度低,但融合能耗高。
文獻[11]提出了一種基于多稀疏聚類壓縮感知的無線傳感器網絡數據融合方法。利用改進的閾值對隨機選取的傳感器節點進行聚類,形成最優聚類。簇頭利用Bernoulli隨機觀測矩陣對簇內節點進行線性壓縮投影,將壓縮后的信息傳輸到匯聚節點,減少數據傳輸,即降低通信能耗,從而提高網絡的生命周期。根據傳感器節點監測信號,它在有限差分和小波中都具有可壓縮特性[12-15]。收斂節點在有限差分和小波的2個稀疏基約束下,利用OOMP算法重構線性壓縮投影信息,并用最小二乘法重建數據。實驗結果表明,該方法具有較高的數據采集和融合精度,但效率較低。
文獻[16]提出了一種基于深度學習模型的數據融合算法。構建的特征提取模型CNNM在聚合節點處進行訓練,然后通過CNNM提取每個終端節點的原始數據特征,最終將合并后的數據發送到聚合節點,從而減少數據傳輸量,延長網絡壽命。實驗結果表明,該算法具有較低的融合損失,但融合精度較差。
文獻[17]提出了一種基于中繼節點機制的聚類數據融合算法。根據不同簇的數據信任值和能量信任值選擇簇頭,并在每個簇中選擇一個中繼節點。集群成員的數據由簇頭采集合并后發送到中繼節點,中繼節點用基站代替簇頭進行數據通信等,大大降低了簇頭每輪的能耗。實驗結果表明,該算法具有良好的穩定性,但融合后的數據利用率較低,融合結果并不十分令人滿意。
針對現有研究不能滿足實際需要的情況,提出了一種基于無跡卡爾曼濾波(UKF)的無線傳感器異步數據融合算法。具體流程如下:
1)采用RNAT機制消除無線傳感器異步數據中的冗余數據,降低數據融合的能耗,提高融合效率。
2)通過四圓定位法確定目標的可能區域,并對待合并的數據進行跟蹤定位,為數據融合奠定基礎。
3)采用無跡卡爾曼濾波算法實現異步數據融合。
4)通過實驗和討論驗證了該算法的正確性。
為了降低數據融合能耗,提高融合效率,需要在數據融合前去除冗余數據。針對無線傳感器異步數據的特殊性,采用RNAT機制去除冗余數據。具體流程如下:
冗余節點識別:如果一個節點的檢測區域可以被它的鄰居完全覆蓋,那么這個節點就是一個冗余節點。如圖1所示,假設節點i的檢測區域是半徑為r的圓,表示為S(i)。區域S(i)中的節點j是節點i的鄰居,并且i的所有鄰居的集合被記錄為N(i)。相鄰節點i和j的檢測區域在點P1和P2處相交,使得S(i)和S(j)之間存在重疊。為便于計算,將重疊簡化為半徑為iP1、iP2和弧P1P2的扇區,表示為Sij。假設∪Sij?S(i),j∈N(i),則節點i的檢測區域可以被其鄰居完全覆蓋,即節點i是冗余節點。如圖2所示,節點0的檢測區域被相鄰節點1、2和3完全覆蓋。根據上述判斷方法,該節點為冗余節點。

圖1 探測區疊加示意圖

圖2 探測范圍示意圖
根據圖1和圖2,生成冗余樹,通過網絡中冗余節點的識別,來構造數據冗余樹,具體過程如下:
簇內冗余節點的選擇:簇中冗余節點的個數可能會比較多,根據距離和剩余能量判斷冗余節點是否可以進行樹的構建。通過簇內節點間的互相作用,如剩余能量或者位置,計算集群中的所有冗余節點都能成為樹上節點的權重,廣播并聲明權重最高的節點為樹上的一個節點,負責集群內監控數據的融合處理[18-20]。選定的冗余節點標識自己的級別,即級別為0。
Sink節點將自己的級別標記為1,并發送一條消息開始建立冗余節點樹。消息格式為(ID,LEVEL)。此時,ID是Sink節點的ID,級別為1。在接收到該消息后,位于其通信范圍內的冗余節點將Sink節點標記為其自己的父節點,并且其自身的級別是父節點LEVEL+1,它將成為次要節點。
輔助冗余節點廣播消息(ID、FID、LEVEL),其中ID是輔助冗余節點本身的ID,FID是父節點的ID,LEVEL是2。接收此消息的冗余節點將檢查其級別值。如果為0,則將次節點標記為自己的父節點,并將自己的級別修改為3。如果不是0,則表示它已經在冗余節點樹上,并且節點不執行任何操作[21-22]。
根據這一級別的廣播,直到網絡不存在冗余節點(該級別為0),冗余樹才完成。
根據上述方式檢測無線傳感器異步數據中的冗余數據。根據經驗,當無線傳感器網絡中存在大量冗余節點時,如果不采用有效的處理機制,網絡能量將主要消耗在數據的無線通信過程中,冗余數據的無線通信將極大地消耗網絡能量。同時,集群網絡中簇頭節點的負擔增加,網絡壽命縮短[23-24]。在建立冗余節點的融合樹機制后,由于冗余節點參與了簇頭的任務,冗余節點和公共成員節點的能量發生了相應的變化[25]。冗余節點能量被移除,即冗余數據被消除。則冗余數據的消除公式可以表示為
Ern=Ech-Emen,
(1)
其中:Ern表示冗余數據處理后的數據,Emen表示無線傳感器的冗余能量數據,Ech表示無線傳感器簇頭節點的能量。
為了提高數據融合的精度,提高數據融合的利用率,有必要對待融合的無線傳感器的異步數據進行跟蹤定位。
為了有效解決無線傳感器的異步數據定位問題,假設每個傳感器的探測范圍半徑相等,在計算目標區域時不必使用所有傳感器信息,通過四圓定位法可以有效地確定目標可能出現的區域,如圖3所示。

圖3 定位圖
假設Z表示包含目標的最小區域,D表示檢測到所有目標的節點集,ai、aj和ak分別是以Ni、Nj和Nk為圓心的半徑相等的圓。然后目標定位算法如下:Ni、Nj∈D,將t1和t2定義為滿足式(2)的圓形區域內邊界ai和aj的交點,通過t1和t2的直線定義為b1。
{t1,t2} = (ai)∩(aj),
(2)
在Nk∈D-{Ni,Nj}的所有節點中,在b1線的[t1,t2]區域尋找所有的圓形檢測區域ak。假設只有1個節點的圓形檢測區域as通過b1線上的區域[t1,t2],則
Z=(as)∩((ai)∩(aj))。
(3)
根據式(3),算法結束。
假設有2個圓區域am和an通過直線b1上的區域[t1,t2],則計算這2個圓區域邊界的交點,并將通過2點{r1,r2}的直線定義為b2。
{r1,r2}=(am)∩(an)。
(4)
在Nk∈D-{Ni,Nj,Nm,Nn}的所有節點中,在b2上的{r1,r2}區域中尋找圓形檢測區域。假設2個圓形區域通過b2上的{r1,r2}區域,則計算Z1=((am)∩(an))∩Z,算法結束;假設只有一個圓ar通過b2上的{r1,r2}區域,則Z=(ar)∩((ai)∩(aj)),算法結束。
上述算法的主要目的是計算出包含目標的最小區域。首先,任意選取2個檢測目標信息的節點計算2個圓形檢測區域邊界的交集,然后迭代求出與[t1,t2]相交的圓形檢測區域。經過以上步驟,可以找到滿足條件的節點,并計算出通過2點{r1,r2}的直線b2。然后,使用相同的方法來計算穿過直線b2上的區域{r1,r2}的圓形檢測區域。最后得到目標區域為ai、aj和ak的交叉區域,如圖3所示。O代表目標位置。通過上述異步數據目標定位,可以有效提高數據融合精度[26]。
通過1.1節和1.2節的冗余數據去除和異步數據定位,采用UKF算法實現數據融合。
在無線傳感器的異步數據融合中,傳感器通常有一個或多個距離R、徑向率R′、方位b′和俯仰角e的測量值[27-28]。由于在事后分析中提高數據融合的準確性,即數據分類的準確性和融合后的數據利用率非常重要,因此可以做一些必要的假設:
1)不同傳感器的原始測量值彼此獨立。
2)同一傳感器的不同原始量測量值彼此獨立。
基于上述2個一般可行性假設,可以對不同類型的傳感器數據使用不同的測量進行有效的壓縮融合。

(5)
(6)
(7)
(8)
方程(5)~(8)的計算結果經過無跡卡爾曼濾波,即用UKF實現數據融合。公式(5)到(8)的過濾器可以表示為
(9)
(10)
(11)
(12)
其中:Kk表示卡爾曼濾波的增益矩陣;T表示矩陣轉置。信道測量通過式(9)~(10)進行融合,融合結果如式(13)所示
(13)
其中:Zk表示基于UKF的無線傳感器異步數據融合的結果,⊙表示十字符號。
通過利用matlab進行測試和仿真,驗證所提出的無線傳感器異步數據融合優化算法的有效性,并對算法的性能進行了比較和分析。仿真參數見表1。

表1 仿真參數
實驗指標為:
1)融合能耗;2)融合效率;3)融合精度。
實驗結果如圖4和圖5所示。

圖4 不同數據融合方法的能量消耗比較

圖5 不同數據融合方法的融合效率比較
從圖4和圖5的分析可以看出,基于UKF的無線傳感器異步數據融合算法具有較高的融合效率,且融合能耗較低,說明該算法更具可行性。
該算法在識別網絡冗余節點的基礎上,構造數據冗余樹,去除冗余節點能量,有效地減少了數據融合時間和融合能耗。根據圖6的分析,與現有的無線傳感器網絡數據融合方法和算法相比,基于UKF的無線傳感器異步數據融合算法具有更小的數據融合誤差,即精度更高。在不同實驗時間下,該算法融合的利用率較高。整個融合的準確率在90%以上。產生上述結果的主要原因是:通過異步數據定位,初步提高了數據融合精度和融合結果的利用率,并利用共同的可行假設對不同類型的傳感器數據進行有效壓縮,進一步提高了數據融合精度。

圖6 不同數據融合方法融合精度的比較
根據UKF的無線傳感器異步數據融合算法的數據定位精度研究,定位節點數量會影響定位精度,即使定位節點數一定,不同實驗次數和定位干擾因素數也會影響定位精度。按照定位節點數一定,實驗次數不同;定位節點數一定,定位干擾因素數不同;定位節點數為約束因子等3種情況,對數據定位精度進行觀測,驗證了該算法的數據融合效果。結果如圖7所示。

圖7 基于UKF的無線傳感器異步數據融合算法在不同因素下的定位精度
從圖7可以看出,該算法具有較高的定位精度。在算法操作中,通過四圓定位法確定可能出現待定位目標的區域。其中,任意選擇2個檢測目標信息的節點,計算2個圓形檢測區域邊界的交集,然后用迭代法連續逼近待定位目標。根據這種隨機性,該算法在不同影響因素下具有很強的定位精度。
提出了一種基于無跡卡爾曼濾波(UKF)的無線傳感器異步數據融合算法,首先利用RNAT機制識別無線傳感器網絡中的冗余節點,然后采用四圓定位法進行異步數據跟蹤定位,最后引入無跡卡爾曼濾波算法并結合異步數據定位結果實現異步數據融合。實驗結果表明,提出的算法能耗低,且具有較高的數據融合效率和融合精度。