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

📄 dop1.m

📁 GPS software toolbox for GPS receiver development
💻 M
字号:
%                             dop1.m
%  Scope:   This MATLAB macro computes dilution of precision (DOP) quantities
%           when at least three line-of-sight (LOS) unit vectors are specified,
%           by using a direct method.
%  Remark:  When less than four line-of-sight unit vectors are specified
%           the computation is not fully significant, and it is conducted
%           by using a pseudoinverse matrix instead of an inverse matrix.
%  Usage:   dops = dop1(g)
%  Description of parameters:
%           g    - input, line-of-sight unit vectors, each vector is
%                  stored in another row (it should be 3 columns)
%           dops - output, dilution of precision quantities 
%                  dops(1) = geometric dilution of precision (GDOP) 
%                  dops(2) = position dilution of precision (PDOP)
%                  dops(3) = horizontal dilution of precision (HDOP)
%                  dops(4) = vertical dilution of precision (VDOP)
%                  dops(5) = time dilution of precision (TDOP)
%  Last update:  06/07/99
%  Copyright (C) 1996-99 by LL Consulting. All Rights Reserved.

function  dops = dop1(g)

[nrow,ncol] = size(g);
if (ncol ~= 3) | (nrow < 3)
   error('Error -  DOP1 ; check the unit line of sight vectors');
end
unitvec = ones(nrow,1);

h = [g unitvec];                              %  form the matrix  H

%  Determine DOP quantities

if nrow >= 4
   dop = inv(h'* h);
else
   dop = pinv(h'* h);
end

dops(1) = sqrt(dop(1,1) + dop(2,2) + dop(3,3) + dop(4,4));    %  GDOP
dops(2) = sqrt(dop(1,1) + dop(2,2) + dop(3,3));               %  PDOP
dops(3) = sqrt(dop(1,1) + dop(2,2));                          %  HDOP
dops(4) = sqrt(dop(3,3));                                     %  VDOP 
dops(5) = sqrt(dop(4,4));                                     %  TDOP

⌨️ 快捷键说明

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