gpt4 book ai didi

c# - Windows Phone加速度计抖动

转载 作者:行者123 更新时间:2023-11-30 22:08:47 25 4
gpt4 key购买 nike

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

我想知道是否有人可以建议一种方法来获得更可靠的读数。

我的代码的核心是这样的:

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

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

我正在查看 AccelerometerReadingChangedEventArgs.Timestamp 中的时间,我发现时间间隔并不总是 10 毫秒。这是最新测量的时间: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,35

,

那么:我可以做些什么来获得更精确的间隔测量值吗?还是这只是这个特定硬件所能做到的最好?

最佳答案

a great article on Windows Phone Developer Blog其中详细介绍了加速度计。

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

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

关于c# - Windows Phone加速度计抖动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22029995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com