• 大小: 2KB
    文件类型: .m
    金币: 2
    下载: 1 次
    发布日期: 2021-06-15
  • 语言: Matlab
  • 标签: GDOP  

资源简介

很好用的时差定位GDOP仿真程序,适合初学者使用。

资源截图

代码片段和文件信息

%双站交叉定位误差展示程序
function[PM]=DOA(X1Y1e1X2Y2e2XdRTVt)
%% 设置观测站分布
%主站位于坐标原点,单位:km
x1=10;
y1=10;

x2=-10;
y2=10;


XI=[x1x2];
YI=[y1y2];

%产生观测数据
%假设被定位对象匀速地从A点(dx1dy1)运动到B点(dx2dy2),单位:km
%使用速度输入V(km/h),则dx2=V*t,t为观测时长(h)
%dy1=dy2=R,目标距离
%假设采样时间间隔为1h

Px=[Xd:V*T:V*t]‘;
[nd]=size(Px);
Py=ones(n1);
Py=Py*R;
P(:1)=Px;
P(:2)=Py;

%根据观测误差水平,生成各个观测位置的观测值(含误差)
for i=1:n
    %第一站方位角
    a1(i)=atand((Py(i)-y1)/(Px(i)-x1));
    if a1(i)<0
       a1(i)=180-abs(a1(i));
    end
    %第二站方位角
    a2(i)=atand((Py(i)-y2)/(Px(i)-x2));
    if a2(i)<0
       a2(i)=180-abs(a2(i));
    end
    %求定位模糊区半径
    r1(i)=R/sind(a1(i));%第一站目标距离
    R1(i)=sind(e1)*r1(i);%第一站误差半径 
    r2(i)=R/sind(a2(i));%第二站目标距离
    R2(i)=sind(e2)*r2(i);%第二站误差半径 
   
    if R1(i)>R2(i)
       Re(i)=R2(i);
    else
       Re(i)=R1(i);

评论

共有 条评论