实验07(光纤传感器的位移测量及数值误差分析实验)实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告:实验07

(光纤传感器的位移测量及数值误差分析实验)

实验一:光纤传感器位移特性实验

一、实验目的:了解光纤位移传感器的工作原理和性能,测量其静态特性实验数据。学会

对实验测量数据进行误差分析。

二、基本原理:本实验采用的是传光型光纤,它由两束光纤混合后,组成Y 型光纤,半园

分布即双D 分布,一束光纤端部与光源相接发射光束,另一束端部与光电转换器相接接收光束。两光束混合后的端部是工作端亦称探头,它与被测体相距X,由光源发出的光纤传到端部出射后再经被测体反射回来,另一束光纤接收光信号由光电转换器转换成电量,而光电转换器转换的电量大小与间距X 有关,因此可用于测量位移。

三、器件与单元:主机箱、光纤传感器、光纤传感器实验模板、测微头、反射面。

四、实验数据:

实验数据记录如下所示:

表1光纤位移传感器输出电压与位移数据

实验二:随机误差的概率分布与数据处理

1.利用Matlab语句(或C语言),计算算术平均值和标准差(用贝塞尔公式)

clc; clear;

l=[20.42 20.43 20.40 20.43 20.42 20.43 20.39 20.30 20.40 20.43 20.42 20.41 20.39 20.39 20.40];%例2-22数据

v0=l-mean(l)%残差列

M1=mean(l)%算术平均值

M2=std(l)%标准差

计算结果

数据分布

2.利用Matlab语句(或C语言),用残余误差校核法判断测量列是否存在线性和周期性

系统误差

%残余误差校核法校核线性系统误差

N=length(l)%原数组长度

if(mod(N,2))%求数组半长

K=(N+1)/2

else

K=(N)/2

end

A1=0;

delta=0;%delta=A1-A2

for i=1:K;%计算前半部分残差和

A1=A1+v0(i);

end

A2=0;

for j=K+1:N;%计算后半部分残差和

A2=A2+v0(j);

end

A1;

A2;

fprintf('Delta校核结果\n');

delta=A1-A2%校核结果

%阿贝-赫梅特准则校核周期性系统误差

u=0

for i=1:N-1;

u=u+v0(i)*v0(i+1);

end

u=abs(u)

if((u-sqrt(N-1)*M30)>0)

fprintf('存在周期性系统误差\n');

else

fprintf('未发现周期性系统误差\n');

end

运行结果

可见delta近似于0,由马利克夫准则可知,此案例中应用的残余误差校核法无法确定是否存在系统误差。

3.用不同公式计算标准差后通过比较判断测量数据有无系统误差

%不同公式计算标准差比较法

sigema1=0;

sigema2=0;

u=0;

for i=1:N %贝塞尔公式

sigema1=sigema1+v0(i)^2;

end

sigema1=sqrt(sigema1/(N-1))

for i=1:N %别捷尔斯公式

sigema2=sigema2+abs(v0(i));

end

sigema2=1.253*sigema2/sqrt(N*(N-1))

u=sigema2/sigema1-1

if(abs(u)>=(2/sqrt(N-1)))

fprintf('怀疑测量列中存在系统误差\n');

else

fprintf('不确定测量列中是否存在系统误差\n');

end

运行结果

4.利用Matlab语句(或C语言),用罗曼诺夫斯基准则和格罗布斯准则判别有无粗大误

%罗曼诺夫斯基法则判断是否存在粗大误差

j=1;%以下开始去除粗大误差

for i=1:N

if(i==8)

i=i+1;

continue

else

l1(j)=l(i);

j=j+1;

end

end

N1=length(l1);

v1=l-mean(l1);%去除粗大误差数据后的残差列

Averagae_lmnfsj=mean(l1);%去除粗大误差数据后的算术平均值

Standard_lmnfsj=0;

for i=1:N1

Standard_lmnfsj=Standard_lmnfsj+v1(i)^2;

end

Standard_lmnfsj=sqrt(Standard_lmnfsj/(N1-1));%去除粗大误差数据后的标准差

if((abs(l(8)-Averagae_lmnfsj)-2.24*Standard_lmnfsj)>0)

fprintf('测量列中存在粗大误差,第8项数据存在粗大误差\n');

else

fprintf('测量列中不存在粗大误差\n');

end

运行结果

%格布罗斯法则判断是否存在粗大误差

l1=sort(l);

N=length(l);

Average_gbls=mean(l);

Standard_gbls=0;

for i=1:N

Standard_gbls=Standard_gbls+v0(i)^2;

end

Standard_gbls=sqrt(Standard_gbls/(N-1));%未去除粗大误差数据的标准差%检查g1

g1=(Average_gbls-l1(1))/Standard_gbls;%g(1)

%检查gn

gn=(l1(N)-Average_gbls)/Standard_gbls;%g(n)

if(g1>=2.41)

fprintf('第一项测量值含有粗大误差\n');

fprintf('现在去除该项,重新计算\n');

else

if(gn>=2.41)

fprintf('最后一项测量值含有粗大误差\n');

fprintf('现在去除该项,重新计算\n');

else

fprintf('测量值不含有粗大误差\n');

end

end

%去除含有粗大误差的数据后重新计算

l20=sort(l);

j=1;%以下开始去除粗大误差

for i=2:N

l2(j)=l20(i);

j=j+1;

end

v2=l2-mean(l2);

N2=length(l2);

Average_gbls=mean(l2);

Standard_gbls=0;

for i=1:N2

Standard_gbls=Standard_gbls+v0(i)^2;

end

Standard_gbls=sqrt(Standard_gbls/(N2-1));%去除粗大误差数据的标准差%检查g1

g1=(Average_gbls-l2(1))/Standard_gbls;%g(1)

%检查gn

相关文档
最新文档