• 大小: 147KB
    文件类型: .zip
    金币: 2
    下载: 2 次
    发布日期: 2021-05-28
  • 语言: Matlab
  • 标签: matlab  卫星定轨  

资源简介

matlab代码,卡尔曼滤波,伪距单点定位,精度1-2米

资源截图

代码片段和文件信息

% 函数功能说明:读取IGS精密星历数据子函数freadnfile.m

function [igsdata]=freadnfile(nfilename);

% 打开IGS精密星历文件
[fidnmessage]=fopen(nfilename‘rt‘);
fidn;

% 开始读取IGS精密星历文件的内容
disp(‘开始读取卫星星历表头文件的内容‘);
linen=fgetl(fidn);

block=str2num(linen(33:39));%历元个数

linen=fgetl(fidn);
linen=fgetl(fidn);

sumsv=str2num(linen(5:6));%卫星个数
    
while (feof(fidn)~=1)    
    linen=fgetl(fidn);    
    [rowcolumn]=size(linen);
    
    %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    % 获取表头文件的结尾的指针位置sitefidn
    if (linen(1)==‘*‘)
%          if ((column<=3)&(linen(1:2)==‘/*‘))
        sitefidn=ftell(fidn);    % sitefidn为文件表头结束指针位置  
        disp(‘读取卫星星历表头文件完毕‘);
        break;
    end 
    %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
end

igsdata=zeros(block5sumsv);  %%block为卫星在此数据时段中出现的历元数,sumsv为卫星总数,5为卫星PRN编号(1个)、卫星坐标(3个)和卫星钟差(1个)共5个参数

for b=1:block     
    for cen=1:sumsv
        linen=fgetl(fidn);
        igsdata(b1cen)=str2num(linen(3:4)); %%卫星PRN编号
        igsdata(b2cen)=1000*str2num(linen(6:18)); 
        igsdata(b3cen)=1000*str2num(linen(20:32));
        igsdata(b4cen)=1000*str2num(linen(34:46));
        igsdata(b5cen)=str2num(linen(48:60)); 
    end
    linen=fgetl(fidn);
end

igsdata;
        
% 关闭文件
fclose(fidn);
















 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件       31704  2015-05-14 15:13  单点定位\X.xls
     文件        1501  2015-05-14 11:06  单点定位\freadnfile.m
     文件         399  2015-05-13 15:49  单点定位\fsvposion.m
     文件      251250  2014-05-05 14:16  单点定位\igs17761.sp3
     文件        6482  2015-05-14 15:12  单点定位\kalman.m
     文件      146618  2015-05-13 18:48  单点定位\monp0200.14o
     目录           0  2015-05-18 09:15  单点定位\

评论

共有 条评论