calibration - 存在永磁场时的磁力计校准

标签 calibration magnetometer

在我们正在开发的定制 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 。硬铁偏移并不那么困难,但软铁偏移需要将数据拟合到椭圆或椭球体以及大量的线性代数。我已经尝试过这两个版本并且它们都有效。每种方法都有优点和缺点,具体取决于您拥有多少处理能力以及磁场倾斜的严重程度。

关于calibration - 存在永磁场时的磁力计校准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13856042/

相关文章:

opencv - OpenCV相机校准的数学背景

python - #ERROR使用棋盘计算内在参数

opencv - OpenCV-CirclesGridFinder的文档

指南针校准设置阻止了 iPhone 运动数据

python - 计算相机内在参数时获取复数

ios - 根据 iDevice 磁强计读数旋转 UIView

c - c语言设置I2C读写

ios - Iphone加速度计采样频率

python - (相机校准)如何使我的循环读取图像仅等待10秒钟,并且如果什么都没有移到下一张图像?