基于Matlab的磁力计校准(附源码)
目录
一、理想磁力计
二、硬铁效应
三、软铁效应
四、校正技术
五、使用函数magcal
5.1 仅偏移计算
编辑5.2 硬铁补偿和轴缩放计算
5.3 全硬铁和软铁补偿
5.4 自动拟合
六、 结论
七、程序
磁力计沿传感器的 X、Y 和 Z 轴检测磁场强度。精确的磁场测量对于传感器融合以及确定航向和方向至关重要。为了用于航向和方向计算,需要校准典型的低成本MEMS磁力计,以补偿环境噪声和制造缺陷。
一、理想磁力计
理想的三轴磁力计沿正交 X、Y 和 Z 轴测量磁场强度。在没有任何磁干扰的情况下,磁力计读数测量地球磁场。如果在传感器通过所有可能的方向旋转时进行磁力计测量,则测量值应位于球体上。球体的半径是磁场强度。 要生成磁场样本,请使用对象。出于这些目的,可以安全地假设每个方向的角速度和加速度为零。
二、硬铁效应
噪声源和制造缺陷会降低磁力计的测量效果。其中最引人注目的是硬铁效应。硬铁效应是固定的干扰磁噪声源。通常, 这些来自带有磁力计的电路板上的其他金属物体.硬铁效应改变了理想球体的原点。
三、软铁效应
软铁效应更微妙。它们来自传感器附近的物体,这些物体会扭曲周围的磁场。这些具有拉伸和倾斜理想测量范围的效果。得到的测量值位于椭球体上。软铁磁场效应可以通过将IMU的地磁场矢量旋转到传感器帧,拉伸,然后将其旋转回全局帧来模拟。
四、校正技术
该功能可用于确定考虑硬铁和软铁效应的磁力计校准参数。未经校准的磁力计数据可以建模为躺在椭圆体上,方程magcal
上面的方程是圆锥的一般形式。对于椭球体,R必须是正定的。该函数使用各种求解器,基于对R 的不同假设。在函数中,R可以假定为单位矩阵,对角矩阵或对称矩阵。
该函数产生校正系数,这些系数进行测量,这些测量位于偏移椭球体上,并将它们转换为位于以原点为中心的理想球体上。该函数返回一个 3×3 的实矩阵A和一个 1×3 的向量b。更正未校准的数据计算magcal
magcal
这里x是 1×3 的未校准磁力计测量数组,m是位于球体上的校正磁力计测量值的 1×3 阵列。矩阵A的行列式为 1,是R 的矩阵平方根。此外,A与R 具有相同的形式:单位、对角线或对称矩阵。由于这些类型的矩阵无法传递旋转,因此矩阵A在校正期间不会旋转磁力计数据。该函数还返回第三个输出,即磁场强度magcal
.可以使用磁场强度来设定的属性。
五、使用函数magcal
使用该函数确定校正噪声磁力计数据的校准参数。通过设置属性来创建嘈杂的磁力计数据。使用变量中的旋转和拉伸磁场来模拟软铁效应。
绘制原始数据和校正数据。显示最适合原始数据的椭球体。显示校正数据应位于的球体上。
该函数使用各种求解器来最小化残余误差。残差是校准数据与半径球体之间距离的总和。
如果只需要校正某些缺陷或实现更简单的校正计算,则可以运行单个求解器。
5.1 仅偏移计算
许多MEMS磁力计在传感器内都有寄存器,可用于补偿硬铁偏移。实际上,上述等式的(x-b)部分发生在传感器上。当只需要硬铁偏移补偿时,矩阵实际上成为单位矩阵。要单独确定硬铁校正,可以这样调用该函数:A
magcal
5.2 硬铁补偿和轴缩放计算
对于许多应用,将椭球矩阵视为对角矩阵就足够了。从几何上讲,这意味着未校准磁力计数据的椭球体近似为其半轴与坐标系轴对齐,并且与原点的中心偏移。虽然这不太可能是椭球体的实际特征,但它将校正方程简化为每个轴的单个乘法和单个减法。
5.3 全硬铁和软铁补偿
要强制函数求解任意椭球体并生成密集的对称矩阵,请按以下方式调用该函数:magcal
A
5.4 自动拟合
应谨慎使用,和标志并检查输出值。在某些情况下,高阶(或)拟合的数据可能不足,可以使用更简单的矩阵找到一组更好的校正参数。没有足够的数据分布在椭球体的表面上,无法通过选件实现良好的拟合和适当的校准参数。使用 thefit 选项可以避免此问题,并找到一个更简单的矩阵,该矩阵是实数、对称和正定的。使用选项字符串调用与不使用任何选项字符串调用相同。比较使用 thefitter 和不正确的高阶拟合器的结果,可以显示在更正数据之前不检查返回的矩阵的危险。
使用 theflag 调用函数(这是默认值)将尝试所有可能性,并搜索 theand,这将最小化残余误差,保持真实,并确保R是正定和对称的。
六、 结论
该功能可以提供校准参数,以校正磁力计中的硬铁和软铁偏移。在没有选项字符串或等效于选项字符串的情况下调用函数会产生最佳拟合并涵盖大多数情况。
七、程序
使用Matlab R2022b版本,点击打开。
打开下面的“MagnetometerCalibrationExample.m”文件,点击运行,就可以看到上述效果。
关注下面公众号,后台回复关键词:磁力计校准,发送源码链接。
基于Matlab的磁力计校准(附源码)相关推荐
- 058基于Springboot医院管理系统【附源码】
大家好,最近在网上又找到了一个学习项目,在此写一篇博文记录一下,在java项目的专栏中我会持 续的更新在网上获取到的java学习项目,这个专栏是我的项目收集专栏吧.在博文中我也会陆续的加入项目的演示视 ...
- java基于Redis实现排行榜功能-附源码
java基于Redis Zset实现排行榜功能 前言 做之前要思考的问题? Zset怎么存储需要的多个字段? 话不多说先上效果图 数据存储格式 代码 源码下载 闲暇之余,整理了一下之前利用Redis ...
- SpringSession实战项目(基于SpringBoot项目)【附源码】
Python实战社群 Java实战社群 长按识别下方二维码,按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群▲ 作者丨怀瑾握瑜 来源链接: https://www. ...
- 多因子系列(二):基于机器学习选股策略(附源码)
在第一篇中,我们实现了一个简单单因子的策略模型,但是在实际中,我们是远远不会满足于一个因子甚至几个因子的. 市场上目前挖掘出来的因子成千上万个,如何有效筛选出比较好的几个因子构建一个选股模型呢? 手动 ...
- 实战 | 计算器/数码管数字识别 基于OpenCV和EasyOCR/PaddleOCR(附源码)
点击下方卡片,关注"OpenCV与AI深度学习"公众号! 视觉/图像重磅干货,第一时间送达! 导读 本文主要介绍一个计算器显示数字识别的OCR实例,基于OpenCV和EasyOCR ...
- java基于springboot二手车交易管理系统附源码
二手车交易管理系统是基于java编程语言,mysql数据库,springboot框架设计,本系统主要分为用户和管理员两个角色,其中用户的功能有用户注册和登陆系统,用户查网站新闻,查看二手车,在线预定, ...
- 基于springboot万花筒系统 毕业设计-附源码345600
摘要 科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用.信息时代的到来已成为不可阻挡的时尚潮流,人类发展的历史正进入一个新时代.在 ...
- 基于SSM养老院管理系统毕业设计-附源码221609
摘 要 随着互联网趋势的到来,各行各业都在考虑利用互联网将自己推广出去,最好方式就是建立自己的互联网系统,并对其进行维护和管理.在现实运用中,应用软件的工作规则和开发步骤,采用Java技术建设养老院管 ...
- java基于springboot美食推荐管理系统附源码风格
美食推荐管理系统是基于java编程语言,springboot框架,mysql数据库开发,本系统主要分为用户和管理员两个角色,其中用户注册登陆后可以查看美食,教程,社区,资讯公告,收藏,评论:管理员对用 ...
最新文章
- Dubbo 版 Swagger 来啦!Dubbo-Api-Docs 发布
- neo4j 4.1.8版本安装图算法包
- Delphi XE5 for Android (八)
- C#网络编程(同步传输字符串) - Part.2
- Mac升级emacs26
- 在线数据库链接字符串查询
- centos7 安装python3.6 及模块安装演示
- mysql 拼音排序_mysql汉字字段按拼音排序的方法
- 免费国外视频素材网站
- 怎么查看电脑开关机时间记录
- 一款可自定义自动字典生成器---火花
- 小程序 H5页面video的适配问题
- #2阴阳师首页模块模拟
- 6 月直播 7 场全剧透。今天:飞腾CPU调优原理及方法 | 第 19 期
- 为什么国内搜索不到国外服务器网站?
- windows改键软件——sharpkeys
- 寻找我心中的产品经理
- 揭秘电信“龙计划”:合约手机将执行“四统一”
- Android SDK 开发流程
- php win8 下载64位下载,WIN8.1x64纯净专业版GHO系统下载20180713
热门文章
- 突然不能从主机向虚拟机上拷贝文件了
- 文件操作,函数练习及答案
- csgo删除机器人_《CSGO》补丁突然移除补位机器人 队友掉线只能4v5!
- Ubuntu20.04桌面系统快速上手教程
- 2018年山东外贸进出口1.93万亿元创历史新高
- 搜狗浏览器默认皮肤无法修改问题
- addimitted_Chocolate Dessert Design Shop
- NAS入门之——My Cloud EX2+未入网的路由器局域网组网
- 高博14讲--第七讲 视觉里程计-7.3 2D-2D:对极几何
- 五款免费的磁盘空间使用情况报告软件