APP下载

基于神经网络误差补偿的磁编码器细分算法

2016-06-18薛凌云刘震天

关键词:最小二乘法

薛凌云,刘震天

(杭州电子科技大学生命信息与仪器工程学院,浙江 杭州 310018)



基于神经网络误差补偿的磁编码器细分算法

薛凌云,刘震天

(杭州电子科技大学生命信息与仪器工程学院,浙江 杭州 310018)

摘要:提出了一种基于径向基神经网络误差补偿的磁编码器细分算法.首先对双路正余弦信号进行差值运算并分区,然后采用最小二乘法的线性回归分析获得角度计算函数,最后运用径向基神经网络建立误差模型并进行误差补偿.仿真结果表明,该算法有效提高了磁编码器的输出精度与分辨率,经过补偿后精度为0.09°,分辨率可达到4 096 p/r.

关键词:磁编码器;最小二乘法;径向基神经网络;误差补偿

0引言

伺服电机系统的性能在一定程度上依赖于编码器的检测精度和分辨率.常用的编码器主要有旋转变压器、光电编码器和磁编码器3种.旋转变压器体积大、精度低,较难适用于高精度控制场合;光电编码器精度和分辨率都达到了较高水平,但受限于制造工艺,价格昂贵,抗干扰能力差,在恶劣环境下无法使用;磁编码器结构简单,抗干扰能力强[1],虽然分辨率与精度不及光编码器,但仍有广泛的应用需求.因此有效提高磁编码器的分辨率与精度成了磁编码器的研究重点.

目前细分技术是提高磁编码器的分辨率与精度的重要手段,包括硬件细分与软件细分.硬件细分通过电路参数设置而实现,但高倍频细分的硬件电路复杂,抗干扰能力差,响应速度慢[2].软件细分有反正切法、CORDIC、闭环跟踪法、查表法等算法.反正切算法利用反三角函数直接求出角度值,尽管该算法原理简单,但运算过于复杂并且精度不高.CORDIC算法基于反正切函数,将复杂的计算问题通过迭代变成了简单的移位和加减,但算法精度依赖迭代次数从而影响运算速率,并且角度坐标过大或过小时,算法将不收敛[3].闭环跟踪法虽然避免了反正切函数的计算,但使用了额外的电路生成信号进行跟踪和迭代计算,占用了大量的处理器资源并且运行效率不高[4].文献[5]根据麦克劳林近似公式提出反向数据拟合方法拟合相位值求取转子的位置信息,但只适用于极低转速情况且计算复杂不利于实现.文献[6]提出的查表改进算法,将信号运算后的结果分区并建表,提高了查表效率,节省了存储空间,但需要多个补偿项,影响了运算速率.根据以上问题,本文提出了一种简便的线性化计算方法,将信号分区运算后采用最小二乘法得出一元线性函数,从而有效提高了分辨率和运算速率,再运用径向基神经网络补偿函数误差,最后获得磁编码器角度输出,提高了磁编码器输出精度.

1信号细分原理

1.1信号的差值运算

磁编码器信号发生结构主要分为磁鼓元件与磁敏元件.根据霍尔元件的感应原理,采用2个霍尔元件平行于磁极端面的正下方处正交放置,磁极旋转会产生1个马鞍状的空间磁场分布.根据霍尔原理根据垂直方向的磁感应强度变化输出相应电压的原理,理想情况下将得到2组信号[7]:

图1 正余弦信号及差值运算信号

(1)

式中:Umax为线性霍尔元件电压的最大值,θ为磁鼓旋转角度.

为了获取精度更高的角度值,必须对信号进行细分处理.经过计算分析,发现cosθ信号与cosθ信号分别在90°与270°线性度存在一个类反比的关系,因此将这2组信号进行简单的运算,使其运算后形成的函数具有明显的线性度,计算公式如下:

(2)

根据MATLAB的仿真与计算,可以看出运算后的函数具有良好的线性度,如图1所示.

1.2分区及分辨率计算

实际运算中,将cosθ信号与sinθ信号通过A/D采样并进行模数转换,最终将得到的cosθ信号与sinθ信号的数字量进行运算,构建出新的一组数字量作为函数变量.根据仿真可以看出,运算后的函数曲线是呈现对称性的,因此,只需要在0°~90°这个区间内进行编码计算.根据数字量计算出其所在区间,根据其所在的区间进行一定的角度变化得到最终角度,这样避免了计算的复杂性,相比于传统的查表算法,这样也大大减少了建表的难度与节省了大量的存储空间.

在处理器中进行数字信号处理的过程如式(2)中模拟量的运算方式,同样可以得到数字量的运算方式,根据数字量进行象限判断,并进行角度的变换,设计中,10位的基于信号差值运算细分的磁编码器可以达到的系统分辨率如下:

P=2n×m

(3)

式中:n为模数转换位数,n=10;m为象限的分区区数,m=4;通过计算得到磁编码器的系统分辨率P=4 096p/r.

2基于最小二乘法的线性拟合

2.1最小二乘法原理

