潘 浩 刘青松
(1.中国电子科技集团公司第三十八研究所 a.数字阵列技术重点实验室;b.智能情报处理重点实验室,合肥 230088;2.北京云知声信息技术有限公司,北京 100191)
非线性是大多数传感器固有的特性,典型的有热电偶及热电阻等,当把传感器信号转换成对应的物理量时,需要进行非线性校正,即通常所说的线性化处理过程[1,2]。以热电偶为例,分度表和拟合方程是描述其温度和热电势非线性关系的两种标准方式,对应的两类线性化方法分别为查表插值法和高次方程求解法,前者运算量小但存储空间很大;后者存储空间小但运算量很大,两者均适合于计算机软件中的线性化处理[3]。
随着工业自控技术的发展,越来越多的线性化处理需要在微控制单元(MCU)中实时完成。分段多项式拟合法是一种存储空间和运算量都比较小的线性化方法[4],其中较复杂的拟合过程在计算机上离线进行,生成的多项式系数保存在MCU中,由MCU执行较简单的实时多项。常规分段多项式拟合在分界点处经常会出现不连续跳变,当输入信号处于分界点附近时,往往会导致测量结果的异常跳字,对系统性能造成不利的影响。针对这一问题,提出交叠分段多项式拟合的线性化方法,在该方法的第一阶段中,根据误差容限自动确定分段长度,相邻分段保持一定比例的交叠区;在第二阶段中,从交叠区中搜索两条曲线最接近的点作为实际分界点,从而使线性化函数的不连续性降到最低。对热电偶和热电阻的实验表明,当交叠比取0.30时,方法能够在分段数略有增加的情况下,基本消除线性化函数中的跳变,进而有效抑制分段导致的异常跳字。
(1)
(2)
求解式(2)可以得到c0,c1,…,cn的唯一解,从而确定多项式函数f(E)。一般来说,采用低次多项式进行拟合具有简单、稳定和平滑的优点,因此实际应用中的拟合多项式次数n通常控制在3以内[6]。
分段可以采用等间隔分段及自适应分段等多种策略,其中自适应分段方法[8]能够根据预设误差容限e,自动确定每一段的长度,并确保每一段的拟合误差都不超过e。当分段数s=m并采用一次函数拟合时,方法退化成精度很高且存储量很大的查表插值法。
常规分段拟合得到的线性化函数曲线经常在分界点处存在不连续性,如图1所示。
图1 常规分段的段间跳变
图1中,分界点Bt的两侧分别为第t段和第t+1段,两段之间存在明显的阶跃。当输入信号在Bt附近连续变化时,线性化函数的输出结果会出现跳变,进而导致测量结果的抖动。为了解决这个问题,采用交叠分段策略,如图2所示。
图2 交叠分段的最优分割点
其中,Lt为第t段和第t+1段的交叠区域,交叠比η表示交叠区和第t段的数据长度之比,η通常在0.0~0.5的范围内取值。交叠分段拟合完成时,在交叠区中存在两条备选曲线,当选用两条曲线垂直距离最小处的E值作为实际分界点时,可以使两段之间的跳变达到最小,该点就是抑制跳变意义下的最优分界点。如果两条曲线在交叠区内相交,最优分界点就是两条曲线的交点,此时段间跳变降为0。
当选择较大的交叠比η时,一方面,相邻两段在拟合时考虑了较多的公共点,有利于两条曲线的靠近;另一方面,较大的交叠区有利于最优分割点的搜索。因此,交叠比η越大,段间跳变就越小,相应的总分段数s也会越大,对存储空间的要求也就越高。当η=0时,退化成非交叠的常规分段拟合方法。
根据2.1节描述的方法和1.2节中的自适应分段拟合策略,在Matlab中实现自适应交叠分段多项式拟合程序,完整的流程如图3所示。
整个流程分为两个阶段,程序启动后,第一阶段进行自适应交叠分段,流程如下:
a. 初始化。记首段边界B0=E0,分段数t=1,当前分段初始化为最短长度a=0、b=n。
b. 拟合和评估。根据式(2)的方程组对区间[Ea,Eb]中的数据点进行最小二乘拟合,得到拟合系数cj(j=0,1,…,n),并根据式(1)对拟合结果进行误差评估,得到误差序列ri。
c. 如果所有误差绝对值|ri|(i=a,a+1,…,b)则均小于误差容限e,进行区间扩展b=b+1,返回步骤b重新拟合并评估;否则,继续执行步骤d;如果b已经达到末尾,即b=m,则跳转至步骤f。
d. 回退。根据交叠比例η,下标b回退至b′=b-η(b-a)。
完成以上步骤后进入第二阶段,在t=1,2,…,s-1共s-1个交叠区Lt中进行最优分界点搜索,流程如下:
a. 初始化。令变量t=1,准备处理第一个交叠区。
d. 交叠区编号递增t=t+1,如果已经处理完毕,即t=s,则跳转至步骤e;否则返回步骤b。
e. 连同第一阶段得到的首尾边界B0和Bs,所有分界点的值Bi(i=0,1,…,s)均已确定,方法结束。
图3 自适应交叠分段多项式拟合方法的流程
在Matlab中实现K型热电偶的自适应交叠分段多项式拟合实验。K型热电偶的常用温度为-200~1 370℃,对该范围内的T=f(E)曲线进行自适应交叠分段拟合,其中热电势E的单位为mV,温度T的单位为℃,多项式次数n取3,交叠比η取0.30,误差容限e取0.5,拟合结果见表1。
表1 K型热电偶3次多项式交叠分段拟合结果的分界点和各段系数
曲线被自动分成了5段,t=1,2,…,5和表1中K型热电偶3次多项式交叠分段拟合结果中的5行数据对应,其中B0=-5.891404未列出。具体实现时,表1中共25个浮点数需要全部存储在硬件中。当误差容限e=0.5,交叠比η=0.30时,在分界点B4=38.692148处,交叠分段拟合结果的局部放大如图4a所示,原始数据的误差曲线如图4b所示。
图4 K型热电偶3次多项式交叠分段拟合的局部放大图和误差曲线
作为对比,图5a和图5b分别给出了误差容限e=0.5,交叠比η=0.00时,即常规分段拟合结果的局部放大图和误差曲线,此时的总分段数为4。
图5 K型热电偶3次多项式常规分段拟合的局部放大图和误差曲线
对比图4、5可以看出,交叠分段拟合结果在分界点B4处无明显跳变,而常规分段拟合结果在40.25mV的分界点处约有0.5℃的负跳变。在误差曲线的相应横坐标处,也可以看到交叠分段时相邻两段误差都在0.0℃附近,而常规分段时误差从0.5℃直接跳变至0.0℃。从误差曲线的走势上看,相邻两段误差在交叠分界点B4处相交,这提示交叠区中两条备选拟合曲线存在交点。此外,两组误差曲线的其他分界点处也存在类似情形。
图6给出了e=0.5、交叠比η分别取0.30、0.15和0.00时,对K型热电偶进行2次多项式交叠分段拟合的误差曲线,在这3种交叠比下新方法得到的总分段数分别为9段、8段和7段。
a. η=0.30
b. η=0.15
c. η=0.00
可以看出,当η为0.30时,每个分界点处的误差均无跳变,相邻段曲线总是在交叠区中相交,得到的线性化函数在三者中具有最好的连续性;当η为0.00即采用常规分段策略时,分界点处存在明显的跳变,在28mV附近的分界点处,跳变甚至接近1℃,连续性最差;当η为0.15时,分界点处虽然也存在跳变,但跳变幅度基本都控制在0.25℃以内,介于两者之间。而且,尽管误差容限e均取0.5,采用交叠分段策略时,除了下限附近,绝大多数误差都在±0.25℃以内,拟合精度也优于常规分段。
表2给出了η=0.30和e=0.5时,多项式次数n分别取1~5时K型热电偶多项式交叠分段拟合的总分段数和必须浮点数的存储量。
表2 η=0.30和e=0.5时的总分段数和存储量
在表2中,用于拟合的多项式次数n从1增加到2 和3时,总分段数和存储量迅速降低,但当次数n继续增加到4和5时,存储量不再有明显的下降,而此时的运算量有明显的上升。其他几型热电偶也有类似的规律。因此,对于热电偶来说,选择3次多项式拟合能够较好地兼顾存储空间和运算量。
Pt100是最常用的热电阻,温度范围在-200~850℃。选用3次多项式对Pt100的T=f(R)曲线进行自适应交叠分段拟合,R的单位为Ω,交叠比η取0.30,误差容限e取0.03,处理结果见表3。
表3 Pt100热电阻3次多项式交叠分段拟合结果的分界点和各段系数
曲线自动分为3段,其中B0=18.520080在表中未列出,其误差曲线如图7a所示(误差容限e=0.03,交叠比η=0.30)。作为对比,图7b给出了常规分段拟合的误差曲线(误差容限e=0.03,交叠比η=0.30),两种分段策略的总分段数均为3。
图7 Pt100热电阻3次多项式交叠分段和常规分段拟合的误差曲线
可以看出,采用交叠分段策略可以在存储空间相同的情况下,消除误差曲线中的跳变,使线性化函数始终保持连续性;同时除了上下限附近,中间部分的误差基本都控制在了0.01℃以内,比常规分段精度更高。
最小二乘多项式拟合是一种用于生成传感器信号线性化函数的常用方法,在常规分段策略下,相邻两段的分界点处经常会出现影响系统性能的跳变。为此,笔者提出了一种先交叠分段拟合再确定最优分界点的方法,实验结果表明:当交叠比取0.30时,该方法能够在总分段数略有增加的情况下,有效抑制段间分界处的不连续性。此外,该方法除了用于热电偶和热电阻的线性化,还可以用于其他传感器的线性化处理。
[1] 麻朝,顾伟,褚建新.基于遗传算法的K型热电偶非线性校正[J].化工自动化及仪表,2014,41(4):27~29.
[2] 欧阳玉东.温度变送器信号处理软件设计与算法[J].数据采集与处理,2012,(z2):396~398.
[3] 卢鹰斌.基于数字化补偿的热电偶测控系统[J].工业控制计算机,2014,26(10):44~45.
[4] 杨宇,郝晓剑,武耀艳,等.基于热电偶动态校准的非线性拟合方法研究[J].激光技术,2014,(2):145~148.
[5] 马松龄.最小二乘法在热电偶热电势-温度特性线性化中的应用[J].西安建筑科技大学学报,2001,(1):86~88.
[6] 杜西亮,孙慧明.多项式回归在智能传感器线性化中的应用[J].传感技术学报,2005,(1):212~214.
[7] 叶凌箭,钟伟红,宋执环.基于分段线性化法的改进自主优化控制[J].自动化学报,2013,39(8):221~224.
[8] 赵明富,廖强,钟连超.热电偶最优化分段最小二乘拟合线性化处理方法[J].计量技术,2004,(1):18~20.