蓝牙RSSI计算距离】的更多相关文章

利用CoreLocation.framework很容易扫描获得周边蓝牙设备,苹果开源代码AirLocate有具体实现,下载地址: https://developer.apple.com/library/ios/samplecode/AirLocate/Introduction/Intro.html 所获得的iBeacon在CoreLocation里以CLBeacon表示,其中有RSSI值(接收信号强度),可以用来计算发射端和接收端间距离. 计算公式: d = 10^((abs(RSSI) - A…
计算公式: d = 10^((abs(RSSI) - A) / (10 * n)) 其中: d - 计算所得距离 RSSI - 接收信号强度(负值) A - 发射端和接收端相隔1米时的信号强度 n - 环境衰减因子 计算公式的代码实现 - (float)calcDistByRSSI:(int)rssi { int iRssi = abs(rssi); float power = (iRssi-59)/(10*2.0); return pow(10, power); } 传入RSSI值,返回距离(…
RSSI是无线接收的信号强度指示,如WIFI.BLE.ZigBee.接收到的RSSI的强弱与发射点与接收点的距离有一定的关系,故可以依据RSSI进行粗略的定位计算,如苹果的iBeacon. 其中用到最重要的就是RSSI转距离算法,具体的转换曲线可以根据实际测量数据拟合,也可直接使用通用公式. 通用的RSSI转距离公式为: d = 10^((abs(RSSI) - A) / (10 * n)) d - 计算所得距离 RSSI - 接收信号强度(负值) A - 发射端和接收端相隔1米时的信号强度 n…
算法: /** * 功能:根据rssi计算距离 * Created by liuhuichao on 2017/1/17. */ public class RssiUtil { //A和n的值,需要根据实际环境进行检测得出 private static final double A_Value=50;/**A - 发射端和接收端相隔1米时的信号强度*/ private static final double n_Value=2.5;/** n - 环境衰减因子*/ /** * 根据Rssi获得返…
遇到一个问题,是将蓝牙rssi(信号强度)转换成距离的问题. 这一问题没有准确的解决办法,但是有人做过一个拟合回归函数,其变化规律比较类似于rssi的变化规律,函数如下: d = ^(abs(rssi) - a / ( * n)) 公式中: d: 拟合得到的估计距离 abs(): 求绝对值,因为rssi是负数 rssi: 信号强度 a: 与蓝牙设备相隔一米时的信号强度 n: 环境衰减因子 由于蓝牙设备的不同,这个公式不一定准确,所以a和n都需要反复试验与对照实际距离来求得.比如说我测得的比较准确…
我们通常所说的log是指以10为底的对数,而MATLAB中的log却不是这样.Matlab中的log函数在默认情况下是以e为底,即loge,如果需要计算以10为底的对数,那么需要用log10()函数.同理计算以2为底的对数需要用log2()函数. 如: >>log2(4) ans = 2 >>log10(10) ans = 1 >>log(10) ans = 2.3026 注:log(10)等于loge(10),Matlab中log()的默认值为loge(). 选取其中…
百度地图Android Sdk的Api里面,没有现成的直接获取两个坐标点之间距离的方法,但是,在jsapi里面,有直接计算距离的方法. class Point: pass def max(a,b): if a>b: return a return b def min(a,c): if a>c: return c return a def lw(a, b, c): # b != n && (a = Math.max(a, b)); # c != n && (a =…
#pragma mark - calculate distance 根据2个经纬度计算距离 #define PI 3.14159265358979323 +(double) CalculationDistanceOther_Lon1:(double)lon1 Other_Lat1:(double)lat1 self_Lon2:(double)lon2 self_Lat2:(double)lat2{ ; // 6378700.0f; //ave. radius = 6371.315 (someon…
Java实现根据经纬度计算距离 在项目开发过程中,需要根据两地经纬度坐标计算两地间距离,所用的工具类如下: Demo1: public static double getDistatce(double lat1, double lat2, double lon1, double lon2) { double R = 6371; double distance = 0.0; double dLat = (lat2 - lat1) * Math.PI / 180; double dLon = (lo…
转载于:http://www.w3dev.cn/article/20110125/sql-compute-birthdate-now-days.aspx SQL语句计算距离生日还差几天原理很简单,将要比较的2个日期的年份统一成一样的,然后再使用datediff函数计算记录的数据和当前的日期比较得到相距的天数. 将年份统一成一样的时候需要注意瑞年的问题,需要将当前的时间的年份统一成记录的,而不是将记录的年份统一成当前日期的年份.要不当前为平年,当记录为瑞年并且为2月29号时间转换就出错了.具体示例…