在对一组线性方程求根的过程中,只有当方程式的个数与未知数个数相同时会有唯一解,倘若方程式的个数多于未知数的个数时,方程通常无解.因此,本文寻求了一条最佳的拟合直线,使其尽可能逼近这些方程解的点[8].

若x1,x2,x3…,xn是带求方程解的最佳估计值,数据的实际测量值为l1,l2,l3…,ln,则相应的误差表达式为:

(4)

2.2线性回归计算与结果分析

磁编码器双路正余弦信号经过差值运算后,其信号具有良好的线性度,可认为其经验公式为线性函数,并且其独立变量只有1个,那么便可以把数字电压差值量作为因变量值,角度数值作为自变量值,建立一元回归线性方式.进行仿真计算,首先根据采样并通过10位A/D转换后的数字电压信号进行差值运算处理,输出得到的值作为因变量值,把通过标定或反正切理论计算得出的角度值作为自变量值,对区间范围0°~90°的象限进行拟合,通过最小二乘法进行一元线性回归分析,得到一元线性方程:

V=-11.86θ+533.66,

(5)

以此方程通过数字电压信号直接计算角度值.

根据仿真计算后得出的非线性误差值如图2所示,可以看出采用最小二乘法拟合出的直线有良好的线性度,其最大误差值不超过20,10位A/D的数字量满量程范围为1 024,因此其非线性误差小于1%.通过数字量的计算可以得出模拟量的实际偏差也不到20mV,因此采用最小二乘法拟合的曲线对于磁编码器的输出模拟信号的也具有良好的线性度.

拟合后计算出的角度误差如图3所示,虽然基于最小二乘法的非线性误差很小,但是不难发现,由于最小二乘法的原理是求取残差的平方和为最小,所以拟合的直线与实际曲线必定存在一定的偏差,这是造成产生的误差最根本的因素,并且计算后得出的误差过高,达不到磁编码器要求的基本精度范围,因此,还需要对误差进行补偿处理.

图2 基于最小二乘法的线性拟合

图3拟合函数角度误差

3基于径向基神经网络的误差补偿

3.1RBF神经网络基本原理

根据第2节线性拟合后的函数,计算并得出误差值,因此需要建立误差模型将误差进行补偿计算.RBF神经网络属于一种前向神经网络类型,在拥有结构复杂度不高的前提下,同时保证了训练与学习过程简单快速,能够较好的实现对任意非线性函数的逼近.因此,本文采用基于径向基神经网络对误差进行建模,最终通过神经网络训练得出误差值,将其补偿到线性拟合函数中.其神经元传递函数的输入是输入和权值的向量距离与阈值的乘积,径向基神经网络拓扑结构如图4所示.

图4 径向基神经网络结构

RBF神经网络结构由3层构成,分别为输入层、隐含层和输出层.信号输入的节点源构成了输入层,而径向基函数作为一种类正态函数变化的非线性函数,在隐含层中实现了对神经元传递过程中的变换,输出层的作用为根据相应的输入模式进行响应[9].

3.2RBF神经网络设计

3.2.1网络的构建

RBF神经网络的构建需要确定输入层、输出层以及隐含层的节点数目.本文根据径向基神经网络对误差进行建模,将线性拟合函数输出的角度数值作为网络的输入,将误差数值作为网络的输出,因此输入层与输出层的节点个数皆为1.由于本文采用正规化网络模型,隐含层的节点数等于输入的训练样本数.

由于系统是非线性的,还需要确定初始权值的大小,这关系到学习过程是否能够收敛,局部是否最小以及训练时间的长短,若初始权值过大,使得加权后的输入进入传递函数的饱和区,使网络调节过程陷入停顿,因此我们需要使得加权后的每个神经元输出尽可能接近零,为此我们将初始权值取在区间[-1,1]之间的随机数.

3.2.2传递函数的选取及参数求取

径向基函数即为隐含层的传递函数,选取高斯函数作为径向基函数,因此径向基函数的激活函数可表示为:

(6)

因此可以确定基函数中心、隐层到输出层的连接权值及方差分别为学习RBF神经网络过程中,需要计算并获取的3个关键参数.根据自组织选取中心的学习算法,采用K-均值聚类方法[10]求取函数中心,其具体步骤如下:

1)初始化聚类中心,从选定的角度值训练样本中随机选取n个作为初始的聚类中心ci(1,2,3…n),设置迭代步数t=0;

3)更新聚类中心,可以采用竞争学习规则进行调整,即

3.3RBF网络训练及仿真结果

本文采用精确径向基网络进行仿真,在设计中,选取了64组训练样本进行训练,并另选了64组测试样本对RBF神经网络进行训练,隐含节点数和输入样量相同,也为64个节点.在径向基神经网络训练中,如果一个输入向量与神经元的权值向量相等的话,其网络输入就为0,输出就为1;如果网络输入为1的话,其输出就为0.如果权值向量和输入向量之间的欧式距离等于散布常数spread的值,则传递函数输入为0.832 6,其输出就为0.5,因此散布常数作为径向基函数的扩展参数,对径向基网络的性能影响最大,决定了网络会相应的输入向量的范围大小[11].

