隨著低功耗藍(lán)牙(BLE)技術(shù)的不斷發(fā)展,藍(lán)牙定位的測距算法也越來越多,比如RSSI(接收信號強(qiáng)度指示)、AoA(到達(dá)角)、AoD(出發(fā)角)、ToA (到達(dá)時間)、TDoA(到達(dá)時間差)、ToF(飛行時間)等。不同測距算法的實現(xiàn)難度、功耗及精度不一樣,大家可以根據(jù)自己的預(yù)算及精度要求選擇相應(yīng)的測距算法。在眾多測距算法中,RSSI是最具性價比的,其具有功耗低、成本低、使用簡單的優(yōu)勢。本文將介紹RSSI定位系統(tǒng)的原理。
RSSI是Received Signal Strength Indication的簡稱,是接收的信號強(qiáng)度指示,無線發(fā)送層的可選部分,用來判定連接質(zhì)量以及是否增大廣播發(fā)送強(qiáng)度。通過接收到的信號強(qiáng)弱測定信號點與接收點的距離,進(jìn)而根據(jù)相應(yīng)數(shù)據(jù)進(jìn)行定位計算的一種定位技術(shù)。 藍(lán)牙RSSI定位是指基于藍(lán)牙4.0以上協(xié)議,利用藍(lán)牙RSSI信號衰減與距離之間的相關(guān)性關(guān)系來計算出藍(lán)牙終端所在位置的一種定位方式。在實際應(yīng)用過程中,發(fā)射端通常為藍(lán)牙信標(biāo),接收端通常為智能手機(jī)。
藍(lán)牙設(shè)備在廣播中,信號接收端離發(fā)射端越遠(yuǎn),接收到的RSSI場強(qiáng)值就越弱;信號接收端離發(fā)射端越近,接收到的RSSI場強(qiáng)值就越強(qiáng)。接收端收到的無線信號dBm一般都是負(fù)值,信號值越大代表信號越強(qiáng),RSSI信號范圍在0~-100之間,0是理想情況,在實際應(yīng)用中并不存在。
根據(jù)不同的應(yīng)用要求,藍(lán)牙定位一般可分為存在性檢測定位和三角精準(zhǔn)定位。存在性定位通常應(yīng)用于巡更考勤,一個發(fā)射端和一個接收端即可完成應(yīng)用,即可證明存在于某個區(qū)域,應(yīng)用原理簡單;接下來重點介紹下RSSI三角定位原理。
三角定位原理:發(fā)射端的位置是固定的,比如一個區(qū)域有3個 發(fā)射端,也即鋪設(shè)了三個藍(lán)牙信標(biāo),BS1(x1,y1),BS2(x2,y2)以及BS3(x3,y3)。
如圖:E點接收 BS1、BS2、BS3發(fā)出的信號,獲取到不同點位的RSSI,三角定位算法通過已知的三個坐標(biāo)反推出E點的坐標(biāo)。
三個發(fā)射端(BS1,BS2,BS3)的坐標(biāo)是固定的,利用三點定位原理即可近似計算出接收端所在的位置,也即發(fā)射端信號向外360度擴(kuò)散形成球面的交點,進(jìn)而計算出E(x,y)所在的位置;
在實際應(yīng)用中算法可不只如此簡單,還要考慮到不同環(huán)境的不同衰減因子,以及利用濾波算法過濾信號的干擾,讓定位點更加平穩(wěn)。在有些定位算法中,還會加入慣導(dǎo)算法。即便如此,利用藍(lán)牙RSSI場強(qiáng)計算出的位置仍是近似位置。