SGP4 should work fine

feature/19
Daniel Warner 2011-03-27 14:36:48 +01:00
parent ef2f9c5a9e
commit 7672ce2b56
2 changed files with 11 additions and 5 deletions

View File

@ -247,15 +247,15 @@ void SGDP4::FindPosition(double tsince) {
} else { } else {
double xmp = xmdf; double xmp = xmdf;
if (!i_use_simple_model_) { if (!i_use_simple_model_) {
double delomg = omgcof_ * tsince; double delomg = i_omgcof_ * tsince;
double delm = xmcof_ * (pow(1.0 + i_eta_ * cos(xmdf), 3.0) - delmo_); double delm = i_xmcof_ * (pow(1.0 + i_eta_ * cos(xmdf), 3.0) - i_delmo_);
double temp1 = delomg + delm; double temp1 = delomg + delm;
xmp = xmdf + temp1; xmp = xmdf + temp1;
tsince_arg_perigee -= temp1; tsince_arg_perigee -= temp1;
double tcube = tsq * tsince; double tcube = tsq * tsince;
double tfour = tsince * tcube; double tfour = tsince * tcube;
tempa -= i_d2_ * tsq - i_d3_ * tcube - i_d4_ * tfour; tempa -= i_d2_ * tsq - i_d3_ * tcube - i_d4_ * tfour;
tempe += BStar() * i_c5_ * (sin(xmp) - sinmo_); tempe += BStar() * i_c5_ * (sin(xmp) - i_sinmo_);
templ += i_t3cof_ * tcube + tfour * (i_t4cof_ + tsince * i_t5cof_); templ += i_t3cof_ * tcube + tfour * (i_t4cof_ + tsince * i_t5cof_);
} }
a = RecoveredSemiMajorAxis() * pow(tempa, 2.0); a = RecoveredSemiMajorAxis() * pow(tempa, 2.0);

10
SGDP4.h
View File

@ -23,7 +23,7 @@ private:
bool first_run_; bool first_run_;
/* /*
* i_ variables are constants that wont be modified outside Init * variables are constants that wont be modified outside init
*/ */
double i_cosio_; double i_cosio_;
double i_sinio_; double i_sinio_;
@ -33,7 +33,6 @@ private:
double i_a3ovk2_; double i_a3ovk2_;
double i_x1mth2_; double i_x1mth2_;
double i_c4_; double i_c4_;
double i_c5_;
double i_xmdot_; double i_xmdot_;
double i_omgdot_; double i_omgdot_;
double i_xnodot_; double i_xnodot_;
@ -42,6 +41,10 @@ private:
double i_xlcof_; double i_xlcof_;
double i_aycof_; double i_aycof_;
double i_x7thm1_; double i_x7thm1_;
/*
* sgp4 constant
*/
double i_c5_;
double i_omgcof_; double i_omgcof_;
double i_xmcof_; double i_xmcof_;
double i_delmo_; double i_delmo_;
@ -52,6 +55,9 @@ private:
double i_t3cof_; double i_t3cof_;
double i_t4cof_; double i_t4cof_;
double i_t5cof_; double i_t5cof_;
/*
* sdp4 constant
*/
double i_gsto_; double i_gsto_;
bool i_use_simple_model_; bool i_use_simple_model_;