複雜環境中基於RSSI模型的環境因子動態標定方法與流程
2023-04-25 09:14:51
本發明屬於通信技術領域,特別涉及一種複雜環境中基於rssi模型的環境因子動態標定方法,可用於商場、辦公樓、養老院以及消防場所中人員的定位。
背景技術:
近年來,隨著對室內定位技術的研究,逐步發展出現了一系列的室內定位技術,主要包括射頻識別技術rfid(radiofrequencyidentification)、無線載波通信技術uwb(ultrawideband)、紅外定位技術、超聲波定位技術、藍牙定位技術、wifi定位技術以及zigbee定位技術等,這些定位技術多採用基於接收信號強度值rssi的算法並結合三邊測量法、三角形面積法、質心定位法、加權質心定位法等方式來實現室內定位。基於rssi的測距技術是利用無線電信號隨距離增大而有規律地衰減的原理來測量節點間的距離的,rssi反映了接收器接收到的信號強度,其模型為:rssi=a-nlgd,(其中,a為射頻參數,由環境和硬體電路自身決定;n為環境參數,大小依賴具體的環境;d為接收點與發射點之間距離),可以看出該信號強度rssi隨著接收點與發射點之間距離d的增大而減弱,根據rssi的大小就可以計算出接收點和信號發射點的距離,從而進行室內定位。然而,在實際應用中,由於應用環境複雜多變,不同溫度、氣壓、兩點之間是否有阻擋物等均會對計算結果產生不同程度的影響,其計算精度與環境因素息息相關,從而導致測得的信號強度值和理論值存在較大誤差,如何在環境改變的情況下標定環境因子,成為能否獲得高精度位置信息的關鍵。
針對應用環境複雜多變這一情況,採用不同的模型和不同的預處理方法會得到不同的定位精度和穩定性。測距精度的高低受到環境參數n與射頻參數a實際取值大小的影響較大,目前所使用的技術中,多通過測量路由與終端之間相隔1m時的rssi來確定射頻參數a的值,然後再通過改變距離d來計算出環境參數n的取值。這種方法一旦計算出a和n值就不再改動,即使用固定的a和n,並不能保證a、n隨著環境的改變而及時改變,而實際應用中的環境變化較大且不可預測,例如突然著火的大樓內,粉塵煙霧會瞬間增加,此時現有方法的定位準確性便會受到嚴重影響。因此,在隨時變化的複雜環境中,該方法計算結果與實際相比偏差較大,定位精確度低;且由於其a、n取值為定值,所以不能很好地適應位置的變化。
技術實現要素:
本發明的目的在於針對以上現有技術的不足,提出一種複雜環境中基於rssi模型的環境因子動態標定方法,以提高室內定位精度。
為達到以上目的,本發明的技術方案包括如下:
(1)布置路由器:
在需要實現定位的環境中,根據需求安放路由器並依次編號,完成室內定位系統的路由布置;
(2)獲取路由之間距離:
測量室內定位系統中各路由器兩兩之間的距離dij,其中i和j為不同路由器對應的編號,即dij為路由器i與路由器j之間的距離,將測得的所有路由器間距值存入資料庫中;
(3)接收重置指令:
跟隨環境的變化,控制中心隨時對定位系統發出更新指示,即重置指令,定位系統在接收到該指令後,執行步驟(4),否則按照初始射頻參數a0和初始環境參數n0計算定位信息;
(4)獲取當前環境下接收信號強度值:
定位系統在接收到控制中心發來的重置指令後,開始獲取當前環境下各路由兩兩之間的接收信號強度值rssiij,並傳輸至控制中心;其中i和j為不同路由器對應的編號,即rssiij為路由器i與路由器j之間的接收信號強度值;
(5)更新資料庫信息:
控制中心將得到的接收信號強度值rssiij存入資料庫中,與資料庫中已存入的距離dij形成一個包含兩個欄位(rssiij,dij)的數據表,對資料庫信息進行更新;
(6)求解實時射頻參數a和環境參數n:
根據接收信號強度值的計算公式rssi=a-nlgd,令rssi=y,-n=k,lgd=x,a=b得到擬合曲線y(x)=kx+b;再根據最小二乘法及資料庫中的數據表信息求解得出k、b,從而得出實時的a、n值,並存入資料庫中;
(7)獲取定位信息:
測量路由與終端設備之間的接收信號強度值rssiz,結合資料庫中的實時a、n值信息,通過下式計算得到路由與終端設備之間的距離:
配合相關算法得出終端的定位信息,並傳送給控制中心。
本發明相對現有技術主要優點在於:
第一,提高定位精度:
本發明採用最小二乘法計算接收信號強度指示rssi模型中的射頻參數a和環境參數n值,從而達到a、n隨環境變化而動態變化的目的,消除了基於rssi定位算法中環境變化對室內定位精度所帶來的影響,提高了定位精度;
第二,提高定位系統的適用性:
本發明提供的方法在終端移動到新位置時,控制中心可隨時發出重置指令,刷新參數a、n,再根據實時a、n值最終獲取定位信息,即能夠很好地適應環境的改變,具有很強的靈活性,使定位系統在各種環境中都能穩定的運行,提高了定位系統的適用性。
附圖說明
圖1為本發明方法的實現流程圖;
圖2為本發明基於疏散指示燈進行定位的系統示意圖;
圖3為本發明應用於消防場所的消防員實時定位模擬界面示意圖。
具體實施方式
參照圖1,本發明的複雜環境中基於rssi模型的環境因子動態標定方法,其具體實現步驟如下:
步驟1,布置路由器:
在需要實現定位的環境中,結合具體建築物情況,根據需求安放路由器並依次編號,完成室內定位系統的路由布置;例如將經過實際計算、滿足國標要求的現有建築物中疏散指示燈作為路由器,在整個室內環境中進行覆蓋,並對每一個作為路由器使用的疏散指示燈給出相應編號;記錄定位系統中每一個路由器放置點的具體坐標,並存入資料庫。
步驟2,獲取路由之間距離:
通過人工直接測量或從建築物設計圖中獲取等方式,測量室內定位系統中各路由器兩兩之間的距離dij,其中i和j為不同路由器對應的編號,即dij為路由器i與路由器j之間的距離,將測得的所有路由器間距值存入資料庫中。
步驟3,接收重置指令:
跟隨環境的變化,控制中心隨時對定位系統發出更新指示,即重置指令,定位系統在接收到該指令後,執行步驟4,否則按照初始射頻參數a0和初始環境參數n0計算定位信息;其中,初始射頻參數a0通過取接收點與發射點之間的距離d為1m,從而由接收信號強度值rssi的計算公式rssi=a-nlgd解得a0=rssi0;在不同時間,多次測試距離d為1m時兩個路由之間的接收信號強度值rssi0,再取該測試結果的平均值,即為初始射頻參數a0的值;初始環境參數n0通過測量任意距離dr的兩個路由之間的接收信號強度值rssir,再將已經得到的初始射頻參數a0代入接收信號強度值rssi的計算公式得:
rssir=a0-n0lgdr,
進一步求解得到n0。
步驟4,獲取當前環境下接收信號強度值:
定位系統在接收到控制中心發來的重置指令後,開始獲取當前環境下各路由兩兩之間的接收信號強度值rssiij,其中i和j為不同路由器對應的編號,即rssiij為路由器i與路由器j之間的接收信號強度值;並將該即時獲取到的接收信號強度值rssiij傳送給控制中心。
步驟5,更新資料庫信息:
控制中心將得到的接收信號強度值rssiij存入資料庫中,與資料庫中已存入的距離dij形成一個包含兩個欄位(rssiij,dij)的數據表,設該數據表的長度為m,數據表中所含數據的id為取值從0到m的l,用該數據表對資料庫中原有的數據表信息進行更新;
步驟6,求解實時射頻參數a和環境參數n:
根據接收信號強度值的計算公式rssi=a-nlgd,令rssi=y,-n=k,lgd=x,a=b得到擬合曲線y(x)=kx+b;再根據最小二乘法定義:δ有最小值;其中0≤l≤m,m為步驟(5)中所得數據表的長度,即二維數據組(rssiij,dij)的個數,f(xl)為實際值函數,p(xl)為測量值函數;令即求函數的最小值;對未知量k、b取偏導數並令其等於0,即:
變形得到:
從而可得:
進一步求解得出k和b,由-n=k,a=b最終得出實時射頻參數a和環境參數n,將其存入資料庫中;
步驟7,獲取定位信息:
定位系統對路由器與終端設備之間的接收信號強度值rssiz進行測量,再結合資料庫中的實時a、n值信息,通過接收信號強度值rssi的計算公式rssi=a-nlgd,得到路由器與終端設備之間的距離:
配合三邊測量法、三角形面積法、質心定位法或加權質心定位等相關算法即可得出終端設備的具體定位信息,將該信息傳送給控制中心,從而實現對終端的室內定位。
參照圖2,本發明基於疏散指示燈進行定位的系統示意圖,並結合消防員居民樓內救火場景的實施例來詳細、完整的說明本發明:
步驟a,結合具體建築物情況,根據現有的cad建築物草圖經過實際計算,滿足國標《高層建築設計防火規範》、《民用建築電氣設計規範》、《建築設計防火規範》要求,將帶有zigbee室內定位裝置的疏散指示燈裝在距離地面1米以內的高度、疏散指示燈之間間隔小於20米的位置,即完成室內路由器的布置,該路由設備覆蓋於整個居民樓各個安通道;記錄每個路由器的坐標信息(ei,fi,zi),其中ei、fi是編號為i的路由器所屬平面二維坐標信息,zi為該路由器所在樓層信息;開啟定位系統,將定位系統與控制中心進行連接,實現信息的傳輸。
步驟b,直接人工測量路由器i與路由器j之間的實際距離dij,將測得的距離值存入資料庫中;獲取樓內地圖信息,並將所得全部數據存入資料庫;在同一棟居民樓內任選一個地方布置兩個路由器,將這兩個路由器之間的距離設置為1m,此時的rssi即為初始射頻參數a0;隨後,將這兩個路由器之間的距離增大到兩米,通過公式可以求解得到初始環境參數n0值,將得到的a0、n0值存入資料庫。
步驟c,消防員穿戴定位裝置(以下簡稱終端)進入居民樓,此時,控制中心向定位系統發送重置指令;
步驟d,定位系統在接收到重置指令後,開始計算樓內路由器i與路由器j之間的接收信號強度rssiij,並將得到的數據傳送至控制中心;
步驟e,控制中心將得到的接收信號強度值rssiij存入資料庫中,與資料庫中已存入的距離dij形成一個包含兩個欄位(rssiij,dij)的數據表,作為最新的數據信息,對資料庫中原有數據表信息進行更新;控制中心對資料庫中的欄位rssiij求平均值,將欄位中低於該平均值的rssiij值以及其對應的dij值從庫中剔除;
步驟f,控制中心根據接收信號強度值的計算公式rssi=a-nlgd,令rssi=y,-n=k,lgd=x,a=b得到需要擬合的曲線為:y(x)=kx+b;再根據最小二乘法及資料庫中的數據表信息求解得出k、b,從而得出實時的a、n值,並存入資料庫中;控制中心跟隨樓內環境變化,每隔一定時間發送一次重置指令,用於更新數據,獲取最新環境下a、n值,保證這兩個與定位精度息息相關的參數跟隨環境的改變而及時得到修正;
步驟g,消防員在居民樓展開搜救工作,終端接收樓內路由器發送的信號,並將其周邊路由器z與終端之間的接收信號強度rssiz發送給控制中心,控制中心通過公式計算終端與路由器之間的距離dz,再結合三邊定位算法求解終端的坐標信息,最後通過查詢資料庫中的建築地圖信息確定出終端位置,即佩戴該終端進入樓內消防員所處位置;最後,控制中心得出該消防場所內消防員在模擬界面中的實時位置,如圖3;定位完成。
以上描述僅是本發明的一個具體實例,不構成對本發明的任何限制,顯然對於本領域的專業人員來說,在了解本發明內容和原理後,都可能在不背離本發明原理、結構的情況下,進行形式和細節上的各種修正和改變,但是這些基於本發明思想的修正和改變仍在本發明的權利要求保護範圍之內。