女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>無線通信>

藍(lán)牙rssi距離計(jì)算公式及代碼

2017年11月20日 16:10 網(wǎng)絡(luò)整理 作者: 用戶評論(0

  藍(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é)果

  藍(lán)牙rssi距離計(jì)算公式及代碼

  展現(xiàn)了每臺藍(lán)牙設(shè)備的Acc(精度)、Rssi(信號強(qiáng)度)和Dis(距離)。

非常好我支持^.^

(4) 100%

不好我反對

(0) 0%

( 發(fā)表人:鄧家樂 )

      發(fā)表評論

      用戶評論
      評價(jià):好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?