繁体   English   中英

Windows Phone加速度计抖动

[英]windows phone accelerometer jitter

我想从Windows Phone 8每10毫秒获取一次加速度计读数,但我观察到一些抖动:读数之间的间隔将是8,10,12,9,等等。 大约是10,但不完全是。

我想知道是否有人可以提出一种获取更可靠读数的方法。

我的代码的核心如下所示:

var accelerometer = Windows.Devices.Sensors.Accelerometer.GetDefault();
accelerometer.ReadingChanged += accelerometer_ReadingChanged;
accelerometer.ReportInterval = 10;

电话报告的MiminumReportingInterval为10,所以应该没问题。 我的回调仅将数字添加到列表中,最后我将通过网络发送该列表。

我正在查看AccelerometerReadingChangedEventArgs.Timestamp中的时间,在那儿我看到间隔并不总是10ms。 这是最新测量中的时间:105,118,128,134,146,157,163,177,187,198,208,213,232,238,245,255,263,279,285,295,303,313,324,334,345,355,363,375,385,385

所以:我可以做些什么来获得更精确地间隔的测量? 还是这仅仅是该特定硬件可以做的最好的事情?

Windows Phone Developer博客上一篇很棒的文章 ,详细介绍了加速度计。

文章的要点之一是,是的,值的流可能并且很可能是“抖动的”,因此您应该实现某种过滤方法。 一种这样的方法是低通滤波器。

过滤后的数据越平滑,实际变化和读数之间的延迟就越大。 换句话说,如果您在游戏中将加速计用作“方向盘”,则很多过滤将导致汽车晚转,但没有过滤可能会导致汽车抖动。 因此,最好是根据使用情况将其设置在两者之间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM