王元翔 徐震
摘? 要:無線傳感器網(wǎng)絡(luò)存在電池電量受限問題.為延長(zhǎng)網(wǎng)絡(luò)壽命,傳感器節(jié)點(diǎn)可以通過太陽能電池板將太陽能轉(zhuǎn)換成電能以供自身運(yùn)轉(zhuǎn).基于太陽能的不確定性和間歇性等特點(diǎn),提出了一種太陽能收集預(yù)測(cè)算法和能量管理方案,根據(jù)預(yù)測(cè)的能量,調(diào)整傳感器節(jié)點(diǎn)的調(diào)度計(jì)劃,實(shí)現(xiàn)節(jié)點(diǎn)的能量消耗中性,從而使無線傳感器網(wǎng)絡(luò)能夠長(zhǎng)期穩(wěn)定地工作.仿真實(shí)驗(yàn)表明,所提出的方案在能量預(yù)測(cè)精度和能量管理策略方面有明顯的優(yōu)勢(shì).
關(guān)鍵詞:無線傳感器網(wǎng)絡(luò);太陽能;能量預(yù)測(cè);能量管理
中圖分類號(hào):TP393????? 文獻(xiàn)標(biāo)志碼:A文章編號(hào):1000-2367(2024)03-0080-08
無線傳感器網(wǎng)絡(luò)(wireless sensor network,WSN)是由部署在監(jiān)測(cè)區(qū)域內(nèi)的多個(gè)傳感器設(shè)備節(jié)點(diǎn)組成,這些設(shè)備可以用來實(shí)時(shí)監(jiān)控環(huán)境信息,并將采集的數(shù)據(jù)發(fā)給上級(jí)節(jié)點(diǎn)或者網(wǎng)關(guān)節(jié)點(diǎn),然后進(jìn)行下一步的分析處理.無線傳感器網(wǎng)絡(luò)適合在一些惡劣環(huán)境下使用,如環(huán)境數(shù)據(jù)監(jiān)測(cè)[1]、智能家居[2]、礦洞監(jiān)測(cè)[3]和橋梁監(jiān)控[4]等領(lǐng)域都有廣泛應(yīng)用.
傳感器節(jié)點(diǎn)由電池供電,電池通過提供維持節(jié)點(diǎn)每個(gè)組件所需要的電流來給電路供電.傳感器、無線電、微控制器和閃存這些常見的物理組成部件在不同的能量狀態(tài)下運(yùn)行,消耗的總能量即為傳感器節(jié)點(diǎn)的能量消耗.傳感器節(jié)點(diǎn)的壽命定義為電池放電到低于傳感器節(jié)點(diǎn)運(yùn)行所需要的最低電量的時(shí)間.有限的電池容量使得傳感器節(jié)點(diǎn)的壽命受到限制,無線傳感器節(jié)點(diǎn)的維護(hù)成本大大增加.
為了延長(zhǎng)傳感器節(jié)點(diǎn)壽命,甚至使它的潛在壽命達(dá)到無限.一些學(xué)者研究能量收集無線傳感網(wǎng)絡(luò)[5],其中最具代表性的就是太陽能收集無線傳感器網(wǎng)絡(luò)[6].在現(xiàn)實(shí)的環(huán)境中,太陽能電池收集的能量是間歇性的,使得收集的能量不足以在所有的情況下滿足傳感器節(jié)點(diǎn)的能量需求.當(dāng)處于太陽能充足的環(huán)境中,太陽能電池會(huì)收集到多余的能量,給電池充電.在處于太陽能不足的環(huán)境中時(shí),電池會(huì)放電來維持傳感器節(jié)點(diǎn)的工作.如果長(zhǎng)期處于這種環(huán)境中,太陽能采集系統(tǒng)收集不到足夠的能量給電池充電,這會(huì)導(dǎo)致節(jié)點(diǎn)死亡.
在基于環(huán)境監(jiān)測(cè)的WSN中.為了盡可能延長(zhǎng)太陽能無線傳感器節(jié)點(diǎn)的壽命,設(shè)計(jì)了一種太陽能能量收集系統(tǒng),它利用太陽能電池收集到的能量來維持傳感器節(jié)點(diǎn)的運(yùn)行,并實(shí)現(xiàn)了24 h的能量中性,最大限度地延長(zhǎng)了無線傳感器節(jié)點(diǎn)的壽命.
1? 相關(guān)研究
為了延長(zhǎng)太陽能無線傳感器節(jié)點(diǎn)的壽命,許多學(xué)者對(duì)能量預(yù)測(cè)算法和能量管理方案進(jìn)行研究.在太陽能
收稿日期:2023-03-09;修回日期:2023-03-28.
基金項(xiàng)目:國(guó)家自然科學(xué)基金(61373091);湖北省自然科學(xué)基金(2017CKB893).
作者簡(jiǎn)介:王元翔(1999-),男,湖北潛江人,武漢輕工大學(xué)碩士研究生,主要從事無線傳感器網(wǎng)絡(luò)研究.
通信作者:徐震(1974-),男,河南信陽人,武漢輕工大學(xué)副教授,博士,主要從事無線傳感器網(wǎng)絡(luò)研究,E-mail:xuzhen2046@qq.com.
引用本文:王元翔,徐震.太陽能無線傳感器網(wǎng)絡(luò)的能量預(yù)測(cè)與管理[J].河南師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2024,52(3):80-87.(Wang Yuanxiang,Xu Zhen.Energy prediction and management of solar wireless sensor networks[J].Journal of Henan Normal University(Natural Science Edition),2024,52(3):80-87.DOI:10.16366/j.cnki.1000-2367.2023.03.09.0001.)
預(yù)測(cè)算法方面,KANSAL等[7]提出的 EWMA(exponential weighted moving average)算法將一天分成相等的時(shí)隙,一天中某個(gè)時(shí)間段的能量定義為前一天同一時(shí)間獲得的能量和上個(gè)時(shí)間段預(yù)測(cè)到的能量的加權(quán)平均.Pro-Energy算法[8]利用了前一天的配置文件,以及之前的幾天太陽能數(shù)據(jù),將當(dāng)天的能量數(shù)據(jù)與存儲(chǔ)在矩陣中的所有配置文件進(jìn)行比較.通過取當(dāng)前數(shù)據(jù)和存儲(chǔ)數(shù)據(jù)之間的平均絕對(duì)誤差來判斷近似度.最后通過上個(gè)時(shí)間段預(yù)測(cè)到的能量和最接近當(dāng)天能量的數(shù)據(jù)的加權(quán)平均來進(jìn)行能量預(yù)測(cè).KOSUNALP等[9]基于已經(jīng)獲得的歷史天氣數(shù)據(jù)和當(dāng)天的天氣數(shù)據(jù),提出了q-learning算法,該算法加入了獎(jiǎng)勵(lì)函數(shù)來確定最佳的預(yù)測(cè)方案.SHU等[10]提出了基于最小均方濾波器的雙重預(yù)測(cè)方案,當(dāng)預(yù)測(cè)結(jié)果出現(xiàn)較大誤差時(shí),將根據(jù)預(yù)測(cè)結(jié)果來改變預(yù)測(cè)系數(shù)來保證預(yù)測(cè)精度.DEB等[11]提出了Enhanced-Pro的預(yù)測(cè)算法,根據(jù)數(shù)據(jù)中存在的規(guī)律進(jìn)行預(yù)測(cè),并將預(yù)測(cè)分為短期和中期,采用不同的調(diào)整因子進(jìn)行預(yù)測(cè).
由于能量收集無線傳感網(wǎng)絡(luò)收集到的能量隨著環(huán)境的變化而變化,因此,能量收集無線傳感器節(jié)點(diǎn)的能量管理必須適應(yīng)不斷變化的能量收集水平.HSU等[12]提出了一種基于強(qiáng)化學(xué)習(xí)的動(dòng)態(tài)電源管理方法,該方法根據(jù)對(duì)環(huán)境狀態(tài)的觀察,確定WSN的工作周期,并接收環(huán)境的獎(jiǎng)勵(lì)值反饋進(jìn)行管理.文獻(xiàn)[13]提出了一個(gè)基于強(qiáng)化學(xué)習(xí)的能量管理器,該管理器能夠基于電池的充電狀態(tài)根據(jù)變化的環(huán)境來調(diào)整能量管理策略.HSU等[14]提出了一種基于Fuzzy Q-learning(FQL)的動(dòng)態(tài)能量管理方法,該方法基于收集到的能量數(shù)據(jù)變化改變相應(yīng)的管理策略,來維持能量收集無線傳感網(wǎng)絡(luò)的永久運(yùn)行.LIU等[15]基于動(dòng)態(tài)規(guī)劃提出了一種能量管理優(yōu)化算法,該方法通過遞歸找出最適合下個(gè)時(shí)段的能量管理方案,從而延長(zhǎng)節(jié)點(diǎn)壽命.PRAUZEK等[16]提出了一種基于Q-learning的管理方案,該方案根據(jù)晝夜變換來改變節(jié)點(diǎn)的能量管理策略,來減少?zèng)]有能量攝入時(shí)的能量消耗,從而保證節(jié)點(diǎn)不會(huì)因?yàn)槟芰亢谋M而死亡.
2? 太陽能電池消耗模型
2.1? 太陽能電池
太陽能電池是由晶體態(tài)的半導(dǎo)體材料組成,通過光伏效應(yīng)將光子的能量轉(zhuǎn)化為電能.太陽能電池的效率(σ)定義為太陽能電池吸收的入射光轉(zhuǎn)換為電能的轉(zhuǎn)換效率,其計(jì)算公式為:σ=PmaxD×S,(1)
其中Pmax是電池提供的最大輸出功率(W),D是輻照度,表示單位面積上的入射功率密度(W/m2),S是太陽能電池表面面積(m2).本文選擇MSX-005F太陽能電池,表1為該電池的相關(guān)數(shù)據(jù).該太陽能電池的效率即使在冬季也能保持在10.83%左右.
表1? MSX-005F太陽能電池參數(shù)
Tab. 1? MSX-005F solar cell parameters
電池參數(shù)額定負(fù)載電壓(VId)/V額定負(fù)載電流(IId)/mA開路電壓(VOC)/V短路電流(ISC)/mA最大輸出功率(Pmax)/mW表面積(S)/cm2
數(shù)值3.31504.616050036
2.2? 能量模型
設(shè)Bmax是WSN節(jié)點(diǎn)的最大電池容量,Bmin為維持節(jié)點(diǎn)運(yùn)行所需的最小電池容量.WSN節(jié)點(diǎn)的電量可以用式(2)表示為:B(t)=B(t-1)+σ(t)-c(t),BminB(t)Bmax,(2)
其中,(t)是太陽能電池在t時(shí)刻預(yù)期收集到的能量,c(t)是節(jié)點(diǎn)在t時(shí)刻消耗的能量,B(t)和B(t-1)分別是t和t-1時(shí)刻節(jié)點(diǎn)的電池電量,σ是太陽能電池的充電效率.
考慮到節(jié)點(diǎn)自身存在能量損耗,例如發(fā)熱等情況下的能量消耗,所以傳感器節(jié)點(diǎn)的能量模型為:B(t)=B(t-1)+σ(t)-c(t)-Eleak(t),BminB(t)Bmax,(3)
其中Eleak(t)為節(jié)點(diǎn)的自身能量損耗.
太陽落山之后能量輸入趨近于0時(shí),WSN節(jié)點(diǎn)能量模型為:B(t)=B(t-1)-c(t)-Eleak(t),BminB(t)Bmax.(4)
根據(jù)式(4),在日落之后,節(jié)點(diǎn)的電量一直處于下降的狀態(tài),若繼續(xù)使用日落前的任務(wù)調(diào)度,節(jié)點(diǎn)的壽命將會(huì)縮短.因此需要調(diào)整節(jié)點(diǎn)的任務(wù)調(diào)度,實(shí)現(xiàn)無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的能量中性管理,使節(jié)點(diǎn)可以不間斷地運(yùn)行.若連續(xù)兩天存在相同時(shí)刻t′,使得B1(t′)=B2(t′),則傳感器的能量管理是能量中性的.傳感器節(jié)點(diǎn)收集太陽能的能量,能量生產(chǎn)周期為24 h.所以需要實(shí)現(xiàn)一種24 h能量中性的能量管理策略.
3? 太陽能采集預(yù)測(cè)
太陽能在自然界中具有較高的能量密度,在各種大自然能源中比較受歡迎.然而,太陽能電池產(chǎn)生的能量取決于太陽輻射強(qiáng)度,收集到的能量在日出之后逐漸增加,在午間達(dá)到峰值,此時(shí)太陽直射在太陽能電池板上,然后開始逐漸下降,直到天黑.另外,電壓與太陽能電池有關(guān).當(dāng)太陽能電池達(dá)到飽和狀態(tài)時(shí),即使還未達(dá)到太陽輻射峰值,儲(chǔ)存的能量也不會(huì)增加.論文提出了一種全新的太陽能預(yù)測(cè)算法,該算法使用過去觀察到的太陽輻照度數(shù)據(jù)來預(yù)測(cè)未來的太陽輻照度.
3.1? 預(yù)測(cè)算法
太陽能預(yù)測(cè)算法的主要思想是利用收集到的一些具有代表性的太陽能輻照度和近期的太陽能輻照度(包括前幾天和當(dāng)天前幾個(gè)時(shí)間段的輻照度)進(jìn)行預(yù)測(cè).例如,天氣可以分為晴天、雨天或陰天,這些天氣收集到的太陽能數(shù)據(jù)在預(yù)測(cè)的過程當(dāng)中和當(dāng)天的數(shù)據(jù)進(jìn)行對(duì)比,然后找出最相似的輻照度數(shù)據(jù)來進(jìn)行預(yù)測(cè).考慮到一天中天氣的變化可能比較大,例如上午是晴天,下午變成了陰天.這種情況就需要加上近期的輻照度數(shù)據(jù)來提高預(yù)測(cè)的準(zhǔn)確性.
3.1.1? 典型太陽能數(shù)據(jù)
為了實(shí)現(xiàn)當(dāng)前數(shù)據(jù)和典型太陽能輻照度的匹配,需要將收集到的太陽能輻照度數(shù)據(jù)存儲(chǔ)到一個(gè)長(zhǎng)度為N的矢量C中,矢量C包含每個(gè)時(shí)間段獲得的能量.典型太陽能輻照度數(shù)據(jù)保存在一個(gè)矩陣E中,大小為D*N.
通過查找與當(dāng)前最相似的天氣輻照度數(shù)據(jù)來提供能量預(yù)測(cè),它們之間的相似性定義為平均絕對(duì)誤差,所以與實(shí)際數(shù)據(jù)最相似的數(shù)據(jù)可以用式(5)表示:
Ed=min|Cd(t)-Ed(t)|,Ed∈E,(5)
其中Ed是與當(dāng)天實(shí)際數(shù)據(jù)最相似的數(shù)據(jù),Cd為當(dāng)天的實(shí)際數(shù)據(jù).
更多的情況下,需要考慮最近的幾次輻照度觀測(cè).假設(shè)需要考慮最近K次的能量數(shù)據(jù),所以在t時(shí)段與當(dāng)天的數(shù)據(jù)C最相似的數(shù)據(jù)Ed可以用式(6)表示:Ed=∑ti=t-K1Kmin|Cd(i)-Ed(i)|,Ed∈E,K<t.(6)
3.1.2? 過去的太陽能數(shù)據(jù)
太陽輻照度具有不可預(yù)測(cè)性.例如,近期如果出現(xiàn)了季節(jié)性的變換,導(dǎo)致近幾天的輻照度數(shù)據(jù)和矩陣E中的輻照度數(shù)據(jù)差別較大,進(jìn)而使得預(yù)測(cè)效果不夠理想,或者當(dāng)天的天氣變化較大也會(huì)對(duì)預(yù)測(cè)產(chǎn)生一些影響.因此過去幾天的太陽輻照度數(shù)據(jù)和當(dāng)天輻照度的變化趨勢(shì)是十分重要的.
假定Edse(t)表示 d天t時(shí)段的季節(jié)性影響,則有:Edse(t)=β[Cd-1(t)-Cd-2(t)]+(1-β)[Cd-2(t)-Cd-3(t)],(7)
其中,Cd-1(t),Cd-2(t),Cd-3(t)是d-1、d-2和d-3天t時(shí)段實(shí)際的太陽輻射度,β是調(diào)整參數(shù),β∈[0,1].
3.2? 預(yù)測(cè)算法
在進(jìn)行能量采集預(yù)測(cè)時(shí),預(yù)測(cè)算法會(huì)嘗試將當(dāng)天觀測(cè)到的太陽輻照度與存儲(chǔ)在數(shù)據(jù)池中的典型輻照度數(shù)據(jù)進(jìn)行匹配.具體來說,算法根據(jù)存儲(chǔ)配置文件中當(dāng)前時(shí)段的下一個(gè)時(shí)段的輻照度和當(dāng)前時(shí)段實(shí)際觀察到的輻照度C(t)計(jì)算下一個(gè)時(shí)段的預(yù)測(cè)值.預(yù)測(cè)算法需要找到一個(gè)數(shù)據(jù)文件Ed,在這個(gè)數(shù)據(jù)文件上記錄有一天12 h的光輻照度數(shù)據(jù)文件,選擇從當(dāng)天上午6時(shí)到當(dāng)前時(shí)段t為止與當(dāng)天光輻照度最相似的數(shù)據(jù)文件Ed,所以下一個(gè)時(shí)段t + 1的預(yù)測(cè)輻照度(t+1)定義如下:(t+1)=α·C(t)+(1-α)Ed(t+1),(8)
式中,C(t)是當(dāng)天t時(shí)刻實(shí)際的輻照度數(shù)據(jù),Ed(t+1)表示與當(dāng)天最匹配的存儲(chǔ)數(shù)據(jù)在t+1時(shí)段的輻照度數(shù)據(jù).α為調(diào)整因子,α∈[0,1].
考慮到季節(jié)因素對(duì)輻照度的影響和當(dāng)天的輻照度變化趨勢(shì)的影響,當(dāng)天的變化取決于當(dāng)天前2個(gè)時(shí)段的實(shí)際輻照度和預(yù)測(cè)輻照度的差值.當(dāng)天的輻照度的變化趨勢(shì)Edde(t)定義如下:Edde(t)=[Cd(t-1)-(t-1)]+(1-)[Cd(t-2)-(t-2)].(9)
下一個(gè)時(shí)段預(yù)測(cè)到的輻照度數(shù)據(jù)(t+1)為:(t+1)=α·C(t)+(1-α)Ed(t+1)+Edse(t)+Edde(t).(10)
式(9)和(10)中α和為調(diào)整因子,α,∈[0,1].
3.3? 存儲(chǔ)配置文件更新
預(yù)測(cè)算法需要存儲(chǔ)D組太陽輻照度數(shù)據(jù),每一組數(shù)據(jù)都代表了不同的天氣狀況.為了使預(yù)測(cè)算法在不斷變化的天氣中保持良好的準(zhǔn)確度,存儲(chǔ)太陽輻照度的數(shù)據(jù)池必須定期更新.在每天結(jié)束時(shí),算法決定是否將當(dāng)天觀察到的數(shù)據(jù)C存儲(chǔ)到數(shù)據(jù)池中.具體來說,算法給出了3種情況之下的更新:(1)如果一組太陽能數(shù)據(jù)在數(shù)據(jù)池中使用達(dá)到了一定的天數(shù),則用當(dāng)天觀察到的數(shù)據(jù)C對(duì)它進(jìn)行一個(gè)替換.(2)如果數(shù)據(jù)池中有相似的數(shù)據(jù)時(shí),即它們之間的平均絕對(duì)誤差低于一個(gè)閾值,則用當(dāng)天觀察到的數(shù)據(jù)C替換掉這些數(shù)據(jù)中與數(shù)據(jù)C最相似的一組.(3)當(dāng)季節(jié)性影響較大時(shí),即Edse(t)的絕對(duì)值高于一個(gè)閾值時(shí),表示近期的季節(jié)變換較大,則用當(dāng)天觀察到的數(shù)據(jù)C替換掉與數(shù)據(jù)C最相似的數(shù)據(jù).
第1種策略是丟棄過時(shí)的太陽輻照度數(shù)據(jù),第2種策略是通過丟棄非常相似的太陽輻照度數(shù)據(jù),來更新代表不同天氣條件的太陽輻照度數(shù)據(jù)池,而第3種策略是在天氣變化較大時(shí),丟棄與數(shù)據(jù)C相似的數(shù)據(jù)來更新太陽輻照度數(shù)據(jù)池來保證預(yù)測(cè)的準(zhǔn)確性.
3.4? 仿真結(jié)果
本文所提方案測(cè)試環(huán)境基于Windows 11,運(yùn)行內(nèi)存16 GB,處理器為Intel i7-11800H @ 2.30 GHz,用MATLAB 2022a進(jìn)行仿真實(shí)驗(yàn).實(shí)驗(yàn)數(shù)據(jù)采用美國(guó)國(guó)家可再生能源實(shí)驗(yàn)室(NERL)公開的太陽能數(shù)據(jù)(https://www.nrel.gov/grid/solar-resource/confrrm.html#paneld14e112_6).實(shí)際的光輻照度數(shù)據(jù)如圖1所示.為了使預(yù)測(cè)算法有更好的預(yù)測(cè)效果,只考慮了白天早上6:00到下午6:00的數(shù)據(jù),晚上收集的能量幾乎沒有,會(huì)影響到平均誤差的計(jì)算,不納入預(yù)測(cè),因此論文將白天(12 h)分為48個(gè)時(shí)間段,每個(gè)時(shí)間段為15 min.
論文把平均絕對(duì)百分比誤差(mean absolute percentage error,MAPE)[17]作為評(píng)價(jià)指標(biāo),通過比較預(yù)測(cè)光輻照度與實(shí)際光輻照度來計(jì)算預(yù)測(cè)算法的誤差,來評(píng)估預(yù)測(cè)算法的性能,計(jì)算公式如下:MAPE=1T∑|t-CtCt|,(11)
其中,T為總時(shí)隙數(shù),t為t時(shí)隙預(yù)測(cè)的光輻照度,Ct為t時(shí)隙實(shí)際的光輻照度.本文所提算法在不同的α,β,情況下的平均誤差如圖2 所示.
圖2表明,本文所提算法在α=0.4,β=0.6,=0.6時(shí)取得的平均誤差值最優(yōu),誤差可以降低到8.6%.圖3為在α=0.4,β=0.6,=0.6時(shí)的能量數(shù)據(jù).從圖3結(jié)果觀察發(fā)現(xiàn),在50時(shí)序到100時(shí)序之間天氣變化平穩(wěn)時(shí)預(yù)測(cè)數(shù)據(jù)與原始數(shù)據(jù)幾乎一樣,此時(shí)3種預(yù)測(cè)算法的平均誤差很小.而EWMA算法仍有一定的預(yù)測(cè)誤差,相比于本文的預(yù)測(cè)算法,誤差率高出52.2%.在100時(shí)序到200時(shí)序之間天氣變化較大,本文算法和EWMA算法雖然都根據(jù)環(huán)境的變化進(jìn)行一些調(diào)整,但誤差仍然增大.Pro-Energy算法由于沒有考慮到當(dāng)天和最近幾天的能量趨勢(shì),準(zhǔn)確性也沒有本文方案高,誤差相對(duì)本文方案高出48.0%.本文算法通過對(duì)當(dāng)天輻照度趨勢(shì)Edde(t)的反饋,對(duì)下個(gè)時(shí)隙的預(yù)測(cè)數(shù)據(jù)進(jìn)行更新,準(zhǔn)確率可以達(dá)到91.4%.
4? 能量管理優(yōu)化和任務(wù)調(diào)度方案
對(duì)于能量受限的無線傳感器網(wǎng)絡(luò),為了盡可能延長(zhǎng)傳感器節(jié)點(diǎn)的壽命,通過采用太陽能能量收集方案試圖使得節(jié)點(diǎn)調(diào)度方案是能量中性的,就可以保持節(jié)點(diǎn)的穩(wěn)定運(yùn)行.但是太陽能收集方案受天氣影響,使得節(jié)點(diǎn)收集的能量是波動(dòng)的.夏季的能量中性調(diào)度計(jì)劃可能不適合用在冬天,這可能導(dǎo)致節(jié)點(diǎn)的死亡.雖然太陽能能源具有不確定性,但是通過對(duì)可以收集的太陽能能量進(jìn)行預(yù)測(cè),使節(jié)點(diǎn)根據(jù)收集太陽能能量的多少動(dòng)態(tài)地改變它的任務(wù)調(diào)度,從而使節(jié)點(diǎn)的能量控制達(dá)到能量中性.
將1 d(24 h)劃分為等時(shí)長(zhǎng)的N個(gè)時(shí)段,每個(gè)時(shí)段持續(xù)時(shí)間為ΔT=3 600×24N.對(duì)于每個(gè)時(shí)段i,選擇一個(gè)任務(wù)調(diào)度計(jì)劃S(i).為了實(shí)現(xiàn)節(jié)點(diǎn)的能量中性目標(biāo),論文提出一種任務(wù)調(diào)度算法,通過動(dòng)態(tài)地改變?nèi)蝿?wù)調(diào)度,使網(wǎng)絡(luò)整體收集的能量和消耗保持相當(dāng).(i)定義為時(shí)段i預(yù)測(cè)的太陽輻照度數(shù)據(jù).
B(i)表示時(shí)段末尾的電池電量,Bmin表示傳感器工作所需要的最小電量,B0表示初始電量.每個(gè)時(shí)段的電池電量B(i)可以表示如下:
B(i)=min{Bmax,B(i-1)+σ(i)-c(i)-Eleak(t)}.(12)
保持能量中性需要滿足以下條件:σ∑Ni=1(t)∑Ni=1c(i),(13)
BminB(i),i∈[1,N].(14)
其中式(13)要求算法對(duì)調(diào)度計(jì)劃的分配是能夠保持能量中性的.式(14)是保證電池的電量永遠(yuǎn)不能低于Bmin,不然傳感器節(jié)點(diǎn)將會(huì)停止工作.
4.1? 任務(wù)調(diào)度算法
論文設(shè)定了6個(gè)任務(wù)調(diào)度計(jì)劃M[M(1),…,M(6)],它們的能量消耗依次增加.任務(wù)調(diào)度算法開始為所有時(shí)段分配任務(wù)調(diào)度計(jì)劃M(1).算法通過比較初始電量和時(shí)段i的電池電量以及預(yù)測(cè)能量與消耗能量的差值來評(píng)估能量中性條件.如果時(shí)間段i的電池容量和初始電量相等并且所有時(shí)段的電池電量至少為Bmin,而且預(yù)測(cè)收集到的太陽能與消耗的能量相等,則表明目前的解決方案是最優(yōu)的.否則,可能會(huì)出現(xiàn)下面4種情況:(1)如果i時(shí)段的電池電量大于初始電量,且此時(shí)充入電池的電量高于消耗的電量,因此可以選擇更高能量消耗的任務(wù)調(diào)度計(jì)劃.算法在M中選擇具有更高消耗的任務(wù)調(diào)度計(jì)劃,替換掉之前分配的任務(wù)調(diào)度.(2)如果時(shí)段i的電池電量大于初始電量,且此時(shí)預(yù)測(cè)收集到的能量低于消耗的電量,這意味著此時(shí)電池中高于的電量可能在下個(gè)時(shí)段消耗,算法保持當(dāng)前的任務(wù)調(diào)度.(3)如果時(shí)段i的電池電量低于時(shí)段0的電池電量,且此時(shí)預(yù)測(cè)收集到的太陽能高于消耗的電量,這意味著此時(shí)電池中低于B0的電量可能在后續(xù)時(shí)段被補(bǔ)充,此時(shí)算法保持當(dāng)前任務(wù)調(diào)度不變.(4)如果時(shí)段i的電池電量低于初始電量或者存在時(shí)段i的B(i)<Bmin,且此時(shí)預(yù)測(cè)收集到太陽能低于消耗的電量,這意味著當(dāng)前電池電量會(huì)持續(xù)消耗,算法需要在M中選擇較低能量消耗的任務(wù)調(diào)度,替換當(dāng)前的任務(wù)調(diào)度.
任務(wù)調(diào)度算法
算法輸入:
初始電量B(0)預(yù)測(cè)到的太陽能(i),充電效率σ
算法輸出:
電池電量B(t)每個(gè)時(shí)間段調(diào)度計(jì)劃S(t)
1 all S(t)= M(1)
2 if B(t-1)>B0∧σ(i)>M(1)
3 ??for n=1 to 6
4 ??if? M(n)>S(t-1)
5P(t)=M(n)
6S(t)=P(t)
7break
8 if B(t-1)>B0∧σ(i)<M(1)
9 ??S(t)=S(t-1)
10 if B(t-1)<B0∧σ(i)>M(1)
11 ??S(t)=S(t-1)
12 if B(t-1)>B0∧σ(i)>M(1)
13 ??for n=1 to 6
14 ??if M(n)<S(t-1)
15P(t)=M(n)
16S(t)=P(t)
17break
4.2? 任務(wù)調(diào)度仿真結(jié)果
本文用MATLAB 2022a進(jìn)行仿真實(shí)驗(yàn),實(shí)驗(yàn)將1 d(24 h)分為96個(gè)時(shí)段,每個(gè)時(shí)段的持續(xù)時(shí)間為15 min.仿真數(shù)據(jù)是來自美國(guó)國(guó)家可再生能源實(shí)驗(yàn)室(NERL)的太陽能數(shù)據(jù),一共15 d,720個(gè)時(shí)隙的太陽能數(shù)據(jù).節(jié)點(diǎn)參數(shù)設(shè)定如表2所示,節(jié)點(diǎn)能量消耗模型依據(jù)式(3).由于0點(diǎn)到6點(diǎn),18點(diǎn)到24點(diǎn)收集到的太陽能趨近于0,所以仿真實(shí)驗(yàn)中將這兩個(gè)時(shí)間段收集的能量默認(rèn)為0.
表2? 仿真參數(shù)
Tab. 2? Simulation parameters
電池參數(shù)初始電量/mAh電池最大容量Bmax/mAh太陽能電池效率σ/%接收模式電流/mA發(fā)送模式電流/mA空閑模式電流/μA睡眠模式電流/μA處理器電流/mA
數(shù)值2 0002 50010.8319.7111016
為評(píng)價(jià)本文所提方案性能,將本文方案同DDCA(dynamic duty cycle adaption)算法[18]和Q-Leaning算法進(jìn)行對(duì)比實(shí)驗(yàn).DDCA算法需要設(shè)置兩個(gè)閾值,分別為最大電量BMAX和最小電量BMIN,當(dāng)電池電量處于最大電量和最小電量之間時(shí),算法根據(jù)節(jié)點(diǎn)收集到的能量和消耗掉的能量進(jìn)行能量管理,當(dāng)電量小于最小電量時(shí),算法會(huì)將節(jié)點(diǎn)調(diào)整為睡眠模式.DDCA算法的參數(shù)設(shè)置為BMAX=2 500 mAh,BMIN=1 950 mAh.Q-Leaning算法是一種異策略更新方法,這種方法能根據(jù)行為策略獲得更大的探索范圍.Q-Leaning算法需要確定控制收斂速度的學(xué)習(xí)速率η,折扣因子γ和獎(jiǎng)勵(lì)因子K.在本文對(duì)比實(shí)驗(yàn)中η=0.5,γ=0.5,K=1.
圖4為本文方案、DDCA算法[18]和Q-Leaning算法[13]3種管理方案5 d電池的容量變化.每個(gè)時(shí)段的初始任務(wù)調(diào)度安排為最低消耗.在日出之后調(diào)度算法會(huì)根據(jù)預(yù)測(cè)到的能量和電池的電量來判斷是否來選擇更加符合當(dāng)前能量攝入情況的任務(wù)調(diào)度.11日到15日的能量收集維持在一個(gè)比較平均的水平.在第96、192、288、384、480個(gè)時(shí)序(即一天結(jié)束時(shí)的時(shí)序)本文方案的電池能量分別為1 969.8、1 966.4、1 964.9、1 961.0、1 966.0 mAh,與初始電量相差1.72%,說明此任務(wù)調(diào)度計(jì)劃在24 h實(shí)現(xiàn)了能量中性原則(即24 h內(nèi)節(jié)點(diǎn)的消耗和收集到的能量持平).DDCA算法在一天結(jié)束時(shí)的時(shí)序的電池電量為1 952.8、1 968.8、1 944.9、1 951.1、1 970.6 mAh,與本文的能量管理方案相比,損失的能量多出20.9%.Q-Leaning算法在一天結(jié)束時(shí)的時(shí)序的電池電量為1 974.2、1 963.2、1 968.8、1 929.9、1 922.1 mAh,與本文方案相比損失的能量多出40.6%,前面兩天Q-Leaning算法的剩余電池電量維持在一個(gè)較好水平,隨著時(shí)間推移電量逐漸降低,最后一天的剩余與初始電量相差3.9%.實(shí)驗(yàn)表明,本文方案優(yōu)于DDCA算法和Q-Leaning算法.
表3列出了DDCA算法和Q-Leaning算法與本文算法的時(shí)間復(fù)雜性比較,時(shí)間復(fù)雜性用算法運(yùn)行時(shí)間表示.表3表明本文方案與其他兩種算法相比,在保證24 h能量中性的同時(shí),保持了較小的時(shí)間復(fù)雜度.
為進(jìn)一步評(píng)估本文方案的性能,物理實(shí)驗(yàn)在中國(guó)中南部城市武漢進(jìn)行,時(shí)間是2022年3月.傳感器網(wǎng)絡(luò)在TI CC2530平臺(tái)上實(shí)現(xiàn),傳感器節(jié)點(diǎn)用TPS62737的TI BQ25505芯片用于管理太陽能電池板收集的能量.這是一個(gè)集成的能量管理解決方案,非常適合滿足超低功耗的特殊應(yīng)用程序.MAXIX DS2780芯片用于測(cè)量電池的剩余電量.DS2780是一款16位專業(yè)測(cè)量IC,用于估算可充電鋰電池的可用容量.實(shí)驗(yàn)布置了6個(gè)集成式的傳感器節(jié)點(diǎn).每個(gè)傳感器節(jié)點(diǎn)基于本文中提出的預(yù)測(cè)算法和能量管理算法.實(shí)驗(yàn)進(jìn)行了5 d的能量預(yù)測(cè)和管理,節(jié)點(diǎn)在每天結(jié)束時(shí)的電量分別為1 970.4、1 963.0、1 961.7、1 960.8、1 968.4 mAh.與初始電量相差1.76%.物理實(shí)驗(yàn)表明本文方案在天氣出現(xiàn)變化時(shí)迅速調(diào)整節(jié)點(diǎn)的任務(wù)調(diào)度,從而實(shí)現(xiàn)24 h的能量中性管理.
5? 結(jié)束語
本文針對(duì)太陽能無線傳感器網(wǎng)絡(luò)提出一種太陽能收集預(yù)測(cè)算法和能量管理方案,根據(jù)預(yù)測(cè)的能量,調(diào)整傳感器節(jié)點(diǎn)的調(diào)度計(jì)劃,實(shí)現(xiàn)節(jié)點(diǎn)的能量消耗中性,從而使傳感器節(jié)點(diǎn)能夠長(zhǎng)期穩(wěn)定地工作.仿真實(shí)驗(yàn)表明,本文預(yù)測(cè)方案誤差率只有8.6%,相比EWMA預(yù)測(cè)算法和Pro-Energy算法誤差降低了52.2%和48.0%.本文能量管理方案相比DDCA和Q-Leaning算法能量損失降低了20.9%和40.6%,說明本文提出的方案在能量預(yù)測(cè)精度和能量管理策略方面有明顯的優(yōu)勢(shì).
參? 考? 文? 獻(xiàn)
[1] ??LANZOLLA A,SPADAVECCHIA M.Wireless sensor networks for environmental monitoring[J].Sensors,2021,21(4):1172.
[2]ROKONUZZAMAN M,MISHU M K,AMIN N,et al.Self-sustained autonomous wireless sensor network with integrated solar photovoltaic system for Internet of smart home-building(IoSHB)applications[J].Micromachines,2021,12(6):653.
[3]詹華偉,王良源,陳思,等.基于RSSI的四邊測(cè)距井下人員定位系統(tǒng)[J].河南師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2021,49(4):53-59.
ZHAN H W,WANG L Y,CHEN S,et al.Four-sided ranging underground personnel positioning system based on RSSI[J].Journal of Henan Normal University(Natural Science Edition),2021,49(4):53-59.
[4]JUNESCO D,SUPRIYANTO E,HASAN A,et al.QoS analysis of WSN(Wireless Sensor Network)using node MCU and accelerometer sensors on bridge monitoring systems[J].IOP Conference Series:Materials Science and Engineering,2021,1108(1):012025.
[5]ADU-MANU K S,ADAM N,TAPPARELLO C,et al.Energy-harvesting wireless sensor networks(EH-WSNs):a review[J].ACM Transactions on Sensor Networks,14(2):1-50.
[6]SHARMA H,HAQUE A,JAFFERY Z A.Solar energy harvesting wireless sensor network nodes:a survey[J].Journal of Renewable and Sustainable Energy,2018,10(2):023704.
[7]KANSAL A,HSU J,ZAHEDI S,et al.Power management in energy harvesting sensor networks[J].ACM Transactions on Embedded Computing Systems,2007,6(4):32.
[8]CAMMARANO A,PETRIOLI C,SPENZA D.Pro-Energy:a novel energy prediction model for solar and wind energy-harvesting wireless sensor networks[C]//2012 IEEE 9th International Conference on Mobile Ad-Hoc and Sensor Systems(MASS 2012).Las Vegas:IEEE,2013:75-83.
[9]KOSUNALP S.A new energy prediction algorithm for energy-harvesting wireless sensor networks with Q-learning[J].IEEE Access,2016,4:5755-5763.
[10]SHU T X,CHEN J H,BHARGAVA V K,et al.An energy-efficient dual prediction scheme using LMS filter and LSTM in wireless sensor networks for environment monitoring[J].IEEE Internet of Things Journal,2019,6(4):6736-6747.
[11]DEB M,ROY S.Enhanced-pro:a new enhanced solar energy harvested prediction model for wireless sensor networks[J].Wireless Personal Communications,2021,117(2):1103-1121.
[12]HSU R C,LIU C T,WANG H L.A reinforcement learning-based ToD provisioning dynamic power management for sustainable operation of energy harvesting wireless sensor node[J].IEEE Transactions on Emerging Topics in Computing,2014,2(2):181-191.
[13]AIT AOUDIA F,GAUTIER M,BERDER O.RLMan:an energy manager based on reinforcement learning for energy harvesting wireless sensor networks[J].IEEE Transactions on Green Communications and Networking,2018,2(2):408-417.
[14]HSU R C,LIN T H,SU P C.Dynamic energy management for perpetual operation of energy harvesting wireless sensor node using fuzzy Q-learning[J].Energies,2022,15(9):3117.
[15]LIU X Z,QI N J,DAI K R,et al.Sponge Supercapacitor rule-based energy management strategy for wireless sensor nodes optimized by using dynamic programing algorithm[J].Energy,2022,239:122368.
[16]PRAUZEK M,KONECNY J.Optimizing of Q-learning day/night energy strategy for solar harvesting environmental wireless sensor networks nodes[J].Elektronika Ir Elektrotechnika,2021,27(3):50-56.
[17]ALI M I,AL-HASHIMI B M,RECAS J,et al.Evaluation and design exploration of solar harvested-energy prediction algorithm[C]//2010 Design,Automation & Test in Europe Conference & Exhibition(DATE 2010).[s.l.]:IEEE,2010:142-147.
[18]PENDEM S,SURESH K.Energy harvesting using adaptive duty-cycling algorithm-wireless sensor networks[J].Energy,2017,13(3):100-109.
Energy prediction and management of solar wireless sensor networks
Wang Yuanxiang, Xu Zhen
(School of Electrical and Electronic Engineering, Wuhan Polytechnic University, Wuhan 430048, China)
Abstract: Wireless sensor networks face the challenge of limited battery power. To prolong the lifespan of the network, sensor nodes can utilize solar panels to convert solar energy into electricity for self-sustained operation. Given the uncertainty and intermittency of solar energy, a prediction algorithm for solar energy collection and an energy management scheme are proposed. According to the predicted energy levels, the scheduling plan for sensor nodes is adjusted to achieve energy consumption neutrality, ensuring the stable operation of the wireless sensor network over an extended period. The simulation results demonstrate that this scheme offers clear advantages in energy prediction accuracy and energy management strategy.
Keywords: wireless sensor network; solar energy; energy prediction; energy management
[責(zé)任編校? 陳留院? 趙曉華]