各种不同几何形状布局布阵下的GDOP相对值图matlab仿真

376 阅读4分钟

1.算法描述

        全球四大导航卫星系统包括:美国GPS、俄罗斯GLONASS(格洛纳斯)、中国北斗和欧洲Galileo(伽利略)卫星系统。四大卫星定位系统靠卫星自身可以达到米级的定位,要实现更精准的定位就需要地面基准站的辅助了。通过购买千寻位置、中国移动、六分科技等企业的RTK(Real-Time Kinematic 实时动态载波相位差分)账号或者CORS账号(Continuously Operating Reference Stations 连续运行定位服务参考站)可以实现厘米级别的定位。

 

GDOP((Geometric Dilution of Precision)几何精度因子,是衡量GNSS(Global Navigation Satellite System)全球导航卫星系统定位精度的指标。其分量包括:

 

PDOP( position dilution of precision ) 三维精度因子;

 

HDOP(horizontal dilution of precision) 水平精度因子;

 

VDOP(vertical dilution of precision)垂直几何精度因子;

 

TDOP(time dilution of precision)时间精度因子;

 

       对于经常要使用RTK的测量人来说,掌握一些使用过程中经常用到的专业术语是很有必要的,比如GDOP、差分测量、静态定位等等,了解这些有助于更加熟练地使用RTK,从而高效地进行测量作业。GDOP(Geometric dilution of precision)几何精度因子:包括经度,纬度,高程和时间等因子,称为几何精度因子。

 

1.png

2.png

3.png

2.仿真效果预览

matlab2022a仿真结果如下:

4.png

5.png

6.png

7.png

8.png

3.MATLAB核心程序

`%布阵方式

clc;

clear;

close all;

warning off;

addpath(genpath(pwd));

%%(1)直线形布站

s(:,:,1) = [-90 -60 -30 0 30 60 90;...

    0 0 0 0 0 0 0]*1e3;

%%(2)楔形布站

s(:,:,2) = [-45 -30 -15 0 15 30 45;...

    -90cos(pi/6) -60cos(pi/6) -30cos(pi/6) 0 -30cos(pi/6) -60cos(pi/6) -90cos(pi/6)]*1e3;

%%(3)工字形布站

s(:,:,3) = [-30 0 30 0 -30 0 30;...

    30 30 30 0 -30 -30 -30]*1e3;

%%(4)梯形布站

s(:,:,4) = [-30 0 30 -45 -15 15 45;...

    0 0 0 -30cos(pi/6) -30cos(pi/6) -30cos(pi/6) -30cos(pi/6)]*1e3;

%%(5)圆形布站

r = 3.45714e4;

theta0=2*pi/7;

for i = 1:7%七部

    s(:,i,5)=[rcos(theta0i);rsin(theta0i)];

end

%%(6)十字形布站

s(:,:,6) = [-60 -30 0 30 60 0 0;...

    0 0 0 0 0 30 -30]*1e3;

index_s = 2;%步战形式编号

 

sd_angle = 2*pi/180;    %方位角标准差

sd_zhanzhi = 10;       %站址标准差

Qa = eye(size(s,2))*(sd_angle)^2;   %方位角方差

% Qb = eye(size(s,2)*2)*sd_zhanzhi^2;  

x = -400e3:10e3:400e3; y = -400e3:10e3:400e3;

for i = 1:81

    for j=1:81

        u = [x(i);y(j)];

                [rms1(j,i), ~] = crlb_AOA(u,s(:,:,index_s),Qa);%仅有测角误差时的CRLB的绝对值

                rms2(j,i) = rms1(j,i)/norm(u);

%         [rms1(j,i), ~] = crlb_AOA(u,s(:,:,index_s),Qa,Qb);

%         rms2(j,i) = rms1(j,i)/norm(u);

        %         diff_rms(j,i) = crlb_AOA1(u,s(:,:,1),Qa,Qb);

    end

end

figure(1)

switch index_s

    case 1

        title('直线形布阵时的GDOP图');

        Q=[5 10 20 30 50 70 90 120 300];   %等位线标识数值

    case 2

        title('楔形布阵时的GDOP图');

        Q=[5 10 20 30 50 70 90 120 300];

    case 3

        title('工字形布阵时的GDOP图');

        Q=[5 10 20 30 50 70 90 120 300];

    case 4

        title('梯形布阵时的GDOP图');

        Q=[5 10 20 30 50 70 90 120 300];

    case 5

%         title('不存在平台导航误差且圆形布阵时的GDOP图');

%         Q=[1 3 5 7 9 12 15 17];

        title('圆形布阵时的GDOP图');

        Q=[5 10 20 30 50 70 90 120 300];        

    case 6

        title('十字形布阵时的GDOP图');

        Q=[5 10 20 30 50 70 90 120 300];

end

hold on;

[c,handle]=contour(x1e-3,y1e-3,rms1*1e-3,Q);

clabel(c,handle);hold on;  %等位线标识

plot(s(1,:,index_s)*1e-3,s(2,:,index_s)*1e-3,'rd')

xlabel('x/km'); ylabel('y/km');

 

figure(2)

switch index_s

    case 1

        title('直线形布阵时的GDOP相对值图');

        Q=[0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.12 0.15 0.17 0.2 0.3 0.5];

    case 2

        title('楔形布阵时的GDOP相对值图');

        Q=[0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.12 0.15 0.17 0.2 0.3 0.5];

    case 3

        title('工字形布阵时的GDOP相对值图');

        Q=[0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.12 0.15 0.17 0.2 0.3 0.5];

    case 4

        title('梯形布阵时的GDOP相对值图');

        Q=[0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.12 0.15 0.17 0.2 0.3 0.5];

    case 5

%         title('不存在平台导航误差且圆形布阵时的GDOP相对值图');

%         Q=[0.005 0.01 0.018 0.025 0.045];

        title('圆形布阵时的GDOP相对值图');

        Q=[0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.12 0.15 0.17 0.2 0.3 0.5];

    case 6

        title('十字形布阵时的GDOP相对值图');

        Q=[0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.12 0.15 0.17 0.2 0.3 0.5];

end

hold on;[c,handle]=contour(x1e-3,y1e-3,rms2,Q);

clabel(c,handle);hold on;

plot(s(1,:,index_s)*1e-3,s(2,:,index_s)*1e-3,'rd')

xlabel('x/km'); ylabel('y/km');

A74`