《现代导航测试技术》实验报告实验名称:光纤陀螺随机误差的Allan方差分析法班级:0309103学号:030910309姓名:许莹时间:2012-12-17一:实验目的由于光学陀螺的工作原理和环境干扰等原因,在光学陀螺输出信号中包含很多确定性和随机性的误差项。光学陀螺的随机误差主要包括量化噪声、角速度随机游走、零偏不稳定性】角速率随机游走、速度斜坡和正弦分量,其中前三项误差被认为是其光学性能指标一部分。对于这些随机误差,利用常规的分析方法,例如计算机样本均值和方差并不能揭示潜在的误差源,另一方面,虽然自相关函数和功率谱密度函数分别从时域和频域描述了随机误差的统计特性,但是在实际工作中通过这些函数加以分析将随机误差分离出来是很困难的。Allan方差法是20世纪60年代由美国国家标准局DavidAllan提出的,它是一种基于时域的分析方法,不仅可以用来分析光学陀螺的误差特性,而且还可以应用于其他任何精密测量仪器.Allan方差法的主要特点是能非常容易对各种误差源及其对整个噪声统计特性的贡献进行细致的表征和辨识,而且便于计算,易于分离。它提供了一种识别并量化存在于数据中的不同噪声项。二:实验原理与实验内容1.Allan方差定义与计算设以采样时间0对陀螺仪输出角速率进行采样,共采样N个点,把所获得的N个数据分成K,每组包含M个采样点。K=N/M,M(N-1)/2如图:1,2,…,MM+1,M+2,…,2MN-M+1,N-M+2,…,NK=1k=2k=K每一组的持续时间M=M0,称之为相关时间,每一组的平均值为k(M)=(1)11MkMiiMk=1,2,3,…,KAllan方差定义为:221211111()(()())(()())22(1)KkkkkAMkMMMMk2.Allan方差法最大的优点是可以简便细化分离、辨识光学陀螺的各项误差,同时确定各个误差项对总误差的贡献。估计方差时,与实验所用的陀螺仪类型和数据类型获取的环境有关,实验数据中可能存在各种成分的随机噪声。若各项噪声是统计独立的,则Allan方差可以表示成各类误差的平方和,如:22222222()()()()()()()()totalNarwbrrwrrMS观察之后发现除去正弦噪声含有正弦分量外,其他都可以表示为22A(n=-2,-1,0,1,2)。因此上式可以简化为:222222()()AtotalnnA由于方差一般较小,拟合标准差则可以提高拟合精度,上式可以近似为:2/22()AnnnA其中=m0,0为采样时间在最小均方意义上,拟合函数()A可以求出An,再通过以下计算可以得到量化误差Q,角度随机游走N,零偏不稳定性B,角速率随机游走K和速率斜坡R的估计值,为R=A23600*sqrt(2);K=A160*sqrt(3);B=A00.6643;N=A-10;Q=A-2qrt(3);三:实验过程(解算和数据拟合)1.选取数据文件:从计算机得到的数据文件中抽取一部分,数据特点是除陀螺仪绕Z轴输出变化以外都比较稳定,可以由Origin软件的图表显示。如图:020004000600080001000012000-10-8-6-4-202BBAOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8Evaluation020004000600080001000012000-60-40-200204060CCAOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8Evaluation020004000600080001000012000-60-40-200204060DDAOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8Evaluation020004000600080001000012000-12-10-8-6-4-2024681012EEAOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8Evaluation020004000600080001000012000-10-8-6-4-202FFAOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8Evaluation020004000600080001000012000-10-8-6-4-20246810GGAOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8Evaluation0200040006000800010000120000HHAOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8Evaluation02468100246810%(1)YAxisTitleXAxisTitleOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8Evaluation选取其中一部分之后得到的z轴角速率输出曲线(50到-50之间变化)020004000600080001000012000-60-40-200204060DADOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8EvaluationOriginPro8Evaluation2.源程序A.将取得的数据分为5组,得到不同的总采样时间,再有Allan方差公式得到不同的方差,通过列出五个方程的方程组解出五个系数值。程序为:%dynamictestaboutz-rotate%byallanvarianceanalysisclearclcformatlonge[t,w_x,w_y,w_z,a_x,a_y,a_z,b]=textread('E:\allan\z-rotate.txt');N=size(t,1);sigma_squa=zeros(5,1);w=zeros(5,5);M=[floor(N/5),floor(N/4),floor(N/3),floor(N/2),N];k=[5,4,3,2,1];forj=1:5m=M(1,j)g=N/mfork=1:gsum=0fori=1:msum=sum+w_y((k-1)*m+i,1)aver=sum/mendw(j,k)=averendfori=1:5forj=1:(g-1)temp=0temp=temp+(w(i,j+1)-w(i,j))^2sigma_squa(i,1)=temp/(2*g-2)endendendsigma=sqrt(sigma_squa)theta=0.02*M;p=[theta(1,1)^-1,theta(1,2)^-1,theta(1,3)^-1,theta(1,4)^-1,theta(1,5)^-1theta(1,1)^-0.5,theta(1,2)^-0.5,theta(1,3)^-0.5,theta(1,4)^-0.5,theta(1,5)^-0.511111theta(1,1)^-0.5,theta(1,2)^-0.5,theta(1,3)^-0.5,theta(1,4)^-0.5,theta(1,5)^-0.5theta(1,1)^1,theta(1,2)^1,theta(1,3)^1,theta(1,4)^1,theta(1,5)^1]if(rank(p)5)h=pinv(p);elseh=pinv(p)A=abs(sigma'*h)R=A(5)*3600*sqrt(2)K=A(4)*60*sqrt(3)B=A(3)/0.6643N=A(2)/60Q=A(1)/sqrt(3)xishu1=[QNBKR]'x=0:0.1:6.40y=A(1,1)*x.^-1+A(1,2)*x.^-0.5+A(1,3)+A(1,4)*x.^0.5+A(1,5)*xplot(x,y,'