資源簡介
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
- 上一篇:51單片機電子門鈴設計
- 下一篇:《匯編語言源代碼大全》
評論
共有 條評論