学堂 学堂 学堂公众号手机端

【物理应用】GPS信号捕获跟踪附MATLAB代码(积分物理应用)

lewis 6年前 (2019-09-07) 阅读数 6 #技术
1 内容介绍

在过去的几年里,紧凑型无线电导航接收器在民用市场上激增,通常以 GPS 或全球定位系统的名义出现。这些商业应用以手持设备的形式出现或内置于汽车、手机和飞机中,起源于冷战时期的军事应用。 GPS 是一个全球无线电导航系统,由 24 颗卫星组成,每颗卫星在地球上空 11,000 海里的轨道上,以及确保卫星正常工作的五个地面站。 GPS 卫星每颗绕地球运行需要 12 个小时。每颗 GPS 卫星以 50 比特/秒的速度连续广播一条导航消息,给出时间、GPS 周数和卫星健康信息(均在消息的第一部分传输)、星历表(在消息的第二部分传输)信息)和年历(信息的后半部分)。 GPS接收器计算位置需要当前时间、卫星位置和接收信号的测量延迟,然后使用三角测量规则确定接收器的位置。 GPS 误差的主要来源是大气效应(电离层、对流层)、卫星时钟误差、多径效应、卫星轨道误差和计算舍入误差。 GPS系统的误差总结在下表中。各个值不是恒定值,而是会发生变化。所有数字均为近似值 [1]:

Table1. Errors of GPS

Error Source


Error

Ionospheric effects

± 5 meter

Shifts in the satellite orbits

± 2.5 meter

Clock errors of the satellites' clocks

± 2 meter

Multipath effect

± 1 meter

Tropospheric effects

± 0.5 meter

Calculation- und rounding errors

± 1 meter

2 部分代码

%This Function use Ephemeris Data and Calculate satellite Position

%CopyRight By Moein Mehrtash

%************************************************************************** *

%**************************************************************************

%**************************************************************************

% Satellite Position By Ephemeris Model

%Function's Inputs:

%Pos_SV(m):Satellite Position Matrix

%Pos_Rcv(m):GPS reciever Position

%Rho(m):Pseudo Range


%Function's Outputs:

%G:

%Delta_X:

%Pos_RCV_N:

%B:







%**************************************************************************

%**************************************************************************


function [G,Delta_X,Pos_Rcv_n,B]=Gen_G_DX_XYZ_B(Pos_SV,Pos_Rcv,Rho);

[m,n]=size(Pos_SV);

d=Distance(Pos_SV,Pos_Rcv);


for i=1:m

dif=Pos_SV(i,:)-Pos_Rcv;

unit=dif./d(i);

for j=1:n

Unit_Mtrix(i,j)=unit(j);

end

end

G=[-Unit_Mtrix ones(m,1)];

Delta_Rho=(Rho-d');

Delta_X=inv(G'*G)*G'*Delta_Rho;

Pos_Rcv_n=(Pos_Rcv'+Delta_X(1:3))';

B=Delta_X(4);

3 运行结果

4 参考文献

[1]刘洋洋, Liu Yang-yang. 基于Matlab的GPS信号捕获与跟踪[C]// 第六届中国卫星导航学术年会. 中国卫星导航系统管理办公室学术交流中心, 2015.

部分理论引用网络文献,若有侵权联系博主删除。


版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门