
 
目录
- avperrset是设置avp误差的函数
 - 使用方法
 - 函数源代码
 - 源代码解析
 
avperrset是设置avp误差的函数
输入为角度误差、速度误差、位置误差。
输出也是角度误差、速度误差、位置误差。
看起来输入和输出都一样,为什么还要这个函数呢?
 那是因为这个函数可以进行维度和数据单位的转换。
使用方法
作者在例程中给出的代码如下:
davp0 = avperrset([0.5;-0.5;20], 0.1, [1;1;3]);
 
函数输入量中:
- [0.5;-0.5;20]是角度误差
 - 0.1是速度误差
 - [1;1;3]是位置误差
输出的davp为一个9维的列向量,如下:

 
这里就涉及到前面说的维度转换和单位转换了:
- 速度误差值输入了0.1这一个值,此函数在检测到以后,将0.1视为三轴的共同误差,所以davp中4~6列都是0.1
 - 位置误差输入的是1,1,3,但前面两个1是指位置误差为1米,avperrset将其换算成经纬度以后,赋值给davp的第七行和第八行了
 
函数源代码
源码很短,如下:
function avperr = avperrset(phi, dvn, dpos)
% avp errors setting.
%
% Prototype: avperr = avperrset(phi, dvn, dpos)
% Inputs: phi - platform misalignment angles. all in arcmin
%         dvn - velocity errors in m/s
%         dpos - position errors dpos=[dlat;dlon;dhgt], all in m
% Output: avperr = [phi; dvn; dpos]
% 
% See also  poserrset, vperrset, avpadderr, imuerrset, avpset, insupdate, avperrstd.
% Copyright(c) 2009-2014, by Gongmin Yan, All rights reserved.
% Northwestern Polytechnical University, Xi An, P.R.China
% 08/03/2014
global glv
    avperr = [rep3(phi)*glv.min; vperrset(dvn,dpos)];
 
源代码解析
上述代码中,只是将角度误差进行处理了,速度误差和位置误差交给了vperrset(字面意思为速度位置的误差设置),再来看一下 
     
      
       
       
         v 
        
       
         p 
        
       
         e 
        
       
         r 
        
       
         r 
        
       
         s 
        
       
         e 
        
       
         t 
        
       
      
        vperrset 
       
      
    vperrset:
 
 这里面对速度误差dvn进行维度检测,如果不足3维,则自动不全。
 对于位置误差,又给poserrset这个函数来算:
 
  
     
      
       
       
         p 
        
       
         o 
        
       
         s 
        
       
         e 
        
       
         r 
        
       
         r 
        
       
         s 
        
       
         e 
        
       
         t 
        
       
      
        poserrset 
       
      
    poserrset这个函数在检测维度的同时,还在第18行进行了米 
     
      
       
       
         → 
        
       
      
        \rightarrow 
       
      
    →经纬度的换算。



















