资源简介

原始数据为严恭敏老师stim300。此程序利用Allan方差求解陀螺五个系数,速率斜坡系数(K速率随机游走系数,B零偏稳定性,N角度随机游走系数,Q量化噪声系数)

资源截图

代码片段和文件信息

function [sigma tau Err] = avar(y0 tau0)
% Calculate Allan variance.
%
% Prototype: [sigma tau Err] = avar(y0 tau0)
% Inputs: y - data (gyro in deg/hur; acc in g)
%         tau0 - sampling interval
% Outputs: sigma - Allan variance
%          tau - Allan variance correlated time
%          Err - Allan variance error boundary

data = load(‘stim300.txt‘);
y0 = data(:1:3);
tau0 = 0.01;
    N = length(y0);
    y = y0; NL = N;
    for k = 1:log2(N)
        sigma(k1) = sqrt(1/(2*(NL-1))*sum((y(2:NL)-y(1:NL-1)).^2)); % diff&std
        tau(k1) = 2^(k-1)*tau0;      % correlated time 相关时间
        Err(k1) = 1/sqrt(2*(NL-1));  % error boundary
        NL = floor(NL/2);             %floor(X)四舍五入X
        if NL<3
            break;
        end
        y = 1/2*(y(1:2:2*NL) + y(2:2:2*NL));  % mean & half data length
    end
    figure;
    subplot(211)
    plot(tau0*(1:N)‘ y0); grid
    subplot(212)
    loglog(tau sigma ‘-+‘ tau [sigma.*(1+Err)sigma.*(1-Err)] ‘r--‘); grid
    
    p0 = [1 1 1 1 1];
    p = lsqcurvefit(@myfunp0tau(k1)sigma(k1));
    q = sqrt(abs(p));
    R = q(1)*sqrt(2);%速率斜坡系数
    K = q(2)*sqrt(3);%速率随机游走系数
    B = q(3)*(2/3);%零偏稳定性
    N = q(4);%角度随机游走系数
    Q = q(5)/sqrt(3);%量化噪声系数
    xishu = [R K B N Q]‘

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1334  2018-09-02 09:53  avar.m

     文件         92  2018-09-02 09:56  myfun.m

     文件        147  2018-06-18 21:51  stim300\readme.txt

     文件   63130766  2014-10-31 20:20  stim300\stim300.txt

     目录          0  2018-07-09 09:16  stim300

----------- ---------  ---------- -----  ----

             63132339                    5


评论

共有 条评论