王林景, 高志宇, 姚鵬帥
(河南中醫(yī)藥大學(xué) 信息技術(shù)學(xué)院, 鄭州 450046)
傳感器具有一定的抗干擾性能及感知、 通信能力, 可以對(duì)目標(biāo)的信息進(jìn)行在線監(jiān)測(cè)和采集, 通過(guò)計(jì)算機(jī)技術(shù)和通信技術(shù), 可將多個(gè)傳感器組合在一起形成一個(gè)傳感器網(wǎng)絡(luò), 對(duì)一個(gè)區(qū)域中多個(gè)目標(biāo)進(jìn)行檢測(cè), 在許多領(lǐng)域應(yīng)用廣泛[1-3]. 在傳感器網(wǎng)絡(luò)的實(shí)際應(yīng)用中, 存在較明顯的缺陷, 如傳感器節(jié)點(diǎn)的能量和寬帶有限, 給傳感器網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)木嚯x帶來(lái)巨大挑戰(zhàn). 為了減少傳感器網(wǎng)絡(luò)數(shù)據(jù)傳輸能耗, 提高傳感器網(wǎng)絡(luò)數(shù)據(jù)的傳輸質(zhì)量, 在保證傳感器網(wǎng)絡(luò)數(shù)據(jù)質(zhì)量的同時(shí), 盡可能地減少傳輸數(shù)據(jù)量. 壓縮算法是目前一種重要的減少傳輸數(shù)據(jù)量的技術(shù), 其可適當(dāng)去除數(shù)據(jù)之間的冗余, 降低傳感器網(wǎng)絡(luò)數(shù)據(jù)存儲(chǔ)空間, 提高傳感器網(wǎng)絡(luò)數(shù)據(jù)傳輸速度和成功率, 因此設(shè)計(jì)一種效果良好的傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮算法至關(guān)重要[4-6].
目前針對(duì)數(shù)據(jù)壓縮原理不同, 傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮算法可分為兩類(lèi): 無(wú)損數(shù)據(jù)壓縮算法和有損數(shù)據(jù)壓縮算法. 其中無(wú)損數(shù)據(jù)壓縮算法可對(duì)數(shù)據(jù)進(jìn)行逆向恢復(fù), 最早的無(wú)損數(shù)據(jù)壓縮算法為Shannon編碼的壓縮算法, 根據(jù)數(shù)據(jù)冗余特性, 引入信息熵理論計(jì)算出信息編碼的極限, 消除信息中的冗余, 但其壓縮效果不理想. 基于Huffman編碼的壓縮算法屬于無(wú)損數(shù)據(jù)壓縮算法, 其編碼效率高, 運(yùn)算速度快, 但其需要相應(yīng)的硬件配合, 因此傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮的成本較高[7-9]. 為了解決基于Huffman編碼壓縮算法的缺陷, 出現(xiàn)了基于算術(shù)編碼的壓縮算法, 其重構(gòu)后的數(shù)據(jù)與原始數(shù)據(jù)完全一致, 壓縮效果上極大超過(guò)了Huffman編碼算法, 同時(shí)具有Huffman編碼算法的運(yùn)算速度, 但由于其是一種無(wú)損數(shù)據(jù)壓縮算法, 因此只針對(duì)文檔數(shù)據(jù)進(jìn)行壓縮, 而隨著信息技術(shù)、 多媒體技術(shù)的不斷發(fā)展, 無(wú)損數(shù)據(jù)壓縮算法無(wú)法獲得理想的數(shù)據(jù)壓縮效果[10]. 有損數(shù)據(jù)壓縮算法主要針對(duì)視頻、 圖像、 聲音等數(shù)據(jù)進(jìn)行壓縮, 雖然重建后的數(shù)據(jù)與原始數(shù)據(jù)不同, 但不影響原始數(shù)據(jù)的表達(dá)信息, 主要算法有: 靜態(tài)圖像聯(lián)合專(zhuān)家小組的壓縮算法(joint picture expert group, JPEG)、 動(dòng)態(tài)圖像聯(lián)合專(zhuān)家小組的壓縮算法(moving picture expert group, MPEG), 它們根據(jù)心理聲學(xué)機(jī)制, 去除掉看不見(jiàn)、 難聽(tīng)見(jiàn)的數(shù)據(jù), 從而達(dá)到對(duì)視頻、 圖像和聲音進(jìn)行壓縮[11-12]. JPEG算法主要針對(duì)靜止的圖像, 其從整體上對(duì)圖像進(jìn)行處理, 壓縮時(shí)間消耗較長(zhǎng); MPEG算法有多個(gè)版本, 其主要針對(duì)視頻數(shù)據(jù)進(jìn)行壓縮, 具有壓縮率高、 兼容性好等優(yōu)點(diǎn), 但其只是從空間上對(duì)數(shù)據(jù)進(jìn)行壓縮, 實(shí)際上數(shù)據(jù)在時(shí)間上也存在一定的冗余, 因此通用性較差, 對(duì)傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮很難達(dá)到理想效果[13-15].
為了解決傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮過(guò)程中存在的問(wèn)題, 以改善傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮效果為目標(biāo), 本文提出一種基于時(shí)空相關(guān)性的傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮算法, 分別從時(shí)間和空間上對(duì)傳感器網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行壓縮處理, 消除數(shù)據(jù)之間的冗余, 并采用具體仿真對(duì)比實(shí)驗(yàn)分析本文算法的可行性和優(yōu)越性.
傳感器網(wǎng)絡(luò)在采集數(shù)據(jù)時(shí), 外界因素將一些無(wú)用信息包含其中, 這些無(wú)用信息可統(tǒng)稱(chēng)為噪聲, 用n(t)描述, 則傳感器網(wǎng)絡(luò)的原始數(shù)據(jù)可描述為
f(t)=s(t)+n(t),
(1)
其中s(t)表示無(wú)噪的傳感器網(wǎng)絡(luò)數(shù)據(jù)[16-17].
小波變換算法是一種空間變換域的數(shù)據(jù)處理技術(shù), 對(duì)原始傳感器網(wǎng)絡(luò)數(shù)據(jù)通過(guò)一定尺度分解, 可產(chǎn)生不同大小的小波系數(shù)w(m,n), 無(wú)噪傳感器網(wǎng)絡(luò)數(shù)據(jù)的小波系數(shù)與分解尺度m成正比, 而噪聲與m成反比, 基于該特點(diǎn)可進(jìn)行傳感器網(wǎng)絡(luò)數(shù)據(jù)消噪處理, 從空間上對(duì)傳感器網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行一定的壓縮, 在減少傳感器網(wǎng)絡(luò)數(shù)據(jù)規(guī)模的同時(shí), 提高傳感器網(wǎng)絡(luò)數(shù)據(jù)質(zhì)量, 算法步驟如下:
1) 采用小波變換對(duì)原始傳感器網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行m尺度分解得到多個(gè)小波系數(shù)w(m,n), 其中n表示小波系數(shù)編號(hào);
2) 計(jì)算w(m,n)和w(m+1,n)兩個(gè)小波系數(shù)的關(guān)聯(lián)度
R(m,n)=w(m,n)·w(m+1,n);
(2)
3) 設(shè)
采用
(3)
對(duì)關(guān)聯(lián)度進(jìn)行歸一化操作, 縮小其取值范圍;
4) 若滿足條件|NR(m,n)|≥λ, 則表示w(m,n)對(duì)應(yīng)的有用傳感器網(wǎng)絡(luò)數(shù)據(jù), 其值保持不變; 否則其對(duì)應(yīng)噪聲, 小波系數(shù)設(shè)置為零,λ的計(jì)算公式為
(4)
其中σ(m)表示Pw(m)的均方差;
5) 采用小波逆變換對(duì)處理后的小波系數(shù)進(jìn)行重構(gòu), 消除傳感器網(wǎng)絡(luò)數(shù)據(jù)中的噪聲后, 減少了傳感器網(wǎng)絡(luò)數(shù)據(jù)存儲(chǔ)空間.
1.2.1 壓縮感知理論 去噪后的傳感器網(wǎng)絡(luò)數(shù)據(jù)可視為一個(gè)序列數(shù)據(jù)x, 其長(zhǎng)度為N, 通常條件下, 該序列信號(hào)具有一定的非稀疏特性, 引入稀疏變換矩陣ψ∈N×N將其變換成稀疏數(shù)據(jù)f:
f=ψx.
(5)
基于壓縮傳感算法的工作原理, 根據(jù)稀疏信號(hào)與測(cè)量矩陣Φ∈M×N得到觀測(cè)數(shù)據(jù)y, 其長(zhǎng)度為M, 且滿足條件:M?N, 觀測(cè)數(shù)據(jù)[18-20]為
y=Φf.
(6)
可以對(duì)觀測(cè)數(shù)據(jù)y進(jìn)行l(wèi)0范數(shù)求解, 得到稀疏數(shù)據(jù)f的解:
將稀疏數(shù)據(jù)和測(cè)量矩陣進(jìn)行合并可以產(chǎn)生:
(8)
根據(jù)式(5)可得x的精確解:
(9)
圖1 壓縮感知的工作原理
因此, 壓縮感知理論的工作過(guò)程如圖1所示.
1.2.2 數(shù)據(jù)重構(gòu)算法 數(shù)據(jù)重構(gòu)算法是壓縮感知理論的核心內(nèi)容, 主要目的是從觀測(cè)數(shù)據(jù)中完整地恢復(fù)出原始數(shù)據(jù), 本文選擇正交匹配追蹤算法作為傳感器網(wǎng)絡(luò)的數(shù)據(jù)重構(gòu)算法, 其工作步驟如下:
1) 對(duì)正交匹配追蹤算法的輸入向量進(jìn)行相應(yīng)設(shè)置;
3) 搜索傳感器網(wǎng)絡(luò)數(shù)據(jù)的支撐索引, 計(jì)算公式為
(10)
4) 在搜索到傳感器網(wǎng)絡(luò)數(shù)據(jù)的支撐索引中加入數(shù)據(jù)支撐集, 即
Λl=Λl-1∪{λl};
(11)
5) 對(duì)殘差按如下公式進(jìn)行更新:
(12)
6) 輸出重構(gòu)后的傳感器網(wǎng)絡(luò)數(shù)據(jù):
(13)
為提高傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮效果, 本文提出一種基于時(shí)空相關(guān)性的傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮算法, 其工作原理為: 首先采集傳感器網(wǎng)絡(luò)原始數(shù)據(jù), 然后采用空間變換技術(shù)從空間上分析傳感器網(wǎng)絡(luò)數(shù)據(jù)之間的相關(guān)性, 進(jìn)行去噪處理, 減少噪聲所占的空間資源, 最后根據(jù)傳感器網(wǎng)絡(luò)數(shù)據(jù)時(shí)間上的相關(guān)性, 引入壓縮感知算法對(duì)空間系數(shù)進(jìn)行壓縮處理, 減少傳感器網(wǎng)絡(luò)數(shù)據(jù)冗余, 其原理如圖2所示.
圖2 基于時(shí)空相關(guān)性的傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮原理
為了分析基于時(shí)空相關(guān)性的傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮的有效性, 本文采用MATLAB 2018作為仿真測(cè)試平臺(tái), 選擇傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮比、 傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮前后數(shù)據(jù)的相似度及傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮時(shí)間對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行評(píng)價(jià). 為了體現(xiàn)時(shí)空相關(guān)性的傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮算法的優(yōu)越性, 選擇MPEG的傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮算法、 文獻(xiàn)[15]的傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮算法進(jìn)行對(duì)比測(cè)試. 設(shè)傳感器網(wǎng)絡(luò)共有100個(gè)節(jié)點(diǎn), 采集的數(shù)據(jù)為溫度、 濕度、 圖像、 聲音、 視頻, 傳感器節(jié)點(diǎn)的通信距離為10 m.
圖3 傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮比對(duì)比
壓縮比主要描述壓縮后的數(shù)據(jù)量占原始數(shù)據(jù)量的比例, 時(shí)空相關(guān)性的傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮算法、 MPEG算法和文獻(xiàn)[15]算法的數(shù)據(jù)壓縮比對(duì)比結(jié)果如圖3所示. 由圖3可見(jiàn), MPEG算法和文獻(xiàn)[15]算法的傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮比較高, 對(duì)于溫度、 濕度, 其壓縮比較小, 但對(duì)于圖像、 聲音、 視頻, 其壓縮比始終高于50%, 無(wú)法充分描述傳感器網(wǎng)絡(luò)數(shù)據(jù)的時(shí)間和空間相關(guān)性, 而時(shí)空相關(guān)性的傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮算法對(duì)所有類(lèi)型的數(shù)據(jù), 其壓縮比均較小, 能充分挖掘傳感器網(wǎng)絡(luò)數(shù)據(jù)的時(shí)間和空間相關(guān)性, 最大程度地去除了冗余數(shù)據(jù), 在相同條件下能獲得較優(yōu)異的傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮結(jié)果.
本文算法、 MPEG算法和文獻(xiàn)[15]算法的傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮前后的數(shù)據(jù)相似度(%)對(duì)比結(jié)果如圖4所示. 由圖4可見(jiàn), 相對(duì)于MPEG算法和文獻(xiàn)[15]算法, 本文算法提高了壓縮前后的數(shù)據(jù)相似度, 即在保證壓縮比的同時(shí), 保證了傳感器網(wǎng)絡(luò)數(shù)據(jù)的有效性, 可重構(gòu)得到更理想的原始傳感器網(wǎng)絡(luò)數(shù)據(jù), 能描述更多的傳感器網(wǎng)絡(luò)原始數(shù)據(jù).
在傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮過(guò)程中, 算法的執(zhí)行速度十分重要, 本文采用傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮時(shí)間對(duì)算法的執(zhí)行速度進(jìn)行評(píng)價(jià). 本文算法、 MPEG算法和文獻(xiàn)[15]算法的傳感器網(wǎng)絡(luò)數(shù)據(jù)的壓縮時(shí)間(s)對(duì)比結(jié)果如圖5所示. 由圖5可見(jiàn), 與基于MPEG算法和文獻(xiàn)[15]算法的壓縮時(shí)間相比, 本文算法的傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮時(shí)間大幅度降低, 加快了傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮速度, 在相同時(shí)間內(nèi), 可以處理更多的傳感器網(wǎng)絡(luò)數(shù)據(jù), 提高了傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮效率.
圖4 傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮前后的數(shù)據(jù)相似度對(duì)比
圖5 傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮效率對(duì)比
綜上所述, 為了解決當(dāng)前傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮算法存在壓縮比小、 信息丟失嚴(yán)重等缺陷, 本文提出了一種基于時(shí)空相關(guān)性的傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮算法. 首先采用小波變換技術(shù)從空間上對(duì)傳感器網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行處理, 去除噪聲所占的空間資源; 然后采用壓縮感知算法從時(shí)間上對(duì)傳感器網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行去冗余操作; 最后與其他傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮算法進(jìn)行對(duì)比測(cè)試實(shí)驗(yàn). 實(shí)驗(yàn)結(jié)果表明, 本文算法是一種速度快、 壓縮比小的傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮算法, 極大降低了傳感器網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量, 達(dá)到了傳感器網(wǎng)絡(luò)數(shù)據(jù)壓縮的目的, 具有廣闊的應(yīng)用前景.