藍(lán)牙rssi距離計(jì)算公式及代碼
藍(lán)牙室內(nèi)定位技術(shù)藍(lán)牙是一種短距離、低功耗的無線傳輸技術(shù),基于它的室內(nèi)定位技術(shù)是基于接收信號強(qiáng)度指示測距的。通過在室內(nèi)安裝適當(dāng)數(shù)量的藍(lán)牙局域網(wǎng)接入點(diǎn),再把基礎(chǔ)網(wǎng)絡(luò)的鏈接模式配置成基于多用戶、主設(shè)備為藍(lán)牙局域網(wǎng)接入點(diǎn),就可以計(jì)算出定位節(jié)點(diǎn)的位置坐標(biāo)。目前,藍(lán)牙定位技術(shù)受到藍(lán)牙信號傳播距離短的制約主要應(yīng)用于小范圍定位。
由于藍(lán)牙室內(nèi)定位系統(tǒng)具有設(shè)備體積小、易于集成在其它系統(tǒng)中等優(yōu)點(diǎn),因此比較容易推廣普及。而且,當(dāng)采用該技術(shù)進(jìn)行室內(nèi)小范圍定位時(shí),藍(lán)牙信號傳輸不受視距的影響,并且設(shè)備很容易就能夠被系統(tǒng)發(fā)現(xiàn)。其缺點(diǎn)為藍(lán)牙設(shè)備的成本比較大,在復(fù)雜的空間環(huán)境中,藍(lán)牙定位系統(tǒng)受噪聲信號干擾大,且穩(wěn)定性較差。
藍(lán)牙rssi距離計(jì)算公式
利用CoreLocation.framework很容易掃描獲得周邊藍(lán)牙設(shè)備,蘋果開源代碼AirLocate有具體實(shí)現(xiàn)
所獲得的iBeacon在CoreLocation里以CLBeacon表示,其中有RSSI值(接收信號強(qiáng)度),可以用來計(jì)算發(fā)射端和接收端間距離。
計(jì)算公式:
d = 10^((abs(RSSI) - A) / (10 * n))
其中:
d - 計(jì)算所得距離
RSSI - 接收信號強(qiáng)度(負(fù)值)
A - 發(fā)射端和接收端相隔1米時(shí)的信號強(qiáng)度
n - 環(huán)境衰減因子
計(jì)算公式的代碼實(shí)現(xiàn)
[objc] view plain copy- (float)calcDistByRSSI:(int)rssi
{
int iRssi = abs(rssi);
float power = (iRssi-59)/(10*2.0);
return pow(10, power);
}
傳入RSSI值,返回距離(單位:米)。其中,A參數(shù)賦了59,n賦了2.0。
由于所處環(huán)境不同,每臺發(fā)射源(藍(lán)牙設(shè)備)對應(yīng)參數(shù)值都不一樣。按道理,公式里的每項(xiàng)參數(shù)都應(yīng)該做實(shí)驗(yàn)(校準(zhǔn))獲得。
當(dāng)你不知道周圍藍(lán)牙設(shè)備準(zhǔn)確位置時(shí),只能給A和n賦經(jīng)驗(yàn)值(如本例)。
修改AirLocate的APLRangingViewController.m展現(xiàn)部分代碼,輸出計(jì)算距離
[objc] view plain copy- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *identifier = @“Cell”;
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
// Display the UUID, major, minor and accuracy for each beacon.
NSNumber *sectionKey = [self.beacons allKeys][indexPath.section];
CLBeacon *beacon = self.beacons[sectionKey][indexPath.row];
cell.textLabel.text = [beacon.proximityUUID UUIDString];
// NSLog(@“%@”, [beacon.proximityUUID UUIDString]);
// NSString *formatString = NSLocalizedString(@“Major: %@, Minor: %@, Acc: %.2fm, Rssi: %d, Dis: %.2f”, @“Format string for ranging table cells.”);
// cell.detailTextLabel.text = [NSString stringWithFormat:formatString, beacon.major, beacon.minor, beacon.accuracy, beacon.rssi, [self calcDistByRSSI:beacon.rssi]];
NSString *formatString = NSLocalizedString(@“Acc: %.2fm, Rssi: %d, Dis: %.2fm”, @“Format string for ranging table cells.”);
cell.detailTextLabel.text = [NSString stringWithFormat:formatString, beacon.accuracy, beacon.rssi, [self calcDistByRSSI:beacon.rssi]];
return cell;
}
掃描結(jié)果
展現(xiàn)了每臺藍(lán)牙設(shè)備的Acc(精度)、Rssi(信號強(qiáng)度)和Dis(距離)。
非常好我支持^.^
(4) 100%
不好我反對
(0) 0%
相關(guān)閱讀:
- [電子說] 國產(chǎn)藍(lán)牙芯片的發(fā)展趨勢值藍(lán)牙數(shù)傳ble芯片 2023-10-24
- [電子說] 藍(lán)牙芯片PHY6222應(yīng)用電動(dòng)牙刷徠芬的細(xì)節(jié)以及為什么選他和替代 2023-10-24
- [電子說] 拔掉你的硬盤,吵到我的藍(lán)牙了! 2023-10-24
- [RF/無線] 什么是 “星閃”?星閃技術(shù)架構(gòu)和特點(diǎn)分析 2023-10-23
- [電子說] AirPods Pro 2推送新固件,蘋果Find My功能受到好評 2023-10-23
- [電子說] 藍(lán)牙選型指南第二部-面向建筑和工廠自動(dòng)化、智能農(nóng)業(yè)與醫(yī)療保健跟蹤設(shè)備 2023-10-23
- [電子說] 華普微推出首款Matter模塊,助力智能家居互聯(lián)互通 2023-10-23
- [電子說] 英飛凌收購3db Access以追求更廣泛的UWB潛力 2023-10-23
( 發(fā)表人:鄧家樂 )