2012-12-31 162 views
0

我正在创建一个android phonegap应用程序,用于检测路面不规则情况,如坑洞和减速带。我依靠手机通过phonegap提供的加速度计值,并将使用这些值进行一些处理。低/高通滤波器

但是,由于值很粗糙,我想使用某种过滤来平滑值。我知道有低通滤波器和高通滤波器。但他们之间有什么区别?在我的应用中如何使用一个而不是另一个会影响值的平滑性和可靠性?

+0

这不是你的问题的答案,但加速度计不检测手机的平面表面/方向内的变化... – BLOB

+1

是你在寻找的信息不是在http://en.wikipedia.org/wiki/Low-pass_filter和http://en.wikipedia.org/wiki/High-pass_filter? – Pete

+1

如果您不知道像高/低通滤波器这样的信号处理基本概念,您将如何分析您的数据以查找这些违规情况?例如,你打算如何区分正在启动的汽车电机的道路不平整? –

回答

1

说出这可能有点容易,但直接的解释是低通滤波器允许低频和拒绝/降低高频,反之亦然。

平滑通常包括拒绝高频分量。您可能能够使一对夫妇的简单的技术进步:

  1. 简单移动平均(简单平均最近ñ样本)。

  2. 指数移动平均线(y[n] = alpha * y[n-1] + (1 - alpha) * x[n])。

参见例如, http://en.wikipedia.org/wiki/Moving_average欲了解更多信息。

选择的值Nalpha参数需要应用程序特定的调整。

但是,正确的滤波器设计是一门复杂的科学/艺术。例如,拒绝高频分量可能会削弱您检测“真实”事件(如坑洞)的能力(它们也会被平滑掉)。您可能会开始需要复杂的非线性技术,如阈值处理。但这是整本书的主题!