盧圣文,歐 文
(1.中國科學院物聯(lián)網(wǎng)研究發(fā)展中心,江蘇 無錫 214135; 2. 中國科學院大學 微電子學院,北京 100049;3.中國科學院微電子研究所,北京 100029)
在我國,目前對奶牛的養(yǎng)殖等主要采用傳統(tǒng)編碼以及無源RFID進行溯源管理, 存在信息量小、不能采集奶牛生命體征信息、識別距離短和不能主動發(fā)送自身信息等問題。隨著智能化時代的到來,物聯(lián)網(wǎng)在各個方面得到廣泛應用,牧場管理的智能化需求也日益凸顯。牧場管理的智能化主要體現(xiàn)在對動物體的位置信息、生命體征信息兩方面的監(jiān)控,實現(xiàn)養(yǎng)殖過程中對動物健康狀態(tài)的更精細化的管理。在生命體征方面有體溫、血壓、呼吸和脈搏等反映健康狀態(tài)的指標,目前的研究主要集中在對體溫的監(jiān)測上,中國農業(yè)科學院的蔡勇研究了牛的體溫監(jiān)測[1],浙江大學楊威研究了雞的體溫監(jiān)測[2]。在位置信息方面,關鍵是傳感器的位置信息獲取,主要有基于測距的定位方法和距離無關的定位方法兩類?;跍y距的定位通過測量節(jié)點之間的距離或角度關系,使用三邊測量法、三角測量法或極大似然估計法計算節(jié)點位置。目前的測距方法[3]有到達時間法(Time Of Arrival,TOA)[4]、到達角度法(Angle Of Arrival,AOA)[5]、到達時間差法(Time Difference On Arrival,TDOA)[6]和接收信號強度法(Received Single Strength Indicator,RSSI)[7]。距離無關的定位方法有質心定位法[8]、DV-Hop算法[9]和近似三角形內點法(Approximate Point-in-Triangulation, APIT)[10]等。本文針對牧場管理需求,重點針對低成本和低功耗的要求,實現(xiàn)了集成動物體溫采集的RIFD標簽,研究改進和實現(xiàn)了基于RSSI測距的定位算法。
有源RFID系統(tǒng)可以分為三個部分:有源標簽、讀寫器和上位機。有源標簽通過唯一的身份標識號(Identification,ID)互相區(qū)分,標簽可以通過集成傳感器完成對特定物理量的測量。有源標簽通過傳感器測量到需要的物理量并將其與自身ID打包發(fā)送給附近的讀寫器,讀寫器接收到信號后初步處理并存儲在讀寫器的存儲設備中,上位機通過通信接口讀取讀寫器的存儲器獲取相關信息并進一步處理,獲得體溫及位置信息,最后將處理結果顯示在上位機中[11]。
根據(jù)牧場需求設計了一種能采集奶牛體溫的有源RFID標簽,其電路包括以下幾個模塊:體溫采集模塊、電源管理模塊、微控制模塊、射頻模塊和天線。其結構如圖1所示。
圖1 標簽電路結構
考慮到標簽低功耗和限定尺寸的應用需求,選擇NRF24LE1芯片作為主控芯片和射頻芯片。該芯片是一款集成了微控制器模塊和射頻模塊的芯片,芯片內包含2.4 GHz低功耗無線收發(fā)內核NRF24L01P、高性能51內核和豐富的外設資源,芯片有多種工作模式方便進行低功耗設計,芯片有電壓檢測功能可以進行電路低電壓保護,QFN24封裝的NRF24LE1芯片的封裝尺寸僅為4 mm×4 mm,方便標簽電路設計。由于成品的溫度傳感器采集奶牛的體溫時操作復雜,本文標簽利用熱敏電阻配合NRF24LE1芯片自帶模數(shù)轉換器(Analog-to-Digital Converter,ADC)完成采集奶牛體溫的電路,將熱敏電阻放入牛耳蝸或標簽穿孔部位可以方便地采集牛的體溫,測量精度為±1 ℃,滿足牛體溫采集要求。標簽采用合適尺寸的紐扣電池供電。
針對讀寫器所需實現(xiàn)的功能設計的讀寫器電路包括以下幾個模塊:電源管理模塊、串口通信模塊、微控制器模塊、射頻收發(fā)模塊和天線。其結構如圖2所示。
考慮到讀寫器采集RSSI值和存儲容量的應用需求,選擇NRF51822芯片作為主控芯片和射頻芯片。該芯片是一款集成了微控制器模塊和射頻模塊的芯片,其2.4 GHz射頻模塊能與NRF24LE1兼容,其控制器內核為32位ARM Cotex-M0,比NRF24LE1有更大的存儲空間和更快處理速度,NRF51822芯片能讀取RSSI值。當讀寫器與標簽通信地址匹配時,讀寫器與標簽之間可以相互通信,讀寫器檢測接收到的信號強度得到對應的RSSI值。
圖2 讀寫器的電路結構
基于RSSI測距的定位算法包括兩個部分:RSSI測距和根據(jù)距離定位。具體過程為建立信號傳輸模型,讀取RSSI值并根據(jù)信號傳輸模型計算未知節(jié)點與已知節(jié)點的距離d,根據(jù)距離關系計算出未知節(jié)點位置坐標。
目前無線信號模型普遍采用Shadowing模型[12],該模型可表示為:
(1)
式(1)中d0為參考距離;RSSI0為參考距離d0處的接收信號強度;d為待測距離,單位為m;n為信號衰減因子(與信號傳播環(huán)境有關);ξ為一個高斯隨機變量;RSSI為待測距離為d時的接收信號強度。RSSI值為接收信號功率的對數(shù)表達形式,單位為dB。
在實際應用過程中,通過取平均值的校正方式消去高斯變量對測量結果的影響,可將式(1)簡化為:
RSSI=Q-10nlgd
(2)
常量Q表示距離為1 m時的RSSI值;n為信號傳輸常數(shù),與信號傳輸環(huán)境有關;d為接收端與發(fā)射節(jié)點之間的距離。
基于測距的定位算法主要包括三角定位法、三邊定位法和極大似然估計法。
三角測量法利用兩個天線陣列測量未知節(jié)點到兩個天線陣列的角度,兩個天線陣列位置已知時根據(jù)兩角一邊確定三角形可以確定未知節(jié)點坐標。
三邊測量法利用未知節(jié)點到三個已知節(jié)點的距離可以確定未知節(jié)點坐標。如圖3所示,已知三點A(xa,ya)、B(xb,yb)和C(xc,yc),未知節(jié)點D(x,y)到三點距離分別為da、db和dc,可得方程組如式(3)所示:
(3)
解上述方程組可得D點坐標為:
(4)
三邊測量法受環(huán)境因素干擾可能沒有唯一解,當已知節(jié)點不少于3個時,可以通過極大似然估計法求出聯(lián)立方程組的最優(yōu)解作為節(jié)點坐標。
圖3 三邊測量法示意圖
三角測量法需要布置天線陣列,成本較高。極大似然估計法需要布置較多的讀寫器,成本較高。三邊測量法由于需要先計算未知節(jié)點到已知節(jié)點之間的距離,精度受環(huán)境影響嚴重。針對環(huán)境因素對定位精度的影響,本文提出了改進的三邊定位法,提高了定位精度和算法的環(huán)境適應性。
未知節(jié)點D到三個已知節(jié)點A、B和C的RSSI值分別為RSSIa、RSSIb和RSSIc,通過RSSI之間的差值消去常量Q對計算結果的影響,可得:
(5)
聯(lián)立式(3)和式(5),可得式(6),式(6)中,當三個RSSI值互不相等時,解為兩個圓的交點,有兩個點,其中一個解坐標在定位范圍之外舍去;當三個RSSI值有兩個相等時,解為圓和直線的交點,其中一個解在定位范圍之外舍去;當三個RSSI均相等時,解為兩直線交點(判斷解的坐標是否在定位范圍內,舍去不在定位范圍內的解)。
(6)
改進的算法在計算過程中消去了常量Q,可以減少因環(huán)境不同引起Q的不同而導致的測距誤差,從而提高三邊測量法的精度和環(huán)境適應性。
有源RFID的軟件分為上位機和下位機兩部分,下位機又分為讀寫器軟件和標簽軟件兩部分。上位機和下位機之間通過串口進行通信。
標簽的主要功能為牛體溫采集和與讀寫器通信。根據(jù)標簽的低功耗要求,應使標簽大部分時間處在休眠模式,休眠模式下有兩種喚醒方式:定時喚醒和中斷喚醒。標簽喚醒之后采集數(shù)據(jù)并打包自身ID發(fā)送到讀寫器,發(fā)送完成進入休眠狀態(tài)。其主程序流程如圖4所示。讀寫器的主要功能為與標簽通信和與上位機通信。讀寫器大部分時間處于信號掃描狀態(tài),接收到信號之后讀取信號RSSI值、標簽ID和動物體溫,將讀取到的數(shù)據(jù)打包發(fā)送到上位機。當查找標簽時,讀寫器進入廣播模式,廣播需要查找標簽的ID,對應標簽收到信號后產生中斷信號,收到對應標簽的應答后讀寫器結束查找返回信號掃描狀態(tài)。其主程序流程如圖5所示。
圖4 標簽主程序流程圖
圖5 讀寫器主程序流程圖
上位機的主要功能為接收讀寫器數(shù)據(jù),計算標簽坐標,顯示定位結果、標簽ID和動物體溫。上位機大部分時間處在數(shù)據(jù)采集狀態(tài),通過串口讀取讀寫器發(fā)送來的RSSI值、標簽ID和動物體溫,根據(jù)RSSI值計算出標簽位置,判斷標簽位置和動物體溫是否正常,當標簽位置或者動物體溫異常時產生報警信號,顯示標簽ID、標簽位置和動物體溫。當查找標簽時,將需要查找的標簽ID發(fā)送給讀寫器,收到讀寫器的應答后上位機結束查找,返回數(shù)據(jù)采集狀態(tài)。其主程序流程如圖6所示。
圖6 上位機主程序流程圖
實驗環(huán)境選擇在室外開闊地,實驗過程中標簽與閱讀器均離地1 m。先進行測距實驗,建立無線信號模型;再進行定位實驗,通過無線信號模型與測量數(shù)據(jù)完成定位實驗并分析定位結果。
將讀寫器固定在一點,測量不同距離d對應的RSSI值。具體過程為:選擇一塊室外空曠地段;將讀寫器固定在1 m高的固定點處;將標簽固定在與讀寫器距離為d、離地高度為1 m處以0 dBm功率發(fā)送自身ID;讀取讀寫器端的RSSI值和ID;記錄實驗數(shù)據(jù)并完成對數(shù)擬合。測距實驗結果如圖7所示。
圖7 測距實驗結果
擬合結果為A=-47.76、n=2.49,均方差為3.79,確定系數(shù)為0.867 6。將得到的無線信號模型用于定位實驗。
將讀寫器固定在定位范圍的三個角上,測量不同坐標點(x,y)對應的三個讀寫器RSSI值。具體過程為:選擇一塊空曠室外廣場;將三個讀寫器固定在邊長為20 m的正方形中三個點上,正方形區(qū)域為定位范圍;將標簽固定在正方形內一些已知坐標點處,以0 dBm 功率發(fā)送自身ID;分別讀取三個讀寫器的RSSI值和ID;記錄實驗數(shù)據(jù)并根據(jù)無線信號模型完成標簽定位。定位實驗結果如表 1所示。
三邊測量法的最大定位誤差為3.73 m,最小誤差為1.36 m,平均誤差為2.14 m,改進之后定位的最大誤差為2.25 m,最小誤差為0.98 m,平均誤差為1.39 m,改進之后的算法整體精度提高了35%。消去Q的影響后,定位精度有較大提高,環(huán)境適應性更強,能更好地滿足牧場定位需求。
表1 定位實驗結果 (m)
三邊測量法的最大定位誤差為3.73 m,最小誤差為1.36 m,平均誤差為2.14 m,改進之后定位的最大誤差為2.25 m,最小誤差為0.98 m,平均誤差為1.39 m,改進之后的算法整體精度提高了35%。消去Q的影響后,定位精度有較大提高,環(huán)境適應性更強,更能滿足牧場定位需求。
本文主要開發(fā)了牧場定位系統(tǒng),研究并優(yōu)化了定位算法。經(jīng)過實驗測試,結果表明該系統(tǒng)能夠實現(xiàn)奶牛的定位,平均定位精度1.39 m,可滿足牧場需求。下一步應該擴大定位范圍,研究三維定位算法,從而減少牧場閱讀器的布置節(jié)約成本,并完成現(xiàn)場環(huán)境下的測試驗證。