⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 carrierphase_caluserpose_single.m

📁 差分载波定位
💻 M
字号:
clear all;
close all;
clc;

%导入星历文件
% global navData;
navFile = 'rawdata\1lsu2200.03n';
navData = importNavFile(navFile);

%读取基准站的观测文件
obsFile_Base = 'rawdata\1lsu2212.03o';
fid_Base = fopen(obsFile_Base);
[accuratePos, obsTypeNum_Base] = readObsFileHead(obsFile_Base,fid_Base);
%从基准站的观测文件头里读入基准站的精确坐标
%accuratePos:基准站接收机的精确坐标
%obsTypeNum_Base:基准站观测值类型数量

%读取观测站的观测文件
obsFile_Obs = 'rawdata\1lsu2211.03o';
fid = fopen(obsFile_Obs);
[approxPos, obsTypeNum_Obs] = readObsFileHead(obsFile_Obs,fid); 
%从观测站的观测文件头里读入观测站的概略坐标
%approxPos:观测站接收机的概略坐标
%obsTypeNum_Base:观测站观测值类型数量

for i = 1:100

    [obsInfo_Base,isEnd_Base] = getEpochObsInfo(obsTypeNum_Base,fid_Base);
    
    if isEnd_Base == 1
        break;
    end
    
    [N1_Base,N2_Base]=cal_IntegerAmb(obsInfo_Base);
    
    carrierPhaseCorr = getSatCarrierPhaseCorr(accuratePos,approxPos,obsInfo_Base,navData,N1_Base);
    %得到基准站的载波相位正数,
    
    [obsInfo_Obs,isEnd_Obs] = getEpochObsInfo(obsTypeNum_Obs,fid);
     %读取观测站观测文件中一个历元的信息
     
     if isEnd_Obs == 1
        break;
     end
     
     %计算整周模糊度
     [N1_Obs,N2_Obs]=cal_IntegerAmb(obsInfo_Obs);
     %N1: 载波相位L1的整周模糊度
     %N2: 载波相位L2的整周模糊度
     DT=0;
     for i=1:2
       [t1,x0,y0,z0,DT]=carrierPhase_Diff_calUserPos(approxPos,obsInfo_Obs,DT,navData,N1_Obs,carrierPhaseCorr);
       %approxPos:接收机概略坐标
       %obsInfo:存放观测信息的结构体
       %x0,y0,z0:真实坐标
       %DT:用户钟差
       %t1: 当前观测时刻GPST
       obsInfo.GPST = t1;
       approxPos.X = x0
       approxPos.Y = y0
       approxPos.Z = z0
    end
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -