ARMA和“运行平均"滤波器背后的理论,是否有替代算法可计算距信号RSSI的距离? [英] Theory behind ARMA and Running Average filter and are there any alternative algorithms for calculating distance from RSSI of signal?

查看:77
本文介绍了ARMA和“运行平均"滤波器背后的理论,是否有替代算法可计算距信号RSSI的距离?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我可以看到Android Bacon库具有两种用于测量距离的算法:运行平均值过滤器和ARMA过滤器.

I can see that the Android Bacon Library features two algorithms for measuring distance: the running average filter and the ARMA filter.

这些与库的实现有什么关系(除了使用过滤器的公式之外)?在哪里可以找到有关这些背景知识的背景信息,以解释其背后的理论?是否有任何已知的替代算法可以研究和尝试以测量距离?

How are these related to the library's implementation (apart from using the filter's formula)? Where can I find some background information about these that explains the theory behind it? Are there any known alternative algorithms that can be studied and tried out for measuring the distance?

推荐答案

对BLE信标进行距离估算有两个基本步骤.

There are two basic steps to giving a distance estimate on BLE beacons.

  1. 收集RSSI样本

  1. Collect RSSI samples

将RSSI样本转换为距离估计值.

Convert RSSI samples to a distance estimate.

这两个步骤都有不同的可能算法.ARMA和运行平均值过滤器是用于收集RSSI样本的两种不同算法.

Both of these steps have different possible algorithms. The ARMA and Running Average filters are two different algorithms used for collecting the RSSI samples.

了解到,信标通常以每秒1-10次的周期性速率发送数据包.当电话接收到这些数据包时,每个数据包都有自己的信号电平测量值,称为RSSI.由于无线电噪声和测量误差,每个RSSI样本上都有很大的方差,这可能导致距离估计值出现较大波动.因此,通常情况下,您需要获取大量RSSI样本并将其取平均值以减少此错误.

Understand that beacon send out packets at a periodic rate, typically at 1-10 times per second. Each of these packets, when received by the phone will have its own signal level measurement called RSSI. Because of radio noise and measurement error, there is a large amount of variance on each RSSI sample which can lead to big swings in distance estimates. So typically you want to take a number of RSSI samples and average them together to reduce this error.

运行平均算法仅需要花费20秒的样本时间(默认情况下,时间段是可配置的),排除了RSSI读数的前10%和后10%,并取了平均值.余.这类似于iOS取平均值的方式,因此出于跨平台兼容性的考虑,它是该库的默认算法.但这具有距离估算值滞后的缺点,它会在10秒钟之前告诉您手机相对于信标的位置.对于手机相对于信标移动的用例,这可能是不合适的.

The running average algorithm simply takes 20 seconds worth of samples (by default, the time period is configurable), throws out the top and bottom 10 percent of the RSSI readings and takes the mean of the remainder. This is similar to how iOS averages samples, so it is the default algoritm for the library for cross-platform compatibility reasons. But it has the disadvantage that the distance estimate lags behind, telling you where the phone is relative to the beacon an average of 10 seconds ago. This may be inappropriate for use cases where the phone is moving relative to the beacon.

ARMA(自回归移动平均线)算法对较新的样本加权的统计权重是对较旧的样本进行加权的权重,从而导致距离估算的滞后性较小.但是它的行为可能有点不确定,并且在不同的无线电条件下会受性能变化的影响.

The ARMA (Autoregressive Moving Average) algorithm statistically weights the more recent samples more heavily that the older samples, leading to less lag in the distance estimates. But its behavior can be a bit indeterminate and is subject to more varying performance in different radio conditions.

哪种算法最适合您,取决于您的用例.通常,最好的方法是同时测试两者,以查看哪种性能更好.尽管还有其他可能的数据收集算法,但这是库中仅有的两种内置算法.由于它是开源的,因此欢迎您创建自己的文件并将其作为请求请求提交.

Which algorithm is right for you depends on your use case. Testing both to see which performs better for you is generally the best approach. While there are other possible algorithms for data collection, these are the only two built in to the library. Since it is open source, you are welcome to create your own and submit them as a pull request.

对于步骤2,还有许多可能的算法.两种最常见的是曲线拟合公式和路径损耗公式.曲线拟合公式是库的默认值,并且路径损耗替代方法仅在正在开发的库的一个分支中可用.欢迎您使用后者,但这需要从源代码构建库.再次,欢迎您作为开放源代码库并鼓励您开发自己的替代算法.

For step 2, there are also a number of possible algorithms. The two most common are a curve fitted formula and a path loss formula. The curve fitted formula is the library default and the path loss alternative is available only in a branch of the library under development. You are welcome to use the latter, but it requires building the library from source. Again, as an open source library you are welcome and encouraged to develop your own alternative algorithms.

这篇关于ARMA和“运行平均"滤波器背后的理论,是否有替代算法可计算距信号RSSI的距离?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