• 大小: 241KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-17
  • 语言: 其他
  • 标签: GPS  

资源简介

GPS卫星单点定位程序-利用伪距-精度在10m左右

资源截图

代码片段和文件信息

#include
#include
#include
#include
#include
#include
#include“mystruct.h“
#include“readNfile.h“
#include“matrix.h“
//以下矩阵要用------------------
using namespace std;           //
#ifndef _NO_NAMESPACE          //
using namespace math;          //
#define STD std                //
#else                          //
#define STD                    //
#endif                         //
                               //
#ifndef _NO_TEMPLATE           //
typedef matrix Matrix; // 
#else                          //
typedef matrix Matrix;         // 
#endif//-------------------------
time_gps GregToGps(time_calendar tc);//声明时间转换
//////////////////////--------------主函数开始-----------------
int main()
{
//----------------------Read N File---------------------------------
    vector vn;
readNfile(vn);
cout<<“N文件循环vn.size=“<    cout<<“-------------n file is ok-----------“<//----------------------Read O File----------------------------------
    vector v;double apxapyapz;
readOfile(vapxapyapz);
cout<<“v.size=“<    cout<<“-------------o file is ok-----------“<//------------------------开始计算-------------------------------    
double const pi=3.1415926535898;
double const c=2.99792458e8;//光速
int poskepc=0j=0;//posk最近信息位置,epc=第epc历元
double tstr;//tr卫星信号接收时刻ts发射时刻
ofstream outfile(“各个历元坐标.txt“ios::out);
ofstream outfile1(“卫星坐标.txt“ios::out);
cout<sta_polar sp;//(xyz)坐标借用sta_polar结构的
vector sps;

Matrix deltx(41);

deltx(30)=0;//卫星钟差
double sumx=0sumy=0sumz=0exeyez;
for(epc=0;epc{       Matrix P(v[epc].num_satv[epc].num_sat);//权
        Matrix dT(v[epc].num_sat1);//卫星种差
        Matrix x0(41)x1(41)Xx(41);//迭代要用的
        x1(00)=0;x1(10)=0;x1(20)=0;x1(30)=0;//初始化为地心坐标        
tr=v[epc].gps_sat.num_sec;//第epc历元的观测时刻的秒

sps.clear();//清空容器,不然会一直存上一历元的卫星坐标
double dt0=0dt1=0;
//sumx=0;sumy=0;sumz=0;

  do
  {
          dt0=dt1;
  tr+=dt0;//接收机种差改正
   
   for(j=0;j    {                            //[epc].num_sat指本历元的卫星个数            // 
 double t0=tr-0.075;//初始化
 double tkmin;
     for(int k=0;k  {
     if(vn[k].PRN==v[epc].array_sat[j].sat_num)                      //
 { tk=fabs(t0-vn[k].TOE.num_sec);min=tk;posk=k;    
           break;                                                    //
 }
 }
     for(k=0;k  {
    if(vn[k].PRN==v[epc].array_sat[j].sat_num)
{
   tk=fabs(t0-vn[k].TOE.num_sec);                              //  
        if(tk {
   min=tk;posk=k;
}//获得间隔最小的卫星的位置   

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      27220  2002-05-26 15:45  单点定位程序\matrix.h

     文件       4631  2007-10-28 18:07  单点定位程序\readfiles.dsp

     文件       2552  2007-11-22 19:37  单点定位程序\sat_pos.cpp

     文件     140288  2007-12-06 18:47  单点定位程序\readfiles.ncb

     文件       2374  2007-12-06 18:47  单点定位程序\readfiles.plg

     文件        183  2007-10-28 21:18  单点定位程序\readNfile.h

     文件       5390  2007-10-30 21:22  单点定位程序\myStruct.h

     文件       8404  2007-11-16 20:11  单点定位程序\test.02n.bak

     文件       8397  2007-11-16 20:12  单点定位程序\test.02n

     文件        543  2007-11-22 19:11  单点定位程序\readfiles.dsw

     文件     134070  2006-11-02 22:28  单点定位程序\test.02o.bak

     文件     134068  2007-11-22 19:21  单点定位程序\test.02o

     文件       6879  2007-12-06 18:43  单点定位程序\jjj.cpp

     文件       4038  2007-12-06 18:44  单点定位程序\readNfile.cpp

     文件       5013  2007-12-06 18:44  单点定位程序\readOfile.cpp

     文件      54784  2007-12-06 18:47  单点定位程序\readfiles.opt

     文件     712816  2007-12-06 18:47  单点定位程序\单点定位程序.exe

     目录          0  2007-12-06 17:26  单点定位程序\Debug

     目录          0  2007-12-06 17:26  单点定位程序

----------- ---------  ---------- -----  ----

              1251650                    19


评论

共有 条评论