我使用Android扫描WIFI AP的每一帧时间,我从每个AP获得信号强度(RSSI在dbm),我用这个公式计算距离:
public double calculateDistance(double levelInDb, double freqInMHz) {
double exp = (32.44 - (20 * Math.log10(freqInMHz)) + Math.abs(levelInDb)) / 20.0;
return Math.pow(10.0, exp);
}
这是工作正常,所以我有三个或更多的距离,现在我需要画在地图上所有AP的固定位置,我在互联网上做了一些阅读,我发现三元组(是确定点的绝对或相对位置的过程距离的测量),但看起来我需要至少一个点(x,y),此时我只需要计算出信号强度的距离,可以作为不同圆周的半径。
我很困惑,因为我没有任何具体的点(x,y)来计算手机的位置。
我只需要知道是否有方法计算那个点,或者我可以假设那个初始点,或者我遗漏了什么。
谢谢你,我真的很感激你。
正如Paulw11在他的评论中提到的,你必须知道所有AP或至少其中一个AP的确切位置,以及其他两个AP与此AP的相对位置。然后,三边测量程序将为每个AP生成一个圆圈,并对其进行拦截。
请记住,使用Wi-Fi进行三边测量将产生一个区域而不是一个点,这将导致不确定区域的精度至少为2-3m。从我所看到的,你是根据自由空间损耗模型来计算距离的,这是一种通用类型,它不是每个环境的真实情况,因此,这个假设会使你的估计更加糟糕。
一个好的方法是,首先使用设备上的Wi-Fi测量值对您所在地区进行无线电地图绘制,然后基于此Wi-Fi指纹。或者先准备一个培训期。有很多关于这方面的教程。
我正在使用wifi三边测量技术开发室内导航应用程序, 我有3个接入点我得到了lat 我需要转换每个lat 加上如果我得到x,y不可能转换成它的拉特 谢啦
在GATE计算信号量时会问到这些问题。 一般来说,问题非常简单,只包含减法和加法。 以下类型的问题可以在GATE中询问。 计数信号量初始化为12。然后在这个信号量上计算10P(等待)和4V(信号)操作。 结果是什么? 因此,计数信号量的最终值是。
有一些情况需要同时在临界区执行多个进程。 但是,当我们需要同时在临界区中有多个进程时,可以使用计数信号量。 信号量实现的编程代码如下所示,其中包括信号量的结构以及在临界区中可以执行的入口和退出的逻辑。 在这种机制中,临界区的入口和退出是根据计数信号量的值执行的。在任何时间点计算信号量的值表示可以同时在临界区输入的最大进程数。 想要进入临界区的进程首先将信号量值减1,然后检查它是否为负值。如果它变为
我要做的是找出在一个六角网格上,两点之间有多少个六边形。我试着在网上搜索一个公式,但我无法找到一个匹配类型的十六进制网格我正在使用。
本文向大家介绍Android获取当前已连接的wifi信号强度的方法,包括了Android获取当前已连接的wifi信号强度的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android获取当前已连接的wifi信号强度的方法,是Android程序开发中非常常见的重要技巧。分享给大家供大家参考之用。具体方法如下: 1.得到当前已连接的wifi信息 其中wifiInfo有以下的方法: wif
我试图用Javascript使用https://github.com/gheja/trilateration.js而且它似乎在起作用。然而,某些简单的情况应该产生解决方案,但事实并非如此。例如: 这似乎是一个简单得可笑的例子,应该在x:0,y:0产生一个解,但是函数告诉我没有解。我是否对三边测量有误解,或者函数中是否存在错误? 任何帮助都将不胜感激。