线性标定校准的实现


仿真软件源码位置在:http://download.csdn.net/detail/dijkstar/5565111,http://www.pudn.com/downloads552/sourcecode/windows/other/detail2276765.html

1 原理

假设一个采样系统,AD部分可以得到数字量,对应的物理量为电压(或其他);

① 若在“零点”标定一个AD值点Xmin,在“最大处”标定一个AD值点Xmax,根据“两点成一条直线”的原理,可以得到一条由零点和最大点连起来的一条直线,这条直线的斜率k很容易求得,然后套如直线方程求解每一个点X(AD采样值),可以得到该AD值对应的物理量(电压值):


上图中的斜率k:

k =(Ymax-Ymin)/(Xmax-Xmin)

(因为第一点为“零点”,故上面的Ymin = 0)

    所以,上图中任一点的AD值对应的物理量:

y = k×(Xad- Xmin)+0

    ② 上面的算法只是在“零点”和“最大点”之间做了标定,如果使用中间的AD采样值会带来很大的对应物理量的误差,解决的办法是多插入一些标定点。

    如下图,分别插入了标定点(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4) 四个点:


    这样将获得不再是一条直线,而是一条“折现”(相当于分段处理),若欲求解落在x1和x2之间一点Xad值对应的电压值:

y = k×(Xad– X1)+ y1

    由上看出,中间插入的“标定点”越多,得到物理值“精度”越高。

2 仿真软件

    按照上述想法,实现了一个线性标定校准仿真软件,该软件具有:

a   “标定点”集合的管理(加入、删除、保存、读取);

b   计算一个新AD值对应的物理量


仿真软件每次启动初始化时,读取“标定点”集合(保存在“配置.ini”中);当加入一个新的标定点时,按排序查找插入到相应的位置;输入一个要求解的AD值对应的电压,该AD值查找到“标定点”集合中适合位置,按直线方程计算出该AD对应的物理量。

该软件需配合“配置.ini”文件使用。标定(校准)的实现全部在Acq.h、Acq.cpp中。

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值