国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于線性擬合的WSN數(shù)據(jù)有損壓縮算法的能效預(yù)測(cè)方法與流程

      文檔序號(hào):12366019閱讀:366來源:國(guó)知局
      基于線性擬合的WSN數(shù)據(jù)有損壓縮算法的能效預(yù)測(cè)方法與流程
      本發(fā)明技術(shù)涉及一種數(shù)據(jù)壓縮算法的能效在線預(yù)測(cè)方法,該方法適用于無線傳感網(wǎng)中基于線性擬合的有損數(shù)據(jù)壓縮算法,主要用于根據(jù)壓縮精度要求對(duì)壓縮算法進(jìn)行在線選擇,以更高效地節(jié)省電能。
      背景技術(shù)
      :隨著片上系統(tǒng)(SoC)、微型電子機(jī)械系統(tǒng)(MEMS)、嵌入式系統(tǒng)低功耗技術(shù)和傳感器技術(shù)等的快速發(fā)展,作為綜合智能信息處理平臺(tái)的無線傳感網(wǎng)(WirelessSensorNetworks,WSN)受到廣泛的關(guān)注,具有廣闊的應(yīng)用前景,是計(jì)算機(jī)信息領(lǐng)域研究中最為活躍的熱點(diǎn)之一,也是改變未來生活的重大技術(shù)之一。WSN以傳感節(jié)點(diǎn)作為基本單元,受使用成本的限制,這些節(jié)點(diǎn)體積小,其處理、存儲(chǔ)和計(jì)算資源均有限,它們能夠感知、測(cè)量和收集周圍環(huán)境的相關(guān)信息,并根據(jù)本地指令進(jìn)行處理,最后通過無線通信的方式發(fā)送給用戶。由于節(jié)點(diǎn)體積非常小,節(jié)點(diǎn)的計(jì)算速度、存儲(chǔ)空間和能量供給也非常有限,并且通常情況下采用電池供電,由于節(jié)點(diǎn)感知區(qū)域的特殊性和節(jié)點(diǎn)的數(shù)量大,更換電池難以做到或是不現(xiàn)實(shí)的。因此,如何最大化的利用節(jié)點(diǎn)有限的能量資源成為WSN研究的熱點(diǎn)問題。傳感節(jié)點(diǎn)的能量主要消耗在數(shù)據(jù)的感知、處理和傳輸上。其中,數(shù)據(jù)的無線傳輸環(huán)節(jié)所消耗的能量最多,因而節(jié)點(diǎn)的大部分能量被用在了數(shù)據(jù)的無線傳輸上。有研究表明:通過無線設(shè)備發(fā)送1bit數(shù)據(jù)所需的能量至少是一次加法指令執(zhí)行過程所需能量的480倍。因此,通過采用適當(dāng)?shù)膲嚎s算法,可以減少節(jié)點(diǎn)傳輸數(shù)據(jù)時(shí)所需的能量消耗,從而延長(zhǎng)節(jié)點(diǎn)的壽命。傳統(tǒng)的壓縮算法僅以壓縮率為目標(biāo),不需要考慮節(jié)能問題。有的壓縮方法能實(shí)現(xiàn)的壓縮率高,但其算法復(fù)雜度也高。由于算法的執(zhí)行都要消耗能量且算法復(fù)雜度越高其耗能也越多,如果壓縮算法自身運(yùn)行所需消耗的能量大于通過壓縮數(shù)據(jù)所節(jié)省的通信能量,那么使用數(shù)據(jù)壓縮就達(dá)不到節(jié)能目的。因此,對(duì)WSN應(yīng)用的壓縮算法的要求不同于對(duì)傳統(tǒng)應(yīng)用算法的要求,節(jié)能效果或能量效率(簡(jiǎn)稱能效)是評(píng)價(jià)數(shù)據(jù)壓縮算法是否適用和優(yōu)劣的主要因素,而且這種能效與傳感節(jié)點(diǎn)的通信功率有關(guān)。對(duì)于WSN的數(shù)據(jù)壓縮算法,要求其通過壓縮數(shù)據(jù)所節(jié)省的能量必須大于實(shí)現(xiàn)壓縮所消耗的能量,也即壓縮算法必須具有正的能量效率或正能效。數(shù)據(jù)壓縮方法分為無損壓縮和有損壓縮兩類。無損壓縮不會(huì)使被壓縮的數(shù)據(jù)失真,也即經(jīng)過無損壓縮的數(shù)據(jù)可以完全恢復(fù),但無損壓縮算法的壓縮率相對(duì)較低,只適用于那些要求壓縮數(shù)據(jù)不失真的應(yīng)用場(chǎng)合。有損數(shù)據(jù)壓縮,顧名思義,在壓縮數(shù)據(jù)時(shí)必然會(huì)使數(shù)據(jù)受損,使得由數(shù)據(jù)壓縮后恢復(fù)出來的數(shù)據(jù)相對(duì)原始數(shù)據(jù)存在一定程度的誤差,所重構(gòu)出的數(shù)據(jù)有的只是原始數(shù)據(jù)的近似而非原始數(shù)據(jù)本身。但是,有損壓縮算法的壓縮率高。如果允許由壓縮數(shù)據(jù)恢復(fù)得到的數(shù)據(jù)的誤差越大,則可壓縮掉的數(shù)據(jù)就越多,算法的壓縮率就越高,算法的能效也就會(huì)相應(yīng)提高。因此,基于有損數(shù)據(jù)壓縮方法的節(jié)能效率還與允許有損壓縮存在的誤差大小有關(guān),而無損壓縮則不存在此問題。實(shí)現(xiàn)數(shù)據(jù)有損壓縮的方法多種多樣,其中基于時(shí)間序列線性擬合的壓縮方法是一類常見的簡(jiǎn)單而適用于WSN的有損壓縮算法,國(guó)內(nèi)外對(duì)此有許多研究并獲得了相應(yīng)成果。在這類基于時(shí)間序列線性擬合的壓縮算法中,典型算法有:基于一元線性回歸模型的空時(shí)數(shù)據(jù)壓縮算法、基于回歸的分段線性擬合算法和基于置信間隔的回歸模型調(diào)整算法組合算法、在DP算法上改進(jìn)了壓縮精度和算法復(fù)雜度的最優(yōu)曲線數(shù)據(jù)壓縮算法、利用分段常數(shù)逼近采樣數(shù)據(jù)進(jìn)行線性擬合的PMC-MR算法和PMC-MEAN、自頂向下分段線性逼近算法,等等。這些基本思路相同或相似的壓縮算法,在具體實(shí)現(xiàn)方式上不盡相同,其性能也有差異、各有側(cè)重。但是,這類壓縮算法具有這樣的共同特征,即:當(dāng)對(duì)應(yīng)一個(gè)原始數(shù)據(jù)的線性擬合表達(dá)式計(jì)算值與該原始數(shù)據(jù)的差值不超過允許誤差時(shí),該原始數(shù)據(jù)可以被線性擬合計(jì)算值替代,也即這個(gè)數(shù)據(jù)可以被壓縮掉。因此,采用這類有損壓縮算法,部分原始數(shù)據(jù)被壓縮,部分原始數(shù)據(jù)被保留。保留的數(shù)據(jù)越少,則壓縮率越高。顯然,壓縮算法的誤差或精度和壓縮率都與具體算法的壓縮機(jī)制有關(guān),而壓縮率還與容許的壓縮誤差有關(guān)。一般,壓縮率相對(duì)高的算法,其復(fù)雜度也相對(duì)高,但高壓縮率并不代表高能效。在WSN中,壓縮一比特?cái)?shù)據(jù)所節(jié)能的能量與節(jié)點(diǎn)的硬件工作參數(shù)相關(guān)。如果用于無線通信的功率相對(duì)大,則壓縮一比特?cái)?shù)據(jù)所節(jié)省的能量也就相對(duì)大,在其他條件相同的情況下,算法的能效就會(huì)高;反之,若無線通信的功率小,在其他條件相同的情況下,壓縮算法的能效就會(huì)低。另一方面,WSN節(jié)點(diǎn)的無線通信功率是由通信距離、環(huán)境條件以及通信質(zhì)量要求決定的。所以,面向WSN的壓縮算法的能效并不是由壓縮率單一決定的,還涉及算法的復(fù)雜度和應(yīng)用壓縮算法的節(jié)點(diǎn)具體工作狀態(tài)下的實(shí)際硬件參數(shù)。對(duì)于有損壓縮算法,則影響算法能效的因素還包括實(shí)際應(yīng)用所允許的壓縮誤差的大小。對(duì)于WSN而言,正是由于上述多方面的原因或因素,使得如何從多種適用的壓縮算法中恰當(dāng)選擇一種既能滿足當(dāng)前對(duì)數(shù)據(jù)壓縮誤差的限定要求,又能起到最佳節(jié)能效果的有損壓縮算法是非常值得研究的,并具有實(shí)用價(jià)值。目前判定某個(gè)數(shù)據(jù)壓縮算法是否具有正能效的方法是在節(jié)點(diǎn)上執(zhí)行該算法并測(cè)試其各部分的能耗,然后再根據(jù)能耗值判定。這種方法既費(fèi)時(shí)又費(fèi)力,不宜推廣。鑒于基于時(shí)間序列線性擬合的這類數(shù)據(jù)有損壓縮算法具有適用于WSN的特點(diǎn),因此,研究一種能夠預(yù)測(cè)WSN中有損壓縮算法能效的方法,并根據(jù)該預(yù)測(cè)結(jié)果合理選用這些算法,對(duì)提高WSN節(jié)點(diǎn)的能量節(jié)省有著十分重要的意義。技術(shù)實(shí)現(xiàn)要素:本發(fā)明所解決的技術(shù)問題是,針對(duì)現(xiàn)有技術(shù)的不足,提供一種基于線性擬合的WSN數(shù)據(jù)有損壓縮算法的能效預(yù)測(cè)方法,可以在線并準(zhǔn)確判斷出所使用的壓縮算法是否具有正能效或者在線選擇更高能效的壓縮算法,從而使得節(jié)點(diǎn)能節(jié)省更多的能量。本發(fā)明的技術(shù)方案為:一種基于線性擬合的WSN數(shù)據(jù)有損壓縮算法的能效預(yù)測(cè)方法,包含以下步驟:步驟1:選定傳感節(jié)點(diǎn)和基于線性擬合的無線傳感網(wǎng)數(shù)據(jù)有損壓縮算法;步驟2:根據(jù)傳感節(jié)點(diǎn)的實(shí)際硬件參數(shù),按公式(1)計(jì)算其硬件系數(shù)k;k=URFIRFUmcuImcu×fmcuRbaud---(1)]]>其中,Umcu和Imcu分別為傳感節(jié)點(diǎn)的MCU的工作電壓和活動(dòng)模式下的平均電流,URF和IRF分別為傳感節(jié)點(diǎn)的無線通信模塊的工作電壓和活動(dòng)模式下的平均電流,fmcu為MCU的工作頻率,Rbaud為無線通信的波特率;步驟3:根據(jù)歸一化的傳感器樣本數(shù)據(jù),對(duì)誤差容限ε與壓縮率RC的關(guān)系進(jìn)行多項(xiàng)式擬合,擬合多項(xiàng)式如公式(2)所示;計(jì)算擬合多項(xiàng)式中的系數(shù)α1,α2,…,αn,得到RC的預(yù)測(cè)表達(dá)式;RC=RC0+α1ε+α2ε2+α3ε3+…+αnεn(2)其中,n為擬合多項(xiàng)式的階次,RC0為誤差容限為零(即無壓縮誤差)時(shí)的壓縮率;步驟4:根據(jù)當(dāng)前給定或輸入的(根據(jù)實(shí)際應(yīng)用的精度要求確定)數(shù)據(jù)有損壓縮的誤差容限(即允許誤差)ε,按擬合多項(xiàng)式計(jì)算壓縮率RC的預(yù)測(cè)值;步驟5:按公式(3)計(jì)算所選壓縮算法的軟件系數(shù)s;s=aRC+b(3)其中,系數(shù)a和b滿足公式(4):a=1m(Ncycle3-Ncycle4),b=1m(Ncycle2+Ncycle4)---(4)]]>式中,Ncycle2為對(duì)每個(gè)數(shù)據(jù)都需執(zhí)行的算法步驟進(jìn)行單位數(shù)據(jù)壓縮所需的時(shí)鐘周期數(shù),Ncycle3是只有對(duì)被壓縮掉的數(shù)據(jù)才執(zhí)行的算法步驟進(jìn)行單位數(shù)據(jù)壓縮所需的時(shí)鐘周期數(shù),Ncycle4是只有對(duì)不被壓縮掉而保留下來的數(shù)據(jù)才執(zhí)行的算法步驟進(jìn)行單位數(shù)據(jù)壓縮所需的時(shí)鐘周期數(shù);m表示由數(shù)據(jù)類型決定的每個(gè)數(shù)據(jù)需要占用存儲(chǔ)器的比特位數(shù);步驟6:將上述步驟中計(jì)算出的傳感節(jié)點(diǎn)的硬件系數(shù)k、壓縮率RC的預(yù)測(cè)值和所選壓縮算法的軟件系數(shù)s,帶入算法的能效計(jì)算公式(5),得到算法的能效預(yù)測(cè)值ηE:ηE=(RC-sk)×100%---(5)]]>即ηE=-b/k+(1-a/k)(RC0+α1ε+α2ε2+…+αnεn)(6)所述步驟3包括以下步驟:1)根據(jù)經(jīng)驗(yàn)確定擬合多項(xiàng)式的階次n的初值,n為正整數(shù);2)設(shè)定擬合多項(xiàng)式如以下公式所示:RC=RC0+α1ε+α2ε2+α3ε3+…+αnεn;3)根據(jù)n和輸入的或給定的誤差容限的最大值εmax,按公式ε1=εmax/n確定作為自變量的誤差容限即橫坐標(biāo)的縮尺ε1;4)根據(jù)公式εi=iε1確定誤差容限的等分點(diǎn)εi(i=1,2…,n);對(duì)同分布特征、歸一化的傳感器樣本數(shù)據(jù),按對(duì)應(yīng)等分點(diǎn)的誤差容限(允許誤差)值分別進(jìn)行壓縮,得到等分點(diǎn)εi(i=1,2…,n)對(duì)應(yīng)的壓縮率RCi(i=1,2…,n)的實(shí)際值和誤差容限為零時(shí)的壓縮率RC0的實(shí)際值;5)根據(jù)等分點(diǎn)及其對(duì)應(yīng)的壓縮率的實(shí)際值(ε1,RC1)、(ε2,RC2),…,(εn,RCn),采用規(guī)范化多項(xiàng)式擬合計(jì)算公式(7)計(jì)算規(guī)范化多項(xiàng)式的系數(shù)b1,b2,…,bn;b1b2...bn=12...1222...2n............nn2...nn-1RC1-RC0RC2-RC0...RCn-RC0---(7)]]>6)根據(jù)公式(7)得到的系數(shù)b1,b2,…,bn,按關(guān)系式計(jì)算出擬合多項(xiàng)式的系數(shù)α1,α2,…,αn;7)根據(jù)擬合多項(xiàng)式RC=RC0+α1ε+α2ε2+α3ε3+…+αnεn,計(jì)算等分點(diǎn)εi(i=1,2…,n)對(duì)應(yīng)的壓縮率RCi(i=1,2…,n)的預(yù)測(cè)值;8)由壓縮率RCi(i=1,2…,n)的預(yù)測(cè)值和實(shí)際值,計(jì)算平均擬合誤差;若平均擬合誤差超過輸入的或給定的誤差容限,n加1,返回第2)步;直到平均擬合誤差小于或等于輸入的或給定的誤差容限,結(jié)束擬合計(jì)算;將最新得到的階次n和系數(shù)α1,α2,…,αn作為擬合多項(xiàng)式的階次和系數(shù),得到RC的預(yù)測(cè)表達(dá)式。所述步驟1)中,若是對(duì)誤差容限ε與壓縮率RC的關(guān)系進(jìn)行整段擬合,則n的初值取4;若是對(duì)誤差容限ε與壓縮率RC的關(guān)系分兩段進(jìn)行擬合,則n的初值取2。所述步驟8)中,平均擬合誤差計(jì)算步驟為:對(duì)于任一RCi(i=1,2…,n),計(jì)算其相對(duì)誤差;相對(duì)誤差等于RCi的預(yù)測(cè)值與實(shí)際值之差的絕對(duì)值除以該實(shí)際值;計(jì)算所有RCi(i=1,2…,n)的平均擬合誤差;平均擬合誤差等于所有RCi(i=1,2…,n)的相對(duì)誤差的算術(shù)平均值。所述基于線性擬合的WSN數(shù)據(jù)有損壓縮算法的能效預(yù)測(cè)方法,還包括以下對(duì)壓縮率RC的預(yù)測(cè)表達(dá)式進(jìn)行在線校正的步驟:ⅰ)觀測(cè)所選算法在實(shí)際給定的或輸入的誤差容限下,進(jìn)行傳感數(shù)據(jù)壓縮得到的壓縮率的實(shí)際值;ⅱ)根據(jù)步驟8)得到的RC的預(yù)測(cè)表達(dá)式,計(jì)算得到實(shí)際給定或輸入的誤差容限下,壓縮率的預(yù)測(cè)值;ⅲ)根據(jù)壓縮率的實(shí)際值和預(yù)測(cè)值,計(jì)算壓縮率預(yù)測(cè)值的相對(duì)誤差;ⅳ)若該相對(duì)誤差小于或等于設(shè)定閾值,則RC的預(yù)測(cè)表達(dá)式保持不變;否則,將該傳感節(jié)點(diǎn)最近一次的傳感數(shù)據(jù)、實(shí)際給定或輸入的誤差容限以及相應(yīng)的壓縮率的實(shí)際值作為樣本數(shù)據(jù),并對(duì)其中的傳感數(shù)據(jù)先做歸一化處理,然后重新對(duì)誤差容限ε與壓縮率RC的關(guān)系進(jìn)行多項(xiàng)式擬合,更新RC的預(yù)測(cè)表達(dá)式;所述設(shè)定閾值小于給定或輸入的誤差容限;ⅴ)轉(zhuǎn)入步驟4。所述步驟ⅳ)中所述設(shè)定閾值取給定或輸入的誤差容限的90%~95%。所述步驟4中,根據(jù)壓縮算法程序代碼,借助IAR仿真開發(fā)系統(tǒng)平臺(tái),進(jìn)行以下計(jì)算:1)計(jì)算對(duì)每個(gè)數(shù)據(jù)都需要執(zhí)行的算法步驟進(jìn)行單位數(shù)據(jù)壓縮所需的時(shí)鐘周期數(shù)Ncycle2;2)計(jì)算只有對(duì)被壓縮掉的數(shù)據(jù)才執(zhí)行的算法步驟進(jìn)行單位數(shù)據(jù)壓縮所需的時(shí)鐘周期數(shù)Ncycle3;3)計(jì)算只有對(duì)被保留下來的數(shù)據(jù)才需要執(zhí)行的算法步驟進(jìn)行單位數(shù)據(jù)壓縮所需的時(shí)鐘周期數(shù)Ncycle4;4)按公式(4)計(jì)算系數(shù)a和b的值,然后再按公式(3)計(jì)算得到軟件系數(shù)s。本發(fā)明的技術(shù)構(gòu)思為:針對(duì)具體的傳感節(jié)點(diǎn)和適用于WSN數(shù)據(jù)壓縮的基于線性擬合的有損數(shù)據(jù)壓縮算法,根據(jù)算法能效的計(jì)算公式(5)所含的三個(gè)參量以及其中算法的軟件系數(shù)s和壓縮率Rc兩者之間的關(guān)系,用顯式表達(dá)式分別表示出具體壓縮算法的s與Rc的關(guān)系和Rc與數(shù)據(jù)壓縮誤差ε的變化關(guān)系,再將這些表達(dá)式帶入公式(5)中得到具體壓縮算法能效ηE與變量ε的關(guān)系表達(dá)式,從而根據(jù)壓縮誤差的允許值和硬件參數(shù)實(shí)現(xiàn)對(duì)算法能效的在線預(yù)測(cè),基于Rc的預(yù)測(cè)方法還可根據(jù)算法對(duì)傳感數(shù)據(jù)的實(shí)際壓縮率與壓縮率預(yù)測(cè)值的相對(duì)誤差情況,對(duì)壓縮率預(yù)測(cè)式進(jìn)行在線修正。選定傳感器節(jié)點(diǎn)和基于線性擬合的WSN數(shù)據(jù)有損壓縮算法根據(jù)應(yīng)用場(chǎng)合的需要確定傳感器節(jié)點(diǎn)的硬件參數(shù):MCU的工作頻率、電壓、電流和無線通信設(shè)備的工作電壓、電流和波特率。選擇幾種具體的基于線性擬合的WSN數(shù)據(jù)有損壓縮算法。根據(jù)節(jié)點(diǎn)的硬件參數(shù),按硬件系數(shù)k的計(jì)算公式(1)計(jì)算k值硬件系數(shù),顧名思義是只與硬件有關(guān)的系數(shù),與壓縮算法以及壓縮對(duì)象無關(guān)。由公式(1)可以看出,硬件系數(shù)涉及兩個(gè)平臺(tái):MCU和無線通信平臺(tái)。算法程序由MCU執(zhí)行,不一樣的MCU往往有不一樣的功率消耗,不一樣的MCU體系架構(gòu)和指令集也會(huì)使得相同算法執(zhí)行時(shí)的實(shí)際功耗也不一樣,進(jìn)而影響壓縮算法運(yùn)行的能耗。由于不同射頻芯片的發(fā)射功率及相應(yīng)的接收靈敏度等性能不同,實(shí)際中數(shù)據(jù)傳輸?shù)牟ㄌ芈试O(shè)置可能不同,節(jié)點(diǎn)間通信距離以及現(xiàn)場(chǎng)環(huán)境不同或變化,這些都使得傳輸單位數(shù)據(jù)所對(duì)應(yīng)的功耗水平不同或者需要調(diào)整改變,因而無線通信環(huán)境作為一個(gè)方面的因素對(duì)節(jié)能效率也有著間接影響。通過硬件平臺(tái)的數(shù)據(jù)手冊(cè)便可獲取MCU和無線通信設(shè)備的工作電壓Umcu和URF,以及其活動(dòng)模式的平均電流Imcu和IRF,MCU工作頻率fmcu,還有無線通信波特率Rbaud。根據(jù)公式(1)便可計(jì)算出k值。根據(jù)RC的預(yù)測(cè)方法,計(jì)算RC預(yù)測(cè)表達(dá)式(2)中的系數(shù)α1,α2,…,αn;壓縮率RC主要與壓縮對(duì)象和算法所設(shè)定的誤差容限ε有關(guān),且經(jīng)研究發(fā)現(xiàn)對(duì)于服從同一分布規(guī)律的壓縮對(duì)象,RC與ε之間呈現(xiàn)出相似的非線性關(guān)系。對(duì)于這種非線性關(guān)系可以采用多項(xiàng)式擬合的方法通過曲線擬合確定,從而獲得RC的預(yù)測(cè)表達(dá)式,在計(jì)算多項(xiàng)式系數(shù)時(shí),選用規(guī)范化多項(xiàng)式擬合計(jì)算方法。由于該方法簡(jiǎn)單,易于編程實(shí)現(xiàn)并且便于在資源有限的傳感器節(jié)點(diǎn)上進(jìn)行擬合系數(shù)的在線計(jì)算,便于根據(jù)選定算法的實(shí)際壓縮率在超設(shè)定閾值的情況下,對(duì)RC的預(yù)測(cè)表達(dá)式做在線修正。根據(jù)軟件系數(shù)s的預(yù)測(cè)方法,根據(jù)公式(4)計(jì)算s預(yù)測(cè)表達(dá)式(3)中的系數(shù)a和b軟件系數(shù)s的計(jì)算公式如式(7)。s=NcycleNuncmp×m---(8)]]>其中Ncycle和Nuncmp分別為算法程序運(yùn)行所需時(shí)鐘周期數(shù)和原始數(shù)據(jù)量,m代表原始數(shù)據(jù)類型所占的比特位數(shù)。壓縮的原始數(shù)據(jù)量一定時(shí),只要計(jì)算出Ncycle便可得到s的值。針對(duì)基于線性擬合的有損數(shù)據(jù)壓縮算法,該類算法的結(jié)構(gòu)流程如圖1所示。根據(jù)圖2所示流程圖和前述這類算法的共同特征分析可知,可以將整個(gè)算法的執(zhí)行過程分成如下四個(gè)部分,即:執(zhí)行一次的部分、每次都要執(zhí)行的部分、只有對(duì)被壓縮掉的數(shù)據(jù)才會(huì)執(zhí)行的部分、只對(duì)被保留的數(shù)據(jù)才會(huì)執(zhí)行的部分。圖1中的過程①②⑦⑧只執(zhí)行了一次,過程①②⑦⑧所需要時(shí)鐘周期數(shù)定義為Ncycle1;過程③被每個(gè)數(shù)據(jù)都執(zhí)行一次,執(zhí)行的次數(shù)則為時(shí)間序列數(shù)據(jù)的長(zhǎng)度Nuncmp,過程③每次執(zhí)行所需要的時(shí)鐘周期數(shù)定義為Ncycle2,總的時(shí)鐘周期數(shù)為Ncycle2×Nuncmp;過程④⑥只有在設(shè)定的誤差容限內(nèi)的數(shù)據(jù)才被執(zhí)行,即只有存在可壓縮掉的數(shù)據(jù)才會(huì)執(zhí)行這兩個(gè)過程,執(zhí)行的次數(shù)為被壓縮掉的數(shù)據(jù)的個(gè)數(shù)Ncmped,過程④⑥每次執(zhí)行所需的時(shí)鐘周期數(shù)定義為Ncycle3,那么總共所需的時(shí)鐘周期數(shù)為Ncycle3×Ncmped;過程④⑤⑥只有不在誤差容限內(nèi)的數(shù)據(jù)才被執(zhí)行,即只有存在需要保留下來的數(shù)據(jù)才會(huì)執(zhí)行這三個(gè)過程,執(zhí)行的次數(shù)為保留下來的數(shù)據(jù)的個(gè)數(shù)Nsaved,這三個(gè)過程每次執(zhí)行所需的時(shí)鐘周期數(shù)定義為Ncycle4,那么總共所需的時(shí)鐘周期數(shù)為Ncycle4×Nsaved。通過上述分析可得,算法執(zhí)行所需的時(shí)鐘周期數(shù)Ncycle如式(9):Ncycle=Ncycle1+Ncycle2×Nuncmp+Ncycle3×Ncmped+Ncycle4×Nsaved(9)將公式(9)帶入公式(8)整理可得公式(10)。s=1m(Ncycle1Nuncmp+Ncycle2+Ncycle4+(Ncycle3-Ncycle4)×NcmpedNuncmp)---(10)]]>當(dāng)m×Nuncmp>>Ncycle1時(shí),式(10)變?yōu)槭?11)。s=1m(Ncycle3-Ncycle4)×RC+1m(Ncycle2+Ncycle4)---(11)]]>令則s=aRC+b(12)對(duì)于確定的壓縮算法,a,b均為常數(shù),使得軟件系數(shù)s只與壓縮率RC有關(guān),且為RC的一次函數(shù)。由于Ncycle2、Ncycle3和Ncycle4表示算法各部分指令執(zhí)行所需的時(shí)鐘周期數(shù),且當(dāng)硬件平臺(tái)和壓縮對(duì)象選定后其值固定不變,只要求得Ncycle2、Ncycle3和Ncycle4并計(jì)算出a,b的值,便可根據(jù)壓縮率RC的值計(jì)算軟件系數(shù)s。將s、RC和k分別帶入能效計(jì)算公式(5)即得算法能效ηE的預(yù)測(cè)表達(dá)式(6)。將上述求出的k值、RC預(yù)測(cè)表達(dá)式和s的預(yù)測(cè)表達(dá)式分別代入能效計(jì)算公式(5)即可得算法能效的預(yù)測(cè)表達(dá)式(6)。根據(jù)當(dāng)前給定或輸入的有損數(shù)據(jù)壓縮誤差容限值ε、節(jié)點(diǎn)的硬件系數(shù)k值,按公式(6)計(jì)算所選壓縮算法的能效預(yù)測(cè)值。將按實(shí)際應(yīng)用壓縮算法的精度或允許誤差要求所確定的誤差容限值ε、以及根據(jù)節(jié)點(diǎn)當(dāng)前工作模式計(jì)算得到的硬件系數(shù)k代入公式(6),計(jì)算可得采用該壓縮算法進(jìn)行數(shù)據(jù)壓縮的能效預(yù)測(cè)值。有益效果:根據(jù)本發(fā)明的算法能效的在線預(yù)測(cè)方法可對(duì)基于線性擬合的WSN數(shù)據(jù)有損壓縮算法的能效進(jìn)行了在線預(yù)測(cè),該方法計(jì)算簡(jiǎn)單、耗能低,且預(yù)測(cè)表達(dá)式系數(shù)可以實(shí)現(xiàn)在線計(jì)算,預(yù)測(cè)結(jié)果較為準(zhǔn)確,能夠作為在壓縮數(shù)據(jù)之前進(jìn)行在線選擇高能效壓縮算法的依據(jù),從而最大限度的節(jié)省節(jié)點(diǎn)的能量,延長(zhǎng)網(wǎng)絡(luò)的壽命。附圖說明圖1為本發(fā)明流程圖圖2基于線性擬合的WSN有損壓縮算法流程圖圖3PMC-MR算法壓縮服從高斯分布數(shù)據(jù)的壓縮率預(yù)測(cè)圖圖4PMC-MR算法的軟件系數(shù)預(yù)測(cè)圖圖5PMC-MR算法能效的預(yù)測(cè)圖具體實(shí)施方式以下結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明進(jìn)行進(jìn)一步具體說明。本發(fā)明公開了一種基于線性擬合的WSN數(shù)據(jù)有損壓縮算法的能效預(yù)測(cè)方法,包括以下步驟:步驟1)選定傳感節(jié)點(diǎn)和基于線性擬合的WSN數(shù)據(jù)有損壓縮算法壓縮算法選用基于線性擬合的無線傳感網(wǎng)數(shù)據(jù)有損壓縮算法中的PMC-MR算法,壓縮對(duì)象選取服從高斯分布的樣本數(shù)據(jù),傳感器節(jié)點(diǎn)的微控制器MCU為MSP430F2611,運(yùn)行在3.0V、512μA、1MHz下;無線傳輸模塊采用CC2420,運(yùn)行在3.0V、17.4mA下,以150kpbs的波特率進(jìn)行數(shù)據(jù)傳輸,以上述對(duì)象和工作參數(shù)為例,對(duì)本發(fā)明的實(shí)施應(yīng)用做進(jìn)一步詳細(xì)說明。PMC-MR是一種典型的基于線性擬合的WSN有損數(shù)據(jù)壓縮算法,其原理為:通過監(jiān)測(cè)輸入數(shù)據(jù)的輸入范圍,當(dāng)數(shù)據(jù)的輸入范圍超出預(yù)定的閾值時(shí),則將該數(shù)據(jù)的前一個(gè)位置和中列數(shù)(最大值和最小值的算術(shù)平均數(shù))輸出,從而達(dá)到壓縮目的。PMC-MR算法偽代碼如下。步驟2)根據(jù)節(jié)點(diǎn)的硬件參數(shù),按硬件系數(shù)k的計(jì)算公式(1)計(jì)算k值由于該例節(jié)點(diǎn)MCU采用MSP430F2611,運(yùn)行在工作電壓3.0V、電流512μA和頻率1MHz條件下;無線傳輸設(shè)備采用CC2420,運(yùn)行在工作電壓3.0V,電流17.4mA條件下,以150kpbs的波特率進(jìn)行數(shù)據(jù)傳輸,根據(jù)公式(1)計(jì)算k值。k=URFIRFUmcuImcu×fmcuRbaud=3×17.4×10-33×512×10-6×106150≈227]]>步驟3)根據(jù)RC的預(yù)測(cè)方法,計(jì)算RC預(yù)測(cè)表達(dá)式(2)中的系數(shù)α1,α2,L,αn;1)針對(duì)整段數(shù)據(jù)擬合,取n=4,即一般情況下采用4階多項(xiàng)式擬合,可滿足平均相對(duì)誤差不超過2%的要求;2)由n=4和εmax=4(為便于計(jì)算,此數(shù)據(jù)可放大或縮小),利用公式ε1=εmax/n確定橫坐標(biāo)的縮尺ε1=1;3)根據(jù)公式εi=iε1確定誤差容限的等分點(diǎn)ε1=1,ε2=2,ε3=3,ε4=4;4)根據(jù)對(duì)應(yīng)等分點(diǎn)的樣本數(shù)據(jù)壓縮測(cè)量結(jié)果(εi,Rci):(0,0.0137),(1,0.7246),(2,0.9590),(3,0.9980),(4,0.9980),采用規(guī)范化多項(xiàng)式擬合計(jì)算公式(7)計(jì)算出規(guī)范化多項(xiàng)式的系數(shù)b1,b2,b3,b4,即b1b2b3b4=1111222232433233344424344-10.71090.94530.98430.9843=1.0740-0.43600.0780-0.0052]]>5)根據(jù)預(yù)測(cè)表達(dá)式系數(shù)計(jì)算公式計(jì)算出系數(shù)α1=1.0740,α2=-0.4360,α3=0.0780,α4=-0.0052。擬合結(jié)果如圖3所示,擬合的最大相對(duì)誤差為5.7%,平均相對(duì)誤差為1.32%。步驟4)根據(jù)軟件系數(shù)s的預(yù)測(cè)計(jì)算方法,根據(jù)公式(4)計(jì)算表達(dá)式(3)中的系數(shù)a和b1)根據(jù)PMC-MR偽代碼,算法步驟(5)和第二個(gè)(11)在算法的執(zhí)行過程中,時(shí)間序列中的每個(gè)數(shù)據(jù)都需要執(zhí)行一次,它們所需要的時(shí)鐘周期數(shù)Ncycle2=6;2)算法步驟(6)、(11)和(12)只有存在可壓縮掉的數(shù)據(jù)才會(huì)執(zhí)行這三個(gè)步驟,這些步驟執(zhí)行所需的時(shí)鐘周期數(shù)定Ncycle3=634;3)算法步驟(6)、(7)、(8)和(9)只有存在需要保留下來的數(shù)據(jù)才會(huì)執(zhí)行這四個(gè)步驟,這四個(gè)步驟執(zhí)行所需的時(shí)鐘周期數(shù)Ncycle4=1045。4)根據(jù)公式(4),先計(jì)算預(yù)測(cè)公式中的系數(shù)a和b,然后得到軟件系數(shù)s的預(yù)測(cè)公式。a=132(634-1045)=-12.84,b=132(6+1046)=32.84]]>s=-12.84×RC+32.84如圖4所示,從圖中能夠清晰的發(fā)現(xiàn)s的預(yù)測(cè)值與實(shí)測(cè)值十分相近,最大相對(duì)誤差為0.7%,預(yù)測(cè)結(jié)果較為理想。步驟5)將s、RC和k分別帶入能效計(jì)算公式(5)即得算法能效ηE的預(yù)測(cè)表達(dá)式(6)。在獲得k值、RC表達(dá)式和s預(yù)測(cè)表達(dá)式后分別將其帶入公式(5)得ηE的預(yù)測(cè)表達(dá)式為:ηE=(RC-sk)×100%=(RC-112.84×RC+32.84227)×100%=(1.0566RC-0.1447)×100%]]>整理得:ηE=(-0.1302+1.1348ε-0.4607ε2+0.0824ε3-0.0055ε4)×100%步驟6)按上一步所得能效ηE的具體預(yù)測(cè)表達(dá)式,將壓縮算法的具體允許誤差值代入計(jì)算,得出能效ηE預(yù)測(cè)值。對(duì)應(yīng)壓縮算法允許誤差范圍為0~4的PMC-MR算法的能效預(yù)測(cè)曲線如圖5所示,所有預(yù)測(cè)值與實(shí)測(cè)值都十分相近,最大相對(duì)誤差為5.18%,平均相對(duì)誤差為0.49%,預(yù)測(cè)結(jié)果較為理想。當(dāng)前第1頁1 2 3 
      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1