周 游,范屹帆,吳 寅
(南京林業(yè)大學 信息科學技術(shù)學院,江蘇 南京 210037)
活立木是指林地中生長的樹木,同時也包括不成林的散生木?;盍⒛镜臉鋭菔桥袛嗷盍⒛旧L狀況的綜合指標,樹勢的好壞反映了營養(yǎng)生長和生殖生長之間的關(guān)系,同時也體現(xiàn)著林業(yè)技術(shù)管理水平和林地種植試驗處理的效應(yīng)。在科研和生產(chǎn)中,活立木樹勢的研究有著重要的理論和實際應(yīng)用價值[1]。我國是世界上人工林保存面積最大的國家,這些森林資源給我國帶來巨大的經(jīng)濟收益和生態(tài)效益,森林不僅提供人們正常生活所需的基礎(chǔ)資源,還在保護物種多樣性、生態(tài)多樣性及維護區(qū)域生態(tài)平衡等方面起著至關(guān)重要的作用[2]。
通過外觀判斷樹勢,方法簡便,經(jīng)常使用于野外調(diào)查和林業(yè)生產(chǎn)實踐,但其準確性和時效性均較差。特別是當觀察到樹木的病癥病狀后,往往已經(jīng)錯過了防治的最佳時期。
通過生理生化指標進行診斷,可以迅速發(fā)現(xiàn)樹木的異常變化。但由于測定儀器的專業(yè)化和測定手段的復雜性,阻礙了該方法在林業(yè)生產(chǎn)和野外調(diào)查的推廣。
因此,找到一種既簡便,又快速準確的評價樹木樹勢的方法,是擺在林業(yè)工作者面前的一個重要課題。而樹木電特性為快速高效診斷樹木樹勢提供了新的發(fā)展思路。
Piene等人[3]研究了落葉和健康香脂冷杉的電阻,發(fā)現(xiàn)落葉樹木的電阻值顯著高于健康樹木。宋蟄存、林迎忠等人[4]對細胞組織的生物電學特性進行了非常有價值的研究和分析。他們研究了不同細胞活性在不同木材含水率下的電學特性,并將細胞膜、細胞外液、細胞內(nèi)液等效為一段電路進行了電路分析。他們認為細胞膜具有的雙重電學特性,即阻抗和電容二性,在不同的外界刺激下會得到不同的測量效果,當細胞死亡后,這種雙重電學特性就會消失。高保山、董燕南等人[5]通過對樹木極化電容和電阻特性的研究,并從熱力學角度對樹木的長勢進行了解釋,認為樹木生物電特性為客觀了解和掌握樹木現(xiàn)時的生長狀態(tài)和發(fā)展前景提供了科學的依據(jù)和辦法。研究指出樹木電阻與高生長量、直徑生長量、材積生長量、韌皮部含水率等多種因素成負相關(guān),樹木長勢越好電阻越小,并從熱力學熵角度對此做出了解釋,最后指出樹體電容與電阻的關(guān)系,即電容越大,電阻越小。雖然文章著重進行理論推導缺乏試驗數(shù)據(jù)支持,但其電容與電阻成負相關(guān)的推論與Piene等的試驗結(jié)果一致。
因此對活立木的阻抗進行監(jiān)測可以反映出活立木的健康狀態(tài),方便林地管理者實時地判斷木材的好壞,以此作出相應(yīng)養(yǎng)護方案,極大便利了對珍稀木種的監(jiān)測保護。
為了節(jié)省測量的人力成本,實時性大規(guī)模地測量樹木的阻抗,引入了LoRa無線組網(wǎng)傳輸+傳感器的方案, LoRa無線通信技術(shù)傳輸距離較遠、功耗與成本較低,在錯綜復雜的林地環(huán)境中,也能有效布置監(jiān)測節(jié)點,節(jié)省人力成本,同時,LoRa可以大規(guī)模組網(wǎng),實時數(shù)據(jù)采集可供管理者第一時間做出應(yīng)對方案。
本文結(jié)合STM32設(shè)計了一套基于LoRa的活立木阻抗測量系統(tǒng),利用AD5933和SX1276芯片,使用卡爾曼濾波,對樹林中的活立木阻抗進行測量,可實現(xiàn)遠距離實時監(jiān)測活立木的健康狀態(tài),系統(tǒng)相較于目前國際先進的阻抗測試儀器TH2828S與德國IML-PD系列阻抗傳統(tǒng)儀,具有成本低、測量不需人力、節(jié)點安裝、維護簡單、測量實時性強等特點,同時也避免了人為手持設(shè)備測量時的操作不規(guī)范而導致的測量數(shù)據(jù)誤差。
基于LoRa的活立木健康監(jiān)測系統(tǒng)的設(shè)計,首先通過阻抗測量模塊采集信號進行阻抗測量,對測得的模擬量轉(zhuǎn)換成數(shù)字量,并通過MCU進行預(yù)處理、濾波、遠程發(fā)送等工作,上位機遠程接收處理數(shù)據(jù)后得出實時活立木健康狀況。
經(jīng)對比確定整體遠程測量系統(tǒng)的硬件的組成。選擇著名高性能模擬、混合信號和數(shù)字信號處理(DSP)集成電路(IC)設(shè)計、制造的公司亞德諾(ADI)的AD5933進行阻抗的測量,將測試得到的模擬量,通過MCU—STM32F103ZET6進行預(yù)處理,中值濾波后,再通過串口控制基于SX1276的LoRa模塊將阻抗測量信號發(fā)送到網(wǎng)關(guān),網(wǎng)關(guān)接收數(shù)據(jù)到上位機,上位機處理數(shù)據(jù),并通報實時狀態(tài),系統(tǒng)設(shè)計的整體流程如圖1所示。
圖1 基于LoRa的活立木健康監(jiān)測系統(tǒng)流程
系統(tǒng)的硬件設(shè)計分為數(shù)據(jù)采集端和數(shù)據(jù)接收端兩部分。數(shù)據(jù)采集端的硬件設(shè)計如圖2所示。該采集設(shè)備安裝在活立木樹干上,硬件設(shè)備主體由STM32F103微處理器、阻抗測量模塊、LoRa模塊和電源管理模塊組成。阻抗測量模塊用來采集活立木生長期間的阻抗值,LoRa用來收發(fā)這些數(shù)據(jù)。接收端的硬件設(shè)計如圖3所示。
圖2 數(shù)據(jù)采集端圖
圖3 數(shù)據(jù)接收端圖
LoRa網(wǎng)關(guān)接收到數(shù)據(jù)后,將數(shù)據(jù)發(fā)送給上位機的數(shù)據(jù)處理軟件,軟件經(jīng)過相應(yīng)的處理并最終顯示。
本設(shè)計選取MCU(STMicroelectronics公司的STM32103VET6芯片)作為核心控制單元。該芯片是基于32 bit的Cortex-M3的CPU。系統(tǒng)頻率最高可達72 MHz。
LoRa技術(shù)是一種以帶寬換靈敏度的擴頻調(diào)制技術(shù)[6],實驗選用470 MHz的LoRa信號,節(jié)點模塊采用SX1276芯片,網(wǎng)關(guān)采用SX1301芯片,均采用單片機spi進行驅(qū)動。由表1可知,LoRa相對于其他傳輸方式,最顯著的優(yōu)點是靈敏度更高、傳輸距離更遠、信號更強,能夠更好地應(yīng)用在環(huán)境復雜的混交林場景。節(jié)點的布局如圖4所示,采用星型網(wǎng)組網(wǎng)、一個主網(wǎng)關(guān)、多個采集結(jié)點,網(wǎng)絡(luò)拓撲簡單,便于集中控制,易于維護和安裝,任意采集節(jié)點的損壞不會影響其他采集結(jié)點,系統(tǒng)可靠性強。
表1 常用的無線傳感網(wǎng)絡(luò)對比
圖4 節(jié)點布局示意圖
阻抗(Impedance)是每個材料和物質(zhì)與生俱來的一種屬性[7]。阻抗測量模塊以阻抗測試芯片AD5933為測量核心[8],AD5933芯片是一款精度較高的阻抗轉(zhuǎn)換芯片,片上集成12位,1 MSPS的ADC轉(zhuǎn)換器與頻率集成發(fā)生器。
利用頻率發(fā)生器產(chǎn)生的信號來激勵外部復阻抗,外部阻抗的響應(yīng)信號由片上的模數(shù)轉(zhuǎn)換器進行采樣,然后由片上DSP進行離散傅里葉變化處理。離散傅里葉算法在每個頻率上返回一個實部(R)和一個虛部(i),利用返回的值計算得到阻抗值。
2.3.1 AD5933組成部分
芯片通過串行IIC接口與MCU連接,校準之后進行測量,可以得到各掃描頻點的阻抗幅度和相位。芯片的組成如圖5所示。
圖5 阻抗測量模塊
2.3.2 AD5933電路設(shè)計
如圖6所示,阻抗測量電路包括電源設(shè)計,系統(tǒng)時鐘設(shè)計和校準電路設(shè)計三部分。
圖6 AD5933電路設(shè)計圖
(1) 電源設(shè)計
采用基準電壓源REF3033給AD5933供電,再分別通過兩個接地的電容實現(xiàn)輸入電源的濾波。REF3033輸出電壓3.3 V,精度±2%,輸出電流25 mA。REF3033 輸出電流較大,不僅提供ADC的基準電源,還提供DDS的模擬電源,以保證激勵、采樣信號的精度和降低信噪比。
(2) 系統(tǒng)時鐘
本阻抗測量儀選用16.384 MHz的外部晶振,作為AD5933的系統(tǒng)主時鐘MCLK,可獲得頻率為整數(shù)的測量點。AD5933完成一次A/D轉(zhuǎn)換需要16個時鐘周期,一次DFT運算需要1 024個A/D轉(zhuǎn)換結(jié)果,因此激勵信號頻率應(yīng)選擇MCLK,16.384分頻的整數(shù)倍。如果激勵信號頻率滿足這個條件,那么在DFT變換中恰好有整數(shù)個激勵波形,不會發(fā)生頻譜泄漏,否則測量結(jié)果不準確。當MCLK為16.384 MHz時,激勵信號頻率可為1 kHz、2 kHz、3 kHz、…、100 kHz[9]。
(3) 校準電路
如圖7所示,為了優(yōu)化設(shè)備測量時的測量精度,在反饋電阻后級根據(jù)待測阻抗值的范圍,設(shè)備選擇了阻值分別為100 Ω、1 kΩ、10 kΩ、33 kΩ、100 kΩ、1 MΩ、3.3 MΩ和 9.1 MΩ阻值的校準電阻,使用一個多路復用器 ADG1608來完成校準的功能。
圖7 校準電路設(shè)計圖
2.3.3 阻抗計算
① 幅度計算
每個頻率點的阻抗計算的第一個步驟就是計算這個頻率點的DFT幅度。DFT幅度的計算公式為:
(1)
式中,R為寄存器返回的實數(shù)的值,I為寄存器返回的虛數(shù)的值。
② 增益系數(shù)計算
增益系數(shù)通過測量已知的校準電阻后得到,計算公式為:
(2)
③ 阻抗計算
通過校準得來的增益系數(shù)和測量的該頻點的幅度,可以得到該頻點的阻抗值,計算公式為:
(3)
算法和軟件設(shè)計包括下位機和上位機的算法和軟件設(shè)計,主要包括測量時的量程切換算法和測量值的濾波算法設(shè)計和上位機顯示界面的設(shè)計。
如圖8所示,系統(tǒng)通過選擇不同反饋電阻實現(xiàn)不同量程切換。量程切換算法步驟如下:
圖8 自動量程切換算法流程
① 開啟通道 1,使反饋電阻的阻值最小,并向AD5933發(fā)出測量指令;
② 讀取AD5933測量的虛部i實部值R,計算對應(yīng)的幅度值。
③ 計算幅度值A(chǔ)對應(yīng)的量程區(qū)間K[10];
④ 開啟通道N,向AD5933發(fā)出測量指令;
⑤ 讀取AD5933的測量值,計算幅度值A(chǔ);
⑥ 判斷A是否處于區(qū)間K,若是,結(jié)束量程切換,否則將K放置在與A對應(yīng)的區(qū)間,返回步驟④。
均值濾波是一項空間域平滑技術(shù),屬于典型的線性濾波算法[11]。每個通道采樣30次,經(jīng)過節(jié)點單片機存儲并且通過均值濾波后發(fā)送給終端,濾波公式如下:
(4)
式中,i取1~32的任意常數(shù)。
為確保測量值的精確度,對同一個通道反復測量50次,并將測量的值通過上位機進行卡爾曼濾波算法進行校準,以此得到更精確的測量值。
3.3.1 卡爾曼算法建立
卡爾曼濾波是根據(jù)過去的信號,利用統(tǒng)計估計理論,使用線性最小均方誤差作為最優(yōu)準則,預(yù)測將來某個時刻的值,從而預(yù)測下一個采樣時刻的數(shù)據(jù)[12]。由于只有一個變量,只需要一維的卡爾曼濾波即可??柭鼮V波分為預(yù)測過程和更新過程[13],預(yù)測過程的方程為:
(5)
更新方程如下:
(6)
式中,gk為卡爾曼增益系數(shù),h為縮放系數(shù),Zk為測量值,R是測量噪聲uk-1的平均值。
3.3.2 建立卡爾曼濾波算法模型
把樹木看成一個系統(tǒng),阻抗值和前一時刻的阻抗值是相同的,所以A=1,沒有相關(guān)控制量,所以uk-1=0。因此得出:
x(k|k-1)=x(k-1|k-1),
P(k|k-1)=P(k-1|k-1)+Q,
(7)
因為測量值是AD5933直接得出的,所以跟阻抗直接對應(yīng),即h=1,因此得出:
x(k|k)=x(k|k-1)+gk(Zk-x(k|k-1)),
P(k|k)=(1-gk)P(k|k-1)。
(8)
3.4.1 通信協(xié)議設(shè)計
設(shè)計一套適用于系統(tǒng)的通信協(xié)議十分必要,通信協(xié)議的設(shè)計需要考慮上位機和下位機的處理能力,通信雙方的數(shù)據(jù)類型,還需考慮未來可能會新增的功能。本系統(tǒng)所設(shè)計的通信協(xié)議數(shù)據(jù)幀格式如表2所示。
表2 通信協(xié)議數(shù)據(jù)幀格式
3.4.2 主程序設(shè)計
主程序設(shè)計分別為從機程序和主機程序。從機MCU通過IIC總線讀取AD5933的數(shù)據(jù),通過運算得到阻抗值,再均值濾波后通過SX1267發(fā)送給網(wǎng)關(guān),從機端的程序流程圖如圖9(a)所示,網(wǎng)關(guān)獲取數(shù)據(jù)后發(fā)送給主機,主機軟件獲取后通過卡爾曼濾波得到最終的阻抗值,主機端的程序流程如圖9(b)所示。
(a) 從機軟件運行流程
3.4.3 上位機App設(shè)計
使用Matlab 2022a的AppDesigner進行界面的開發(fā),無需再設(shè)計界面接口;它旨在順應(yīng)Web的潮流,以更加簡便的操作來設(shè)計更加美觀的圖形用戶接口 (Graphical User Interface, GUI)[14],開發(fā)主要工作在預(yù)設(shè)組件屬性編輯及調(diào)試回調(diào)函數(shù);App完成效果可視化,設(shè)計過程中可在線調(diào)試,易用性優(yōu)于GUI。實現(xiàn)效果如圖10所示。
圖10 上位機App界面
將設(shè)備捆綁在樹干上,阻抗測量探頭透過樹皮插入木質(zhì)部,將設(shè)備高度調(diào)至1.5~2 m的高度,實驗表明,此高度范圍傳輸數(shù)據(jù)的無線電波損耗,RSSI的值最低,更有利于信號的傳播[15]。通過上位機發(fā)送測量指令,每個設(shè)備最多可以測量32個通道,最少可以測量8個通道,選擇需要測量的通道數(shù),發(fā)送測試指令,通過LoRa傳輸給采集節(jié)點,節(jié)點接收到指令,開始解析指令,并進行相應(yīng)地測量操作,待測量結(jié)束,節(jié)點通過LoRa自動返回數(shù)據(jù)給終端節(jié)點。
在林中每隔5 m,選取一個采集節(jié)點,一共選擇20棵長勢不同的活立木,按照上述的措施安裝好設(shè)備,組網(wǎng)成功后,通過上位機挨個選取樹木,進行測量并記錄下測量結(jié)果。與此同時,利用專業(yè)阻抗測量設(shè)備TH2828S在相同的位置進行測量,得到相應(yīng)的阻抗值。
將基于LoRa的阻抗測量設(shè)備測得的不同活立木的阻抗值,與專業(yè)阻抗測量設(shè)備TH2828S測量的值進行比較。TH2828S是采用當前國際先進的自動平衡電橋原理研制成功的新一代阻抗測試儀器,其基本測量精度可達0.05%,其卓越的性能可以實現(xiàn)商業(yè)標準和特殊標準,如iec和mil標準的各種測試。比較二者之間的誤差值,得到的結(jié)果如表3所示。
表3 阻抗測量結(jié)果
對數(shù)據(jù)進行誤差分析得到圖11,圖中描述了基于LoRa的阻抗測量設(shè)備測得的值與TH2828S測得的值之間的誤差。每個數(shù)據(jù)點有一個阻抗測量儀測試值和TH2828S測試值,兩組值之間距離即為誤差值,圖像表明,阻抗值越小,測量的誤差就越小,整體的誤差范圍在合理區(qū)間,保持在0.5%以內(nèi),即本系統(tǒng)測試精度可達到(0.05±0.000 25)%。
圖11 數(shù)據(jù)誤差分析
本系統(tǒng)利用AD5933測得活立木的阻抗數(shù)據(jù),采用LoRa對數(shù)據(jù)進行遠程的收發(fā),通過卡爾曼濾波算法對數(shù)據(jù)進行濾波處理,并在上位機App上實時顯示。通過對活立木阻抗進行有效的實時監(jiān)測,對提高林業(yè)生產(chǎn)環(huán)節(jié)中樹木長勢的健康監(jiān)測效率具有實際應(yīng)用價值。相較于市場主流的活立木阻抗測試儀,阻抗測量結(jié)果精度較高,誤差范圍控制在0.5%內(nèi);增加了遠程操作和實時數(shù)據(jù)傳輸?shù)墓δ?,設(shè)備更加小巧輕便,采集數(shù)據(jù)收發(fā)實時性較強,收發(fā)過程基本無丟包,穩(wěn)定性高,使用覆蓋范圍可達2 km,效果良好,且系統(tǒng)成本較為低廉,可以廣泛應(yīng)用于林業(yè)物聯(lián)網(wǎng)監(jiān)測系統(tǒng)中,有效地節(jié)省人力、物力成本。下一步將利用算法把活立木阻抗和活立木的健康狀態(tài)進行結(jié)合計算參數(shù)指標。