无线GPS定位
我有一个无线接入点数据库和每个接入点的信号强度 (RSSI) 的多个读数 (1-n)。与此同时,我记录了每次读数的 GPS 坐标。
现在,我想做的是给定可见的接入点,计算我的大约值。 GPS 位置,但我不知道如何去做。我读过,我可能需要三边测量,但是我不懂数学,很多关于这方面的文章似乎都是这样的,有人可以用代码示例(伪或其他)为我简单的头脑分解它吗?
其中许多页面还讨论了距离,我不确定如何最好地计算距离。一种想法是从 RSSI 推断出来。假设我在 RSSI 逐渐减小时对给定接入点至少有两个读数,我应该能够通过计算 GPS 坐标之间的距离来粗略地推断出距离?我假设最低的 RSSI 最接近实际设备,并且没有考虑信号传播或类似的因素。
任何想法、观点和链接将不胜感激。
I have a database of wireless access points and multiple readings (1-n) of signal strength (RSSI) for each access point. Along with this I record the GPS coordinates of each reading.
Now, what I want to do is given visible access points compute my approx. GPS position but I'm not sure how to go about doing this. I've read that I possibly need trilateration however I'm not maths savvy and a lot of articles on this seem to be that way inclined, can someone break it down for my simple mind with code examples (psuedo or otherwise)?
Many of these pages also talk about distance and I'm unsure how best to compute that. One thought is to infer it from the RSSI. Assuming I have at least two readings for a given access point at decreasing RSSI I should be able to roughly infer distance from that just by computing the distance between the GPS coords? I'm making the assumption the lowest RSSI is the nearest to the actual device and not taking into account signal propagation or anything like that.
Any thoughts, points and links would be most appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我相信您需要从接入点的合理分开的位置至少读取四个读数才能大致了解它的位置,但是这只能在真空中甚至模糊地准确地工作:)建筑物、树木和其他干扰自然会倾斜结果往往相当戏剧性。在这种情况下,更多的读数会提高准确性。
该理论认为,空间中的每个点都存在于给定接入点半径为 r 的壳内。理论上,信号强度随距离 r 的平方成反比而下降,因此您也需要考虑到这一点。
假设您在某个位置测量信号强度 - 您知道信号强度的平方根与您到接入点的距离成正比 - 但该接入点可能存在于球体表面的任何位置以你为中心的半径。
在不同位置进行第二次读数会产生第二个球体,该球体应与第一个球体相交 - 然而,考虑两个重叠的沙滩球,您会发现相交点是一个圆,AP 可以位于该圆的任何位置。第三个读数将与前两个读数的圆在两个位置相交,因此现在您有两个可以定位接入点的目标点。第四个也是最后一个阅读将告诉您它是这两个中的哪一个。
再次强调,这一切都是假设理想情况——在现实世界中远远不可能发生。您需要应用范围、统计方法和超过 4 个读数等才能很好地猜测 AP 的位置。
此外,上面用于概念化查找 AP 的方法可能并不是实际执行此操作的最佳方法。您还需要确保尝试定位 AP 的用户四处走动以获得一些不错的读数。
其他需要考虑的事情:读数是从事物中获取的。如果您只是沿直线或平坦的表面行走,您很可能无法确定 AP 是在直线的左侧还是右侧,还是在您的下方或上方。你的行走必须包括在所有三个维度上的一些运动。另外,您可能需要一点三角函数和毕达哥拉斯函数来进行实际的翻译计算:)
无论如何,我希望有一个 iPhone 应用程序可以找到 AP 并将它们放在谷歌地图上,这样我就可以找出它们在哪里他们是谁以及他们属于谁......那就太棒了。但是,是的,我没有尝试过以上任何一种,在我看来这就是它的工作方式。如果事实证明这是不准确的,我很高兴得到纠正:D
I believe you'll need at least four readings from reasonably separated locations for an access point to get a rough idea of where it is, however this only works even vaguely accurately in a vacuum :) Buildings, trees, and other interference will naturally skew the results, often quite dramatically. More readings in that case would improve the accuracy.
The theory is that at each point in space exists within a shell of radius r from the given access point. Theoretically, the signal strength drops off with the inverse square of the distance r, so you need to take that into account as well.
So say you measure a signal strength at some location - you know that the square root of one over the signal strength is proportional to the distance from you to the access point - but that access point could exist anywhere on the surface of the sphere with that radius from you.
A second reading at a different location produces a second sphere which should intersect with the first - however think about two overlapping beach balls and you'll see that the intersection is a circle, anywhere along which the AP could be located. The third reading will intersect with the circle from the first two at two places so now you have two target points where the access point could be located. The fourth and final reading will tell you which of these two it is.
Again, this is all assuming an ideal situation - far from likely in the real world. You'd need to apply ranges, statistical methods, and a lot more than 4 readings etc to get a good guess as to the location of the AP.
Also, the method used above to conceptualize the method to find the AP may not be the best way to actually do this in practice. You'd also need to ensure the user who is trying to locate the AP walks around a bit to get some decent readings.
Other things to consider: where the readings are taken from matters. If you just walk in a straight line or on a flat surface you'll most likely not be able to determine if the AP is to the left or right of the line or below or above you. Your walk must include some movement in all three dimensions. Also, you'll probably want a smattering of trig and Pythagoras to do the actual translation calcs :)
Anyway, I'd love to have an iPhone app that finds APs and puts them on google maps for me so I can figure out where they are and who they belong to... it'd be awesome. But yeah, I haven't tried any of the above, it just seems to me to be the way it would work. I'm happy to be corrected if this turns out to be inaccurate :D