⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 damp3params.m

📁 GPS导航系统的matlab程序(精度很高哦)
💻 M
字号:
function [Phi,Q,P] = DAMP3Params(SigmaAcc,SigmaVel,SigmaPos,TauAcc,DeltaT);
%
% Computes parameters of the DAMP3 stochastic model, given desired values:
%
%   SigmaAcc  = RMS acceleration
%   SigmaVel  = RMS velocity
%   SigmaPos  = RMS position variation
%   TauAcc    = correlation time-constant of accelerations
%   DeltaT    = discrete time interval
%
% OUTPUTS   = Parameters of discrete-time model
%   Phi     = State transition matrix
%   Q       = Process noise covariance
%   P       = Steady-state covaraince matrix of state uncertainty
P(1,1)      = SigmaPos^2;
P(2,2)      = SigmaVel^2;
P(3,3)      = SigmaAcc^2;
TauVel      = (P(2,2) + sqrt(P(2,2)^2 + 4*P(3,3)*TauAcc^2*P(2,2)))/2/P(3,3)/TauAcc;
P(2,3)      = P(2,2)/TauVel;
% [p11 * tau(vel) * tau(acc) p11 * (tau(acc) + tau(vel)) -p22 * tau(vel) * tau(acc) + p11 -tau(vel) * (p23 * tau(acc) + p22)];
c3          = -TauVel*(P(2,3)*TauAcc + P(2,2));
c2          = -P(2,2)*TauVel*TauAcc + P(1,1);
c1          = P(1,1)*(TauAcc + TauVel);
c0          = P(1,1)*TauVel*TauAcc;
TauPosPoly  = [c3,c2,c1,c0];
TauPosRoots = roots(TauPosPoly);
TauPos      = max(TauPosRoots);
P(1,2)      = P(1,1)/TauPos;
P(1,3)      = P(2,3)*TauPos*TauAcc/(TauAcc + TauPos);
P(2,1)      = P(1,2);
P(3,1)      = P(1,3);
P(3,2)      = P(2,3);
Peigs       = eig(P);
if min(Peigs)<=0 error('DAM3Params failed: nonpositive definite solution for P');end;
F           = [-1/TauPos, 1, 0; 0, -1/TauVel, 1; 0, 0, -1/TauAcc];
Phi         = expm(DeltaT*F);
Q           = P - Phi*P*Phi';

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -