4

気圧計を使用してユーザーの高度を推定するアプリで作業するために、Samsung Galaxy S3 を使用しています。SensorManager.getAltitude(p0, p) を使用し、p0 を最寄りの空港で報告された海面気圧に等しく設定します。p を気圧計から返された値に等しく設定します。

残念ながら、返される高度は、実際よりも体系的に 20 メートルほど高くなります。気圧計が低すぎる圧力値を返していることは確かなので、SensorManager.getAltitude はより高い高度を返しています。この点を証明するために、私は海面気圧を取得し、携帯電話を滑走路と同じ高さに置いた空港まで車で行きました.

(SensorEvent の accuracy フィールドを使用して) 気圧計の精度をチェックすると、0 の値が返されます。これは、「センサーを信頼できない」または「キャリブレーションが必要です」( https://developer.android.com/ reference/android/hardware/SensorManager.html#SENSOR_STATUS_UNRELIABLE )。

具体的には、私の質問は次のとおりです。

  1. これは正常ですか?気圧計付きの別のデバイスを持っていないので、確認できません。電話はセンサーが「信頼できない」とどのように判断しますか?

  2. センサーを校正する方法はありますか?理想的には、ユーザーの気圧計の精度をチェックしてから、それを調整することができました (気圧計の値がどれだけずれているかを知っていると仮定して)。

4

1 に答える 1

0

私がキャリブレーションに使用する方法は、P0 を調整して高度をキャリブレーション ポイントの既知の高度と一致させることです。既知の高度を取得するためにさまざまな方法を使用しますが、最も自動化されているのは、GPS 位置を取得してから、オンライン サービスの 1 つを使用して高度を調べることです。

この種の方法論では、気圧計の絶対精度についてあまり心配する必要はありません。圧力が常に 0.5% 高い場合、それは実際には関係ありません。静止しているときに比較的安定した測定値が得られる限り、私は満足しています. 特に、ユーザーのために収集する最も重要な統計であると信じている累積上昇数と下降数を計算するときに、さまざまなフィルタリングを適用します。

于 2013-07-26T09:03:04.583 に答える