资源简介

用MATLAB编写求解伪距定位方程的程序,对实际数据进行处理,解算出接收机的位置及钟差信息。提供8个通道的两组数据如下,X, Y, Z 为WGS-84坐标系下各通道所跟踪卫星的坐标,Range为与之对应的校正后的伪距测量值。

资源截图

代码片段和文件信息

%伪距测量模拟函数CalculatePseudoRange
function Range=CalculatePseudoRange(SatellitePositionUserPosition) %计算机模拟伪距测量
c=3e8; %光速,单位:m/s;
DeltaT=1e-4; %钟差为1e-4 数量级秒,假设卫星钟间时钟一致,DeltaT=Tu-Ts;钟差不宜超过3e-4,否则不收敛;
VisSatNum=0;
%首先找出可以观测到的卫星数量
SatellitePosNew=[];
for k=1:24
    if SatellitePosition(k4)==1
        VisSatNum=VisSatNum+1;
        SatellitePosNew=[SatellitePosNew; SatellitePosition(k1:3)];
    end 
end 
Range=ones(1VisSatNum);
%求解用户接收机收到的伪距信息
for n=1:VisSatNum
    Range(1n)=sqrt( (SatellitePosNew(n:)-UserPosition) *(SatellitePosNew(n:)-UserPosition)‘ + c*DeltaT );
end

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件         677  2014-02-23 14:01  calculateuserposition\CalculatePseudoRange.m
     文件        2302  2014-02-23 14:01  calculateuserposition\CalculateUserPosition.m
     文件        1077  2014-02-23 13:51  calculateuserposition\main.m
     文件        1066  2014-02-23 13:51  calculateuserposition\main2.m

评论

共有 条评论