应变测量技术之-----MATLAB语言在传感器实验数据处理中的应用

  • 格式:pdf
  • 大小:1.15 MB
  • 文档页数:4

第25卷第5期2012年iO月大学物理实验PHYSICALEXPERIMENToFCoLLEGEV01.25NO.5oct.2012

文章编号:1007—2934(2012)05—0065—03

MATLAB语言在传感器实验数据处理中的应用

高宇飞,牟海维,吕秀丽

(东北石油大学,黑龙江大庆163318)

摘要:本文针对传感器实验教学中存在的数据处理难的问题,提出了调用MATLAB语言处理实验数据的方法,能完成实验曲线和拟合曲线的的绘制,计算传感器的灵敏度和线性度及其迟滞和重复性误差,并用实例介绍该方法的具体运用。结果表明,用MATLAB处理实验数据方法简单,且处理结果更能满足实验要求,适合在实验教学中推广。关键词:传感器实验;MATLAB;数据处理中图分类号:TP319文献标志码:A

实验教学是传感器课程教学的重要组成部

分,对学生深入理解和掌握相关理论知识、培养实

践能力和综合素质具有不可忽视的作用。传感器

实验中经常测量外界非电量与电压的关系,在实验数据处理时通常采用最小二乘法通过拟合得到标定曲线,并计算灵敏度和非线性误差。此算法

计算量大,而且也容易出错,特别是在测试点个数多的情况下,手工计算几乎是不可能的,而实验啦线采用坐标纸绘图,往往随意性强,其人为误差是

不可避免的。因此我们改用MATLAB编程来替代手工实验数据处理,这样大大提高了数据处理

的效率,避免了数据处理中一些人为的误差因素。

1MATLAB编程环境

MATLAB是1984年由美国MathWorks公司推出的用于数值计算和图形处理的科学计算软

件。在国外已被广泛地应用于各种工程领域,国

内部分高校已将其定为本科生的必修课程[1]。MATLAB程序代码短小高效,具体的算法函数

丰富,可通过调用函数很快解决实验中数据处理

的实际问题。

1.1绘图

用MATLAB语言对实验数据进行作图处理分析,只需将实验数据输人计算机,借助MAT—LAB语言强大的绘图功能,就可以直观的将实验结果用图示的方法准确地表现出来[2]。绘图语句

收稿日期:2012—04-12基金项目:东北石油大学重点建设课程项目plot或plot3等命令直接产生一个图形窗口,并把该窗口当做当前输出窗口,如果需在同一坐标

系统中画多个图形,只需在同一plot命令中依次

输入每个图形的自变量、函数和绘图参数即可,应

用MATLAB软件绘制传感器的实验测试曲线,

只需用到短短几条指令,输出实验数据,就可轻松实现图形的绘制,而且较手工绘图误差小,图形美

观。

1.2曲线拟合由传感器实验测得的数据经常会带有测量误

差,如果非线性项的次数不高,则在输入量变化范

围不大的条件下,可以用切线或割线等直线来近似地代替实际的静态特性曲线的某一段,使传感

器的静态特性近于线性,这种方法称为传感器非线性特性的线性化,所采用的直线称为拟合直线。

在大多数情况下,选择直线使得数据点的平方误差和最小。这种选择就是最小二乘直线拟合。传

感器的静态标定中,一个非常重要的内容就是通过最小二乘法获得拟合直线,并计算非线性误差,

而最zb-"乘法的计算量非常大,容易出错,为此采

用MATLAB提供的的拟合函数polyfit,这一命

令可以做到最高9次多项式的拟合,对于一般的

问题,这一多项式拟合的次数已经足够了。选我们择咒一1作为阶次,得到最简单的线性近似,通

常称为线性回归,即可轻松算出拟合直线方程,避免了复杂的数学运算,同时也给学生提供了学生

一个应用MATLAB软件解决实际问题的机会。

万方数据MATLAB语言在传感器实验数据处理中的应用

2实例应用

笔者在传感器实验的教学中尝试采用MAT—

LAB软件处理实验结果,学生在完成实验后,在计算机上用少量的几个MATLAB命令或作简单

的程序(m文件),完成数据的计算、拟合等,就可

画出实验点和用最小二乘法拟合的直线。本文以电容传感器的静态位移特性实验为

例,每隔0.5mm测一个输出电压值,总共13个点,取正反行程各一组数据(见表1)。

表1电容传感器测量位移的实验数据譬移瑶嚣譬移瑶管

7咖‘y1/mvy2/mv7删n.y1/mvyZ/mv一3.O一2.5—2.O一1.5—1.O—O.5O—18.23.018.62.8—15.62.515.87.0—11.72.011.69.0—8.41.59.212.3—5.81.05.816.1—2.8O.52.818.5O

2.1拟合与绘图

先用矩阵将实验原始数据导入,这里取正向行程的13个数据,用拟合函数将位移和电压值拟

合成一次线性方程,用到的函数表示为ployfit

(z,y1,,z),前面两个输入参数z,yl是矢量,表示已知的电容传感器的输入位移值和输出电压值,以

为拟合多项式的次数,对于直线的拟合方法来线

性化,艴取1即可。此外用polyval函数还能算出拟合直线上对应各点的值。程序代码及具体说明如下:

