?? refraction_delay.cpp
字號:
#include "refraction_delay.h"
#include "math.h"
#include "GetPosition.h"
double GetTropDelay (PCRDCARTESIAN pcrdSite,PCRDCARTESIAN pcrdSat)
//返回值:對流層延遲量
//pcrdSite:測站坐標
//pcrdSat:衛(wèi)星坐標
{
CRDGEODETIC crdSite;
CartesianToGeodetic (&crdSite, pcrdSite,a,flattening);// 笛卡爾坐標 大地坐標 (測站)
double H=crdSite.height;
CRDTOPOCENTRIC pct;
CartesianToTopocentric (&pct,pcrdSat,pcrdSite,a,flattening);// 笛卡爾坐標 站心地平坐標 (衛(wèi)星)
CRDTOPOCENTRICPOLAR site;
TopocentricToTopocentricPolar (&site,&pct);
double E=site.elevation;
double delta=0;
if(fabs(H)<40000) // 40000米高度以下考慮對流層延遲
{
double T=T0-0.0065*(H-H0)+273.16;
double P=P0*pow((1-0.0000226*(H-H0)),5.225);
double RH=RH0*exp(-0.0006396*(H-H0));
double e=RH*exp(-37.2465+0.213166*T-0.000256908*T*T);
double hw=11000;
double hd=40136+148.72*(T-273.16);
double Kw=(155.2e-7*4810*e*(hw-H))/(T*T);
double Kd=(155.2e-7*P*(hd-H))/T;
delta=Kd/(sin(sqrt(E*E+6.25)))+Kw/(sin(sqrt(E*E+2.25)));
}
else
delta=0;
return delta;
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -