对付AD转换中存在的非线性问题,常日可从硬件和软件两方面进行处理。硬件处理在尽可能减少非线性的根本上[2],常日合营软件处理一起。软件处理的方法较多,其拟合精度高,快速性好,常日有线性近似法、分段直线回归法、传统的回归法(如)等,目的都是采取软件的方法尽可能降落由于非线性带来的偏差。
本文提出了一种基于最小二乘法的最优化分段线性拟合方法,对AD转换结果进行软件在线校正,末了将校正后的分段点、斜率和截距等数据下发到被校正装置(如以STM32为MCU的仿照量采集系统)中。经实际测试验证,其拟合速率快、准确性高且操作方便。

1 最小二乘法
软件实现线性化是基于最小二乘法事理的[3-4]。以知足用户哀求的偏差标准为条件,将全体量程范围划分为不同的区间,在每个分段区间内对实际物理量和转换后数字量采取最小二乘法进行直线拟合,确定各直线的待定系数ai(斜率)和bi(截距)。确定ai和bi后,得到yi=aix+bi这样一条直线,使得用这条直线去近似这段曲线时,全体区间内的偏差都较小,末了可得到全体量程范围内确定的函数关系。
得到ai、bi值,则可确定各区间内直线的函数关系。
2 软件线性化基本思路
经理论剖析和实验表明,实际物理量和AD转换后数字量间的非线性关系紧张分布在低端和高端,中间基本上是线性关系。因此,大略地对全体量程区间的非线性关系进行线性拟合时,两端与实际曲线的拟合度很低[5],得到的拟合函数无法准确地表达全体量程范围内实际物理量和数字量间的关系。
如果不进行分段线性校正,拟合函数f(x)的阶数必须高于7[6],才能知足掌握系统精度的哀求。而由于高阶拟合函数打算繁芜,须要用到迭代法,打算韶光长,占用内存多,难以在实际中运用。因此就须要分段,将全体量程范围根据偏差标准经由打算进行划分区间,分别对每个划分区间进行拟合,各区间有不同的拟合函数,此时可认为每个划分区间中的实际物理量和数字量间存在线性关系,而在全体量程范围内实际物理量和数字量之间是非线性关系。
理论证明,只要分段的间距足够小,分段的数量足够多,对付任意的连续函数,在偏差许可的范围内,都可以用分段线性化来处理。但是在实际运用中,应根据偏差标准来划分区间,划分的区间数量不宜太多。当许可偏差较大时,分段数较少;当许可偏差较小时,分段数较多。此动态分段方法既可简化得到拟合函数的过程,又能提高转换精度,知足掌握哀求。基于最小二乘法的最优化分段线性拟合方法的基本思路为:
(1)假设有一组样本数据(xi,yi)(i=0,1,2,…,n-1)(数字量xi从小到大排列),用户根据实际测试需求,输入许可偏差ε及量程范围[M,N](M、N均为数字量)。
(2)打算机取出数据(xi,yi)的前3个点,拟合区间为[M,x2]。用最小二乘法求出各点在拟合区间[M,x2]内的拟合系数a0和b0并依次打算各点的偏差值εi,个中εi=
|yi-(a0xi+b0)|。
(3)将各点偏差值εi与许可偏差ε进行比较。若这3个数据点均知足许可偏差,打算下一个点x3的偏差值ε3。将ε3值与许可偏差ε进行比较,若仍小于许可偏差,则拟合区间再增加一个数据x3,拟合区间为[M,x3]。依次类推,直到在区间[M,xk]中涌现某点xk,其偏差值εk大于许可偏差ε,打算机会自动将区间[M,xk]减少一个数据xk。此时可得到分段区间[M,xk-1]内知足精度哀求的拟合函数表达式y0=a0x+b0,且这条直线延伸到量程范围的起始点M。
若这3个数据点中有任何一个点不知足许可偏差,则将3个数据点中的前两个点根据“两点确定一条直线”定律,连接成一条直线且这条直线延伸到量程范围的起始点M,分段区间为[M,x1]。且设定这3个数据点中不知足偏差哀求的点为第3个,为方便阐述,假设这个点为xk。
(4)下一段从xk-1点开始,打算机取3个数字量xk-1、xk、xk+1,此时拟合区间为[xk-1,xk+1],用最小二乘法求出各点在拟合区间[xk-1,xk+1]内的拟合系数aj和bj(j=1,2,…,n-2),并依次打算各点的偏差值εk。沿用步骤(3)中的方法,找出新区域内的拟合表达式。直至打算判断达到量程范围上限N点,拟合过程结束。至此得到了符合许可偏差的各段拟合函数,覆盖了全体量程范围。
根据上述方法,在实际校正中会涌现很多种可能,图1和图2为两种范例情形下的处理办法。情形1为有3个点知足偏差标准的处理办法,情形2为有3个点不知足偏差标准的处理办法。
3 软件线性化的实现
AD转换在线校正软件利用VS2010 C#开拓,并将校正后的许可偏差、量程范围、分段数、分段区间、斜率a和截距b等参数保存到Access数据库中,用户可根据许可偏差和量程范围随时查询。
软件可校正的物理量有直流电压、直流电流、互换电压、互换电流和互换频率,每次只能校正一个物理量。AD转换在线校正软件紧张包括串口设置界面、非线性校正界面(主界面)和实时曲线界面。串口设置界面紧张用来设置校正软件与被校正装置间的通信参数;非线性校正界面包括数据要求、数据显示、拟合折线和历史数据查询四部分,实现数字量的吸收、物理量的输入、根据许可偏差和量程范围进行分段线性校正并将参数下发给被校正装置,以及保存和查询等功能;被校正装置根据校正软件下发的参数进行物理量的回归运算[7],校正软件通过发送指令读取运算得到的物理量值,并将物理量值通过实时曲线界面显示。非线性校正界面如图3所示。
4 软件线性化测试结果
在软件线性化测试中,被校正装置为以STM32为MCU的仿照量采集系统,其内部AD转换器的位数为12 bit,物理量为直流电压,其量程范围为1~10 V。AD转换后数字量与实际丈量的物理量如表1所示。
通过本文提出的校正方法对表1中的数据进行最优化分段线性校正,当许可偏差分别为0.2和0.5时,其拟合分段直线如图4和图5所示。由图4和图5校正结果比拟可知,打算机可以根据许可偏差的大小来动态调度分段区间,得到最优化分段,使得分段数最优;校正过程方便,用户只需手动输入实际物理量、许可偏差和量程范围;并且校正的准确度高,哀求的许可偏差越小,校正后的折线越逼近实际曲线。
在上述测试条件下,许可偏差为0.2和0.5时,其拟合结果的分段数、分段区间、各段系数及最大偏差如表2所示。由两组数据比拟结果可知,拟合结果的分段区间不是固定的,而是会根据许可偏差的不同实现动态分配,从而实现了分段数的最优化。同时,对付不同的许可偏差,当许可偏差较小时,分段区间越多,拟合精度越高,因此在实际的利用中,可根据须要设置许可偏差,得到校正数据,从而实现提高物理量回归运算精度的目的。
5 结论
本文提出了一种基于最小二乘法的最优化分段线性拟合方法,经由实际测试验证,拟合精度高,分段合理,算法大略且快速性好,达到了方便、准确实现非线性校正的目的。在实际操作时,用户须要将实际丈量的物理量、量程范围及许可偏差输入到软件中,打算机可根据软件程序自动打算出分段区间和拟合系数,用户再将拟合参数下发给被校正装置即可。此方法也可用于嵌入式系统的赞助开拓中,进行仿照量的非线性校正,提高非线性校正的灵巧性和准确性。
参考文献
[1] 国培光.仿照量分段线性化校正电路设计[J].西北农业大学学报,1995,23(3):55-62.
[2] 何朝晖,陈厚鹏,戎蒙恬.采样保持电路中的一种增益偏差自校正方法[J].上海交通大学学报,2004,38(5):733-737.
[3] 解乐,刘建国,程寅,等.一种非打仗式道面温度丈量系统研制[J].电子技能运用,2017,43(6):75-78.
[4] 李纬良,肖辉,方鹏飞.基于STM32的扬声器定心支片顺性丈量系统设计[J].电子技能运用,2019,45(7):102-106,116.
[5] 曹金华,贺黎潇,沈安东,等.基于KL25的AD转换动态在线校正技能[J].实验室研究与探索,2013,32(10):249-252.
[6] 马松岭.最小二乘法在热电偶电势-温度特性线性化中的运用[J].西安建筑科技大学学报(自然科学版),2001,33(1):86-88.
[7] 刘伟,沈安东,王宜怀.低端嵌入式系统中物理量回归算法的优化[J].当代电子技能,2008(18):31-34.
作者信息:
贾红敏,张立广,淡建超
(西安工业大学 电子信息工程学院,陕西 西安710021)







