Changeset 6162 in ntrip for trunk/BNC/src
- Timestamp:
- Sep 14, 2014, 1:05:46 PM (10 years ago)
- Location:
- trunk/BNC/src/PPP_free
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/src/PPP_free/pppFilter.cpp
r6115 r6162 699 699 } 700 700 701 //702 //////////////////////////////////////////////////////////////////////////////703 void t_pppFilter::kalman(const Matrix& AA, const ColumnVector& ll,704 const DiagonalMatrix& PP,705 SymmetricMatrix& QQ, ColumnVector& dx) {706 707 Tracer tracer("t_pppFilter::kalman");708 709 int nPar = AA.Ncols();710 int nObs = AA.Nrows();711 UpperTriangularMatrix SS = Cholesky(QQ).t();712 713 Matrix SA = SS*AA.t();714 Matrix SRF(nObs+nPar, nObs+nPar); SRF = 0;715 for (int ii = 1; ii <= nObs; ++ii) {716 SRF(ii,ii) = 1.0 / sqrt(PP(ii,ii));717 }718 719 SRF.SubMatrix (nObs+1, nObs+nPar, 1, nObs) = SA;720 SRF.SymSubMatrix(nObs+1, nObs+nPar) = SS;721 722 UpperTriangularMatrix UU;723 QRZ(SRF, UU);724 725 SS = UU.SymSubMatrix(nObs+1, nObs+nPar);726 UpperTriangularMatrix SH_rt = UU.SymSubMatrix(1, nObs);727 Matrix YY = UU.SubMatrix(1, nObs, nObs+1, nObs+nPar);728 729 UpperTriangularMatrix SHi = SH_rt.i();730 731 Matrix KT = SHi * YY;732 SymmetricMatrix Hi; Hi << SHi * SHi.t();733 734 dx = KT.t() * ll;735 QQ << (SS.t() * SS);736 }737 738 701 // Phase Wind-Up Correction 739 702 /////////////////////////////////////////////////////////////////////////// -
trunk/BNC/src/PPP_free/pppFilter.h
r6112 r6162 184 184 } 185 185 186 static void kalman(const Matrix& AA, const ColumnVector& ll,187 const DiagonalMatrix& PP,188 SymmetricMatrix& QQ, ColumnVector& dx);189 190 186 private: 191 187 void reset();
Note:
See TracChangeset
for help on using the changeset viewer.