專利名稱:一種基于非閾值的無線傳感器網絡節(jié)點數據壓縮方法
技術領域:
本發(fā)明涉及一種基于非閾值的無線傳感器網絡節(jié)點數據壓縮方法,屬于無線傳感 器網絡節(jié)點數據壓縮方法技術領域。
背景技術:
無線傳感器網絡是當前在國際上備受關注的、涉及多學科高度交叉、知識高度集 成的前沿熱點研究領域。傳感器技術、微機電系統(tǒng)、現代網絡和無線通信等技術的進步,推 動了無線傳感器網絡的產生和發(fā)展,無線傳感器網絡擴展了人們信息獲取能力,將客觀世 界的物理信息同傳輸網絡連接在一起,在下一代網絡中將為人們提供最直接、最有效、最真 實的信息,具有十分廣闊的應用前景,可廣泛地應用于軍事國防、工農業(yè)生產、城市管理、生 物醫(yī)療、環(huán)境檢測、搶險救災、危險區(qū)域遠程控制等領域,已經引起了許多國家學術界和工 業(yè)界的高度重視,被認為是對21世紀產生巨大影響力的技術之一。由于無線傳感器網絡節(jié)點體積微小,通常攜帶能量十分有限的電池,在很多情況 下更換電池代價過高,通信開銷常常比計算開銷高幾個數量級,傳輸Ibit數據所消耗的能 量大約相當于之行1000條CPU指令;現有的無線傳感器網絡節(jié)點處理數據的方法是將所 有的采集數據值發(fā)送給網關Sink節(jié)點,這樣需要的通信開銷大,發(fā)送大量數據需要較多的 能量,不僅浪費了通信的帶寬和自身的能量,也會使大量數據包進入無線網絡,產生擁塞, 并使整個網絡的能量急劇減少,使信息收集的效率大大降低。因此,無線傳感器網絡節(jié)點數 據壓縮是目前無線傳感器網絡監(jiān)測技術中不可或缺的一種數據處理方法,但現有的無線傳 感器網絡節(jié)點數據壓縮方法的壓縮比較小,通信開銷和能量開銷大,信息收集效率低。
發(fā)明內容
本發(fā)明的目的是解決上述現有無線傳感器網絡節(jié)點處理數據的方法中將所有采 集數據值發(fā)送給網關sink節(jié)點而導致通信開銷和能量開銷大、信息收集效率低的缺陷,而 提供一種無線網絡傳感器節(jié)點數據壓縮的方法,從而減小無線傳感器網絡節(jié)點發(fā)送數據時 的通信開銷和能量開銷、提高信息收集效率。本發(fā)明的目的是通過以下技術方案實現的一種基于非閾值的無線傳感器網絡節(jié)點數據壓縮方法,包含以下步驟步驟一無線傳感器網絡當前級的節(jié)點在一段時間內采集的時間序列數據組成時 間序列數據集合,表示為D = WnC^d3,…,屯,屯+1,…,dn},集合D中的元素Cli表示節(jié)點 在第i時刻所采集的數據,i為1,2,……,η;步驟二無線傳感器網絡節(jié)點計算時間序列數據集合D中的每一個元素Cli的邊緣 幅度,形成邊緣幅度集合E (D) = {ei,e2,e3,-,e^e^,…,en},其中ei為(Ii的邊緣幅度;步驟三無線傳感器網絡節(jié)點計算邊緣幅度集合E (D)中的每一個元素ei的邊緣 強度集合W(D) = Iw1, w2,w3,-,Wi5Ww,…,wn},其中Cli的邊緣強度記為Wi ;步驟四根據設定的數據壓縮比,計算邊緣點的個數N,并計算在同等邊緣強度下的時間序列數據集合D與其分段折線表示之間的擬合誤差E,根據擬合誤差E值,從大到小 依次選出N個擬合誤差E值對應的數據集合D的值作為邊緣點;步驟五利用選取的N個邊緣點對時間序列數據集合D進行分段折線壓縮,無線傳 感器網絡節(jié)點將選取的邊緣點發(fā)送到上一級節(jié);步驟六上一級節(jié)點將接收到的邊緣點作為采集的時間序列數據;步驟七重復步驟一 步驟六,直至上一級節(jié)點為Sink網關節(jié)點時完成數據壓縮。進一步地,本發(fā)明的技術方案中一種基于非閾值的無線傳感器網絡節(jié)點數據壓縮 方法的步驟二中求解時間序列數據集合D中的每一個元素Cli的邊緣幅度ei的計算公式為ei =Σ (di+t* (Clm-Cli))其中1彡i彡n,-u彡t彡u,u表示對時間序列數據集合D的檢測窗口長度,檢測 窗口以第i時刻為中心,*為離散卷積運算,卷積后序列累積求和作為Cli的邊緣幅度ei.所述數據壓縮方法的步驟三中求解邊緣點強度的計算公式為
k=i+uW, =k^i
k=i-u其中1 ( i彡n,u是步驟二中時間序列數據集合D的檢測窗口長度,p(k)的計算 公式為 所述的數據壓縮方法步驟四中所述的時間序列數據集合D與其分段折線表示之 間的擬合誤差E計算方法為首先計算時間序列數據集合D的分段折線吡=<f\ ((I1, dtl),f2 (dtl+1,dt2),..., 然后計算數據集合D的擬合序列為DJ = ,d2% dnc),再計算擬合誤差E,計算公式為 其中V的計算公式為
d -d. , 、 式中dk、Clj是邊緣點,Cli是dk、Clj之間一點,O < k < i < j彡η所述的數據壓縮方法中邊緣點的個數N的計算公式為η = (l-N/n) Χ100%,Ν = ηΧ (l-n)式中,η為給定的數據壓縮比,η為時間序列數據集合D的長度。采用本發(fā)明所述的技術方案所產生的有益效果本發(fā)明提供的基于非閾值的無線傳感器網絡節(jié)點數據壓縮方法在節(jié)點層針對單 個節(jié)點在一段時間內采集數據的所形成的整個時間序列近似為多個分段折線,用精簡的近 似表示來代替原始的時間序列數據,計算方法簡單、計算時間復雜度低、擬合誤差小,壓縮 精度較高,從而降低傳感器節(jié)點的能耗,延長網絡生命周期;
由于采用的是基于非閾值的數據壓縮方法,使得用戶無需具備監(jiān)測對象的任何先 驗數據,能夠適用于各類不同數據波動特征的時間序列,對于需要長期監(jiān)測的無線傳感器 網絡,無需獲取監(jiān)測對象的先驗數據,一次監(jiān)測即可獲得所需監(jiān)測數據,從而節(jié)省了人力、 物力、財力,大大降低了工業(yè)成本。
圖1是本發(fā)明的數據壓縮方法流程圖;圖2是本發(fā)明的對不同時間序列數據集在不同壓縮比下擬合誤差對照圖;圖3是本發(fā)明的對時間序列數據集的近似為多個線性分段的擬合對照圖;圖4是本發(fā)明的重構時間序列數據集與原始的時間序列數據集對照效果圖。
具體實施例方式下面以具體實施例結合附圖對本發(fā)明作進一步說明如圖1所示,為本發(fā)明一種基于非閾值的無線傳感器網絡節(jié)點數據壓縮方法,首 先,無線傳感器網絡當前級的節(jié)點在一段時間內采集的時間序列數據組成時間序列數據集 合,表示為D=…,屯,屯+1,…,dn},集合D中的元素Cli表示節(jié)點在第i時刻所 采集的數據,i為1,2,……,η ;無線傳感器網絡節(jié)點計算時間序列數據集合D中的每一個 元素Cli的邊緣幅度,形成邊緣幅度集合E(D) = {ei,e2,e3,···, ei ei+1,…,en},其中
Cli的邊緣幅度;無線傳感器網絡節(jié)點計算邊緣幅度集合E (D)中的每一個元素ei的邊緣強 度集合W(D) = {wi,w2,w3,-,Wi5Ww,…,wn},其中Cli的邊緣強度記為Wi ;然后,根據設定的數據壓縮比,計算邊緣點的個數N,并計算在同等邊緣強度下的 時間序列數據集合D與其分段折線表示之間的擬合誤差E,根據擬合誤差E值,從大到小依 次選出N個擬合誤差E值對應的數據集合D的值作為邊緣點;利用選取的N個邊緣點對時 間序列數據集合D進行分段折線壓縮,無線傳感器網絡節(jié)點將選取的邊緣點發(fā)送到上一級 節(jié);再將上一級節(jié)點將接收到的邊緣點作為采集的時間序列數據;最后,上述步驟,直至上一級節(jié)點為Sink網關節(jié)點時完成數據壓縮。在節(jié)點層針對單個節(jié)點在一段時間內采集數據的所形成的整個時間序列近似為 多個線性分段,用精簡的近似表示來代替原始的時間序列數據,分段線性表示方法利用直 線段來近似表示時間序列的局部波動,忽略一些細微的變化,具有時間多解析,很好地壓縮 數據并消除了噪聲。求解時間序列數據集合D中的每一個元素Cli的邊緣幅度ei的計算公式為ei = Σ (di+t* (CU-Cli))其中1 < i < n,-u < t彡u,u表示對時間序列數據集合D的檢測窗口長度,檢測 窗口以第i時刻為中心,*為離散卷積運算,卷積后序列累積求和作為Cli的邊緣幅度ei.求解邊緣點強度的計算公式為
k=i+uW,- = ^p{k) ΚΦΙ
k-i-u其中1 < i < n,u是步驟二中時間序列數據集合D的檢測窗口長度,p(k)的計算 公式為 時間序列數據集合D與其分段折線表示之間的擬合誤差E計算采用以下公式計 算首先計算時間序列數據集合D的分段折線吡=<f\ ((I1, dtl),f2 (dtl+1,dt2),..., fN(dN_i; dn)>,然后計算數據集合D的擬合序列為DJ = ,d2% ... , dnc),再計算擬合誤差E,計算公式為 其中C的計算公式為< =dk + dj dk χ (i - k)式中dk、dj是邊緣點,Cli是dk、dj之間一點,0 < k < i < j彡η邊緣點的個數N確定的方法為η = (1-Ν/η) Χ100%,Ν = ηΧ (1-η)式中,η為給定的數據壓縮比,η為時間序列數據集合D的長度。在圖2中,給出了本發(fā)明的對不同時間序列數據集在不同壓縮比下擬合誤差對照 圖。實驗數據采用美國加州大學伯克利分校的無線傳感器網絡節(jié)點每隔31秒采集的實驗 室環(huán)境溫度(T)、光照強度(L)、濕度(H)及節(jié)點的電源電壓(V)共4種不同數據波動特征的 時間序列數據集,圖2中的數據線,--咮--_表示溫度數據在不同壓縮比下擬合誤差, 表示光照數據在不同壓縮比下擬合誤差,表示濕度數據在不同壓縮比下擬合誤差,
表示電壓數據在不同壓縮比下擬合誤差,采集的每個時間序列數據集長度為5000個 點,設時間序列數據集的檢測窗口長度u = 4 ;由于數據集中各時間序列不同屬性,序列值 相差很大,為便于對比,在采用線性分段算法之前首先對時間序列做規(guī)范化處理,將序列值 規(guī)范化到
之間.規(guī)范化公式如下
Γ π(Λ \ d 一 min(D)norm^ ) = ^'γ-,~VyTvi
max(D) - min(£))根據擬合誤差為評價標準得出實驗結果表1中考察本發(fā)明對不同時間序列數據 集在不同壓縮比75%、80%、85%、90%、95%下擬合誤差,實驗結果表1表明,算法能夠適 用于各類不同數據波動特征的時間序列,且擬合誤差都比較小,隨著壓縮比的提高,擬合誤 差沒有明顯放大,擬合效果較為穩(wěn)定。表1本發(fā)明在不同數據集和不同壓縮比下的擬合誤差 在圖3中,給出本發(fā)明在對壓縮比為85%時間序列數據集的近似為多個線性分段 的擬合對照圖。圖3中·表示原始數據序列點d” □表示選取數據序列的邊緣點。從圖中 可以看出,多個分段折線相連能有效地擬合整個時間序列數據集的變化趨勢,達到了很好 的壓縮效果;圖4是本發(fā)明在對壓縮比為85%的重構時間序列數據集與原始的時間序列數據 集對照圖,圖中 表示原始數據序列點屯,口表示重構的數據序列點(1Λ從圖中可以看出,, 在保證用戶所要求數據壓縮比或數據重構精度的前提下,上一級節(jié)點或網絡中的Sink網 關節(jié)點根據接收到邊緣點采用線性插補方法,可以重構被壓縮的時間序列數據集合,極大 地減少了信息的發(fā)送量,從而更好地降低傳感器節(jié)點的能耗,延長網絡生命周期。本發(fā)明的基于非閾值的無線傳感器網絡節(jié)點數據壓縮方法,無線傳感器網絡中的 數據壓縮方法可在不同層級進行,如節(jié)點層、路由層、網關層等層進行,在節(jié)點層針對單個 節(jié)點在一段時間內采集數據所形成的整個時間序列近似為多個線性分段,用精簡的近似表 示來代替原始的時間序列數據,壓縮效果好,從而降低了傳感器節(jié)點的通信開銷和能量消 耗,延長網絡生命周期;由于其基于非閾值的特點,使得用戶無需具備監(jiān)測對象的任何先驗 知識,可廣泛地應用于需要長期監(jiān)測的無線傳感器網絡。
權利要求
一種基于非閾值的無線傳感器網絡節(jié)點數據壓縮方法,其特征在于包含以下步驟步驟一無線傳感器網絡當前級的節(jié)點在一段時間內采集的時間序列數據組成時間序列數據集合,表示為D={d1,d2,d3,…,di,di+1,…,dn},集合D中的元素di表示節(jié)點在第i時刻所采集的數據,i為1,2,……,n;步驟二無線傳感器網絡節(jié)點計算時間序列數據集合D中的每一個元素di的邊緣幅度,形成邊緣幅度集合E(D)={e1,e2,e3,…,ei,ei+1,…,en},其中ei為di的邊緣幅度;步驟三無線傳感器網絡節(jié)點計算邊緣幅度集合E(D)中的每一個元素ei的邊緣強度集合W(D)={w1,w2,w3,…,wi,wi+1,…,wn},其中di的邊緣強度記為wi;步驟四根據設定的數據壓縮比,計算邊緣點的個數N,并計算在同等邊緣強度下的時間序列數據集合D與其分段折線表示之間的擬合誤差E,根據擬合誤差E值,從大到小依次選出N個擬合誤差E值對應的數據集合D的值作為邊緣點;步驟五利用選取的N個邊緣點對時間序列數據集合D進行分段折線壓縮,無線傳感器網絡節(jié)點將選取的邊緣點發(fā)送到上一級節(jié);步驟六上一級節(jié)點將接收到的邊緣點作為采集的時間序列數據;步驟七重復步驟一~步驟六,直至上一級節(jié)點為Sink網關節(jié)點時完成數據壓縮。
2.根據權利要求1所述的一種基于非閾值的無線傳感器網絡節(jié)點數據壓縮方法,其特 征在于,步驟二中求解時間序列數據集合D中的每一個元素Cli的邊緣幅度ei的計算公式 為ei =Σ ((!^^(d^-d,))其中1 < i < n,-u < t < u,u表示對時間序列數據集合D的檢測窗口長度,檢測窗口 以第i時刻為中心,*為離散卷積運算,卷積后序列累積求和作為Cli的邊緣幅度ei。
3.根據權利要求1所述的一種基于非閾值的無線傳感器網絡節(jié)點數據壓縮方法,其特 征在于,步驟三中求解邊緣點強度的計算公式為哪i= ΣΜΑk^ik=i-u其中1 ( i <n,u是步驟二中時間序列數據集合D的檢測窗口長度,p(k)的計算公式為八 ’ 1—1,。_4<0
4.根據權利要求1所述的一種基于非閾值的無線傳感器網絡節(jié)點數據壓縮方法,其特 征在于,步驟四中所述的時間序列數據集合D與其分段折線表示之間的擬合誤差E計算方 法為首先計算時間序列數據集合D的分段折線吡=<f\ (d^dj,f2 (dtl+1,dt2),...,fN ((V1,dn)>,然后計算數據集合D的擬合序列為DJ =(屯% d2% dnc), 再計算擬合誤差E,計算公式為其中V的計算公式為 J-k式中dk、dj是邊緣點,Cli是dk、dj之間一點,0 < k < i < j彡η。
5.根據權利要求1所述的一種基于非閾值的無線傳感器網絡節(jié)點數據壓縮方法,其特 征在于邊緣點的個數N的計算公式為 η = (l-N/n) X 100%, N = nX (1-n)式中,η為給定的數據壓縮比,η為時間序列數據集合D的長度。
全文摘要
本發(fā)明涉及無線傳感器網路節(jié)點數據壓縮技術領域,尤其涉及一種基于非閾值的無線傳感器網絡節(jié)點數據壓縮方法,本發(fā)明方法在保證用戶所要求數據壓縮比或數據重構精度的前提下,對在一段時間內無線傳感器網絡節(jié)點所采集時間序列數據流有效地進行分段折線壓縮,降低了傳感器節(jié)點的能耗,延長網絡生命周期;由于其基于非閾值的特點,使得用戶無需具備監(jiān)測對象的任何先驗知識,即可進行數據的有效壓縮,適用于各類具有不同波動特征的時間序列數據的壓縮,可廣泛地應用于需要長期監(jiān)測的無線傳感器網絡節(jié)點數據的壓縮。
文檔編號H04W84/18GK101925091SQ201010194710
公開日2010年12月22日 申請日期2010年7月29日 優(yōu)先權日2010年7月29日
發(fā)明者劉俊, 文飛, 沈耀東, 王勇, 肖萬源, 郭紅想, 陳分雄, 陳春暉 申請人:中國地質大學(武漢)