Changeset 11205 in ntrip for trunk/BNC/src/combination/bnccomb.cpp
- Timestamp:
- Nov 13, 2026, 6:46:33 PM (79 minutes ago)
- File:
-
- 1 edited
-
trunk/BNC/src/combination/bnccomb.cpp (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/src/combination/bnccomb.cpp
r11195 r11205 1870 1870 } 1871 1871 1872 const int nCon = (_method == filter) ? 1 + maxSat + excludedACs.size() : 0; 1872 // ACs of this epoch, each with a zero-sum condition of its satellite offsets 1873 QStringList epoACs; 1874 for (int ii = 0; ii < corrs(sys).size(); ii++) { 1875 if (!epoACs.contains(corrs(sys)[ii]->_acName)) { 1876 epoACs << corrs(sys)[ii]->_acName; 1877 } 1878 } 1879 1880 const int nCon = (_method == filter) ? 1 + maxSat + epoACs.size() : 0; 1873 1881 1874 1882 AA.ReSize(nObs+nCon, nPar); AA = 0.0; … … 1944 1952 int iCond = 1; 1945 1953 QSet<int> offExcluded; // offsets excluded from the zero-sum condition of their satellite 1954 QSet<int> offInDatum; // offsets in the zero-sum condition of their satellite 1946 1955 QSet<QString> acsInDatum; // ACs with at least one offset in the zero-sum conditions 1947 1956 // GNSS … … 1969 1978 if (offUsed.contains(iPar)) { 1970 1979 AA(nObs+iCond, iPar) = 1.0; 1980 offInDatum << iPar; 1971 1981 acsInDatum.insert(_params[sys][iPar-1]->AC); 1972 1982 } … … 1976 1986 } 1977 1987 } 1978 // ACs with all their offsets excluded from the zero-sum conditions above: 1979 // the sum of their offsets is constrained to zero (otherwise not 1980 // separable from the AC's epoch offset) 1981 for (const QString& acName : excludedACs) { 1988 // Zero-sum condition of the satellite offsets of each AC: without it, the 1989 // AC epoch offsets can be shifted by a_i, compensated by the satellite 1990 // offsets and, for a satellite not provided by all ACs, by its combined 1991 // clock (shift: mean of a_i over the ACs providing it). This would leave 1992 // the clocks of such satellites to the history of the filter (e.g. G13 1993 // +1.4 m after a restart). With it, the AC epoch offset is the mean clock 1994 // difference of the AC. Sum over the offsets in the satellite conditions 1995 // above; for an AC with all its offsets excluded from them, over these 1996 // (otherwise not separable from the AC's epoch offset). 1997 for (const QString& acName : epoACs) { 1982 1998 ++iCond; 1983 if (acsInDatum.contains(acName)) {1984 continue;1985 }1986 1999 PP(nObs+iCond) = Ph; 1987 for (int iPar : offExcluded) { 2000 const QSet<int>& offAC = acsInDatum.contains(acName) ? offInDatum : offExcluded; 2001 for (int iPar : offAC) { 1988 2002 if (_params[sys][iPar-1]->AC == acName) { 1989 2003 AA(nObs+iCond, iPar) = 1.0;
Note:
See TracChangeset
for help on using the changeset viewer.
