センサー(加速度など)( SensorEvent.timestamp)とGPS(Location.getTime())によって測定された値のタイムスタンプを同期する方法はありますか?
SensorEvent.timestampは、デバイスが起動されてからのナノ秒(現地時間)です。Location.getTime()は、1970年(グローバル時間)以降のミリ秒です。
私が考えていた解決策の1つは、現地時間と全地球(GPS)時間の間のオフセットを計算することでした。ただし、問題は、ロケーション内の時刻がGPSメッセージがデバイスに到着した時刻であるということですが、デバイスのGPSユニット(呼び出し方法がわからない)が位置を計算してそれをアプリケーションに転送するため、メッセージが到着した現地時間を計算できません。メッセージの到着から処理されるまでの遅延は数100ミリ秒になる可能性があることをどこかで読んだことがあります(どこを思い出せないか)。そのため、GPSデータと他のセンサーからのデータとの間に常に高いオフセットがあります。アプリがロケーションメッセージとロケーションのタイムスタンプを取得する現地時間をアルギンします。
GPSメッセージの処理に正確にかかる時間を把握する方法はありますか?または、測定値を同期する別の方法はありますか?
値を同期したい理由は、データにフィルター(カルマンフィルターなど)を適用したいからです。このために、センサー値とgps値の間のオフセットをできるだけ正確に計算したいと思います。