get_seesate.m
来自「GPS/GALILEO/BEIDOU兼容接收机自主完好性检测程序」· M 代码 · 共 33 行
M
33 行
function [num,k]=get_seesate(xsg,ysg,zsg,xug,yug,zug,flag);
%*********************************
% ** % 得出可见星的编号及个数
% ** flag为系统标志 gps:flag = 1;galileo: flag = 2; beidou:flag = 3
% **********************************
switch flag
case 1
mm = 6;nn = 4;
case 2
mm = 3;nn = 9;
case 3
mm = 1;nn = 2;
end
dx=xsg-xug*ones(mm,nn);
dy=ysg-yug*ones(mm,nn);
dz=zsg-zug*ones(mm,nn);%卫星与用户的向量差
EL=atan(dz./sqrt((dx.^2)+(dy.^2)));%通过反正切求卫星对于用户的仰角
m=EL*360/(2*pi)>7.5*ones(mm,nn);%当仰角大于7.5时.对应6*4矩阵的该元素为1,否则为0
l=1:mm*nn;
l=reshape(l,nn,mm)';%将卫星编号
num=[];
for i=1:mm;
for j=1:nn;
if m(i,j)==1;
num=[num,l(i,j)];
end
end
end
k=length(num);
num=num(1,:);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?