Changeset 8619 in ntrip
 Timestamp:
 Feb 28, 2019, 2:49:35 PM (17 months ago)
 Location:
 trunk/BNC/src
 Files:

 2 edited
Legend:
 Unmodified
 Added
 Removed

trunk/BNC/src/pppModel.cpp
r8204 r8619 369 369 /////////////////////////////////////////////////////////////////////////// 370 370 double t_windUp::value(const bncTime& etime, const ColumnVector& rRec, 371 t_prn prn, const ColumnVector& rSat) { 371 t_prn prn, const ColumnVector& rSat, bool ssr, 372 double yaw, const ColumnVector& vSat) { 372 373 373 374 if (etime.mjddec() != lastEtime[prn.toInt()]) { … … 380 381 // GPS Satellite unit Vectors sz, sy, sx 381 382 //  383 ColumnVector sHlp; 384 if (!ssr) { 385 sHlp = t_astro::Sun(etime.mjddec()); 386 } 387 else { 388 ColumnVector Omega(3); 389 Omega[0] = 0.0; 390 Omega[1] = 0.0; 391 Omega[2] = t_CST::omega; 392 sHlp = vSat + crossproduct(Omega, rSat); 393 } 394 sHlp /= sHlp.norm_Frobenius(); 395 382 396 ColumnVector sz = rSat / rSat.norm_Frobenius(); 383 384 ColumnVector xSun = t_astro::Sun(etime.mjddec()); 385 xSun /= xSun.norm_Frobenius(); 386 387 ColumnVector sy = crossproduct(sz, xSun); 397 ColumnVector sy = crossproduct(sz, sHlp); 388 398 ColumnVector sx = crossproduct(sy, sz); 399 400 // Yaw consideration 401 sx = t_astro::rotZ(yaw) * sx; 389 402 390 403 // Effective Dipole of the GPS Satellite Antenna 391 404 //  392 ColumnVector dipSat = sx  rho * DotProduct(rho,sx) 393  crossproduct(rho, sy); 405 ColumnVector dipSat = sx  rho * DotProduct(rho,sx)  crossproduct(rho, sy); 394 406 395 407 // Receiver unit Vectors rx, ry … … 397 409 ColumnVector rx(3); 398 410 ColumnVector ry(3); 399 400 411 double recEll[3]; xyz2ell(rRec.data(), recEll) ; 401 412 double neu[3]; … … 413 424 // Effective Dipole of the Receiver Antenna 414 425 //  415 ColumnVector dipRec = rx  rho * DotProduct(rho,rx) 416 + crossproduct(rho, ry); 426 ColumnVector dipRec = rx  rho * DotProduct(rho,rx) + crossproduct(rho, ry); 417 427 418 428 // Resulting Effect … … 420 430 double alpha = DotProduct(dipSat,dipRec) / 421 431 (dipSat.norm_Frobenius() * dipRec.norm_Frobenius()); 422 432 /* 423 433 if (alpha > 1.0) alpha = 1.0; 424 434 if (alpha < 1.0) alpha = 1.0; 425 435 */ 426 436 double dphi = acos(alpha) / 2.0 / M_PI; // in cycles 427 437 
trunk/BNC/src/pppModel.h
r7998 r8619 71 71 ~t_windUp() {}; 72 72 double value(const bncTime& etime, const ColumnVector& rRec, t_prn prn, 73 const ColumnVector& rSat); 73 const ColumnVector& rSat, bool ssr, double yaw, 74 const ColumnVector& vSat); 74 75 private: 75 76 double lastEtime[t_prn::MAXPRN+1];
Note: See TracChangeset
for help on using the changeset viewer.