训练过程中,以spread默认值1为初始值,采用间隔为1进行递增,不同的spread值训练结果不同,如图5所示,当散布常数spread分别为1,2,3时,通过测试样本对RBF神经网络的测试结果,图6则为补偿后的角度误差.可以发现,当spread取2时,其函数逼近结果良好,其补偿后的角度误差控制在0.09°内.

图5 RBF神经网络结果

图6 补偿后角度误差

根据线性拟合公式(5)变换后并结合RBF神经网络训练后得出的误差模型,得出最终角度输出公式如下:

(7)

式中:θ′为最终获得角度,V为函数的输入,即为经过差值运算的数字信号量,Δ为构建的RBF神经网络.本文最终根据径向基函数神经网络训练后,输入角度测试样本,输出角度误差值,将此误差值累加到线性拟合函数中,得到磁编码器最终输出角度值.

4结束语

针对目前磁编码器分辨率与精度相对较低的现状,本文提出了一种将分区计算、线性拟合与径向基神经网络技术相结合的信号处理方式.本算法相较于反正切及CORDIC算法,运算速率更快.经仿真验证,在较好实现磁编码器输出角度细分的同时也有效地提高了输出精度.另外,本文算法是一种基于离线模式的算法,实际情况中会有各类噪声干扰.因此,继续寻找一种基于在线模式的智能优化算法,具有更深的实际意义.

参考文献

[1]XU Z H,WANG S C,CHIN T S,et al.Multi-pole fine magnetic scale for high-resolution magnetic encoders evidenced by a simplified method[J].Microsystem Technologies,2014,20(8):1491-1496.

[2]韩念琛,薛应芳,秦将.增量式编码器输出信号细分方法研究[J].太原理工大学学报,2011,42(1):51-54.

[3]王爽,李轶才,王治国.基于CORDIC算法的高分辨率磁编码器设计[J].微电机,2009,42(8):1-5.

[4]洪小圆,王鹿军,吕征宇.一种新颖的正弦正交编码器细分方法[J].电源学报,2011,10(1):7-11.

[5]刘海龙,贺昱曜,李洁.麦克劳林级数法求取光电编码器转子位置算法[J].传感技术学报,2013,26(5):617-621.

[6]李蕊.单对磁极磁编码器信号处理的研究[D].沈阳:沈阳工业大学,2012.

[7]SMIRNOV Y S,KOZINA T A,YURASOVA E V,et al.Analog-to-Digital Converters of the Components of a Displacement with the Use of Microelectronic Sine-Cosine Magnetic Encoders[J].Measurement Techniques,2014,57(1):41-46.

[8]皱乐强.最小二乘法原理及其简单应用[J].科技信息,2010,(23):282-283.

[9] TAN K K,TANG K Z.Adaptive online correction and interpolation of quadrature encoder signals using radial basis functions[J].Control System Technology,IEEE Transactions on,2005,13(3):370-377.

[10]CELEBL M E,KINGRAVI H A,PATRICIO A V.A comparative study of efficient initialization methods for the k-means clustering algorithm[J].Expert Systems With Applications,2013,40(1):200-210.

[11]于海,梁立辉,王树洁,等.基于径向基函数神经网络的高精度基准编码器误差补偿[J].红外与激光工程,2014,43(12):4123-4127.

A Magnetic Encoder Subdivision Algorithm Based on Neural Network Error Compensation

XUE Lingyun, LIU Zhentian

(SchoolofLifeInformation&InstrumentEngineering,HangzhouDianziUniversity,HangzhouZhejiang310018,China)

Abstract:This paper presents a magnetic encoder subdivision algorithm based on radial basis neural network error compensation. At first, to calculate out the difference between the dual cosine signal and partition, then using least squares linear regression analysis to obtain the output angle calculation function. Finally, using the radical basis neural network to establish the error model and compensate the error. The simulation results show that the proposed algorithm can effectively improve the output precision and resolution of the magnetic encoder, after compensation, the accuracy is 0.09° and the resolution can reach 4 096 p/r.

Key words:magnetic encoder; least square method; radical basis neural network; error compensation

DOI:10.13954/j.cnki.hdu.2016.02.011

收稿日期:2015-08-17

作者简介:薛凌云(1967-),女,内蒙古呼和浩特人,教授,智能信息处理.

中图分类号:TN762

文献标识码:A

文章编号:1001-9146(2016)02-0052-05

猜你喜欢

最小二乘法
基于压电陶瓷的纳米定位与扫描平台模型辨识算法研究
基于惯导角度量测的轨道平面最佳线形参数估计算法
马尔科夫链在市场预测中的应用
一种改进的基于RSSI最小二乘法和拟牛顿法的WSN节点定位算法
最小二乘法基本思想及其应用
全国各省份经济发展影响因素的实证分析
全国主要市辖区的房价收入比影响因素研究
手动求解线性回归方程的方法和技巧
一种基于最小二乘法的影子定位技术
基于最小二乘拟合的太阳影子定位模型