z一[一3:0.5:33(%输入位移量)

yl一[--17.6,一15,一11.5,-7.9,-5.7,-2.9,0,2.8,5.8,9.2,11.6,15.8,18.6](%实验数据)

k=polyfit(x,yl,1)(%计算拟合直线的

斜率b、截距a)

y-----polyval(k,上)(%计算X数据点的拟合

输出值)

hold

plot(x,yl,’*jz,yl,z,y)

gridOnxIabel(位移值(ram)’)

ylabel('输出电压(mV)’)

title(7电容传感器输出特性图’)

运行程序,得最小二乘法拟合直线斜率和截距:6—5.97;n一0.25显示结果见图1。

围1电窨传藤西的实验曲线和拟台I线圈

图中的‘*’为实验数据点,描点法绘制的曲线是根据表1实测数据绘制的特性曲线图,图中用直线则是MATLAB基于最小二乘法原理确定

的拟合直线,省去了用坐标纸绘图的人为误差和手工计算的繁杂的计算工程,节省了工作量,提高了工作效率。3.2灵敏度和线性度传感器的灵敏度定义为在稳态下输出的变化对输入变化的比值,对于线性传感器,它的灵敏度

就是静态特性的斜率,即灵敏度S=y/x=K,K为一常数,非线性传感器的灵敏度为一变量,在实

验数据处理中,一般将拟合直线的斜率作为传感器的灵敏度,由程序运行结果可知拟合直线的斜率b即为传感器的灵敏度,所以灵敏度为

S一5.97mv/mm(1)另一个重要参数是非线性误差,定义为实际

静态特性曲线与拟合直线之间的偏差,即

乱一±上×100%(2)YFS式中工厂最大非线性绝对误差lYre一输出满量程。为了计算非线性误差,必须先求出最大非线性绝对误差和输出满量程,MAmAB提供了强大的数值计算功能,求L也很简单,在上面程序中应用最小二乘法求得了拟合直线方程以及13个位移测试点所对应的拟合输出值,求两者的差并取其中最大值即为最大非线性绝对误差。程序如下:

y3一yl—yL—max(y3)(%计算最大非线性绝对误差)运行程序,得到L一0.81,进而由线性度的定义,可得线性度乱为

乱一±等品×100%一士2.24%(3)工士U.厶2.3迟滞和重复性

传感器在正行程(输入量增大)反行程(输入

量减小)期间输出与输入特性曲线不重合的程度

万方数据MATLAB语言在传感器实验数据处理中的应用67

即为迟滞误差。重复性表示传感器输入量按同一运行程序,得到h的结果为0.6,此为正反行方向作全程多次测试时所得特性曲线的不一致性程度Ⅲ。用MATLAB计算传感器的迟滞和重复

性误差的方法相同,这里只以迟滞误差的计算和曲线绘大差值两组数制为例。为了求得正反行程输出值间的最,我们仍然取表1的实验数据,取正反行程据,应用MATLAB程序为

z一[一3:0.5:3]

yl一[一17.6,一15.一11.5,一7.9,一5.79--2.9,0,2.8,5.8,9.2,11.6,15.8,18.6](%正行程)

y2一[一18.2,一15.6,一11.7,一8.4,一5.8,一2.8,0,2.8,7.0,9.0,12.3,16.1,18.5,](%反行程)

plot(x,yl,z,y2,’*jz,y2)y3=yl—y2h=max(y3)(%计算正反行程最大差值)

hold

gridonxlabel(位移值(ram)。)

ylabel(输出电压(mV)7)

title(,迟滞特性图’)程输出间的最大差值,于是迟滞误差可表示为瓯一±孬h系一±蔫--+o.82%

(4)

至于重复性误差是指多次测量的误差,只需

将多次测量的结果带人上述程序即可求得。

3结束语

MATLAB为实验教学提供了一个良好的工

作平台,运用MATLAB处理传感器实验数据和

绘制实验曲线,特别是用最小二乘法进行曲线拟合.十分方便,应用它既克服了最小二乘法计算量

大等缺点,又使繁琐、枯燥的数值计算变一种简

单、直观的可视化操作过程。从实践效果看,

MATIAB应用于实验数据的处理是适合的,其

应用前景广泛,效果良好。

参考文献:

[1]张永锋,潘颖.MATLAB在物理实验数据处理中的应用EJ].安徽技术师范学院学报,2003.17(3):259—

2矿F…o261.[2]吴祯芸,许碧荣.将MATu也语言引入实验教学

l[J].南平师专学报.2003,22(2):52—53.Z

7≯。[3]HanselrnanD,LittefieldR精通MATLAB5综合辅

/r导与指南I-M].西安:交通大学出版社,2001.d^[4]何道清,张禾.传感器与传感器技术[M].北京:科学出版社.2003.

Abstract:Leastsquaremethodisdoneindataprocessingbymanualwork,whichleadstonumerousda—

taandmanyundesirableerrors.Thediagram-madebyhandwithmoreerrorsandlessprecisionindata

processingofexperiment.Theessaypresentsthemethodtodealwiththedataofsensorexperiments

bythelanguageoftheMATLAB.Asaresultthesensitivity.1inearity,hysteresisandrepeatabilityer—

rorsarecalculated.OneexampleprogrammedbymatlabisintroducedtOexplainthemethod.There—suhsindicatesthatusingMATLABtoprocessexperimentdataissimple,andtheprocessingresults

arebetter.Thismethodisfitforspreadinginexperimentteaching.Keywords:sensorexperiment;MATLAB;data

processing

万方数据