私たちが開発しているカスタム Android デバイスでは、磁力計が内蔵スピーカーのすぐ近くに配置されています。スピーカーの永久磁石が磁力計の値に影響を与えています。x、y、z 値は、磁力計が報告できる最大値に達しています。
この問題は再キャリブレーションで解決できますか? これにはハード アイアン キャリブレーション手法を使用する必要がありますか? これは磁力計ドライバーで処理できますか、それともファームウェアでのみ行う必要がありますか?
私たちが開発しているカスタム Android デバイスでは、磁力計が内蔵スピーカーのすぐ近くに配置されています。スピーカーの永久磁石が磁力計の値に影響を与えています。x、y、z 値は、磁力計が報告できる最大値に達しています。
この問題は再キャリブレーションで解決できますか? これにはハード アイアン キャリブレーション手法を使用する必要がありますか? これは磁力計ドライバーで処理できますか、それともファームウェアでのみ行う必要がありますか?
はい、Android デバイスでハード アイアンとソフト アイアンの影響を補正できます。どちら (または両方) がセンサーの周囲の磁場を歪めているかを判断する必要があります。硬い鉄のオフセットは、簡単に決定して補正できます。楕円体への球体の軟鉄筋のゆがみは、対処がはるかに困難になる可能性があります。あなたの実装は、おそらく何を補償する必要があるかによって異なります。良いニュースは、センサーが固定されていることです。大きな計算を一度実行してから、オフセットを適用するだけでよいでしょう。
ハードアイアンとソフトアイアンの補正には、いくつかの異なるアプローチがあります。最も簡単な方法は、http: //memsense.com/docs/MTD-0802_1.2_Magnetometer_Calibration.pdfです。最小二乗法を使用したより難しいアプローチについては、http: //cache.freescale.com/files/sensors/doc/app_note/AN4248.pdfで説明されています。ハード アイアン オフセットはそれほど難しくありませんが、ソフト アイアン オフセットではデータを楕円または楕円体にフィッティングし、大量の線形代数を計算する必要があります。両方のバージョンを試しましたが、どちらも機能します。それぞれに長所と短所があり、どれだけの処理能力を持っているか、磁場がどれだけ歪んでいるかによって異なります。