Changeset 2786 in ntrip
- Timestamp:
- Dec 14, 2010, 12:56:46 PM (14 years ago)
- Location:
- trunk/BNC
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/bncpppclient.cpp
r2779 r2786 69 69 } 70 70 71 _useGalileo = true; // TODO 71 if ( Qt::CheckState(settings.value("pppGalileo").toInt()) == Qt::Checked) { 72 _useGalileo = true; 73 } 74 else { 75 _useGalileo = false; 76 } 72 77 73 78 if (settings.value("pppSPP").toString() == "PPP") { … … 164 169 } 165 170 166 // Set Code Observations - P1 or C1167 // --------------------------------168 bool haveP1 = false;169 if (obs.P1) {170 satData->P1 = obs.P1 + (bb ? bb->p1 : 0.0);171 satData->codeTypeF1 = t_satData::P_CODE;172 haveP1 = true;173 }174 else if (obs.C1) {175 satData->P1 = obs.C1 + (bb ? bb->c1 : 0.0);176 satData->codeTypeF1 = t_satData::C_CODE;177 haveP1 = true;178 }179 180 if (!haveP1) {181 delete satData;182 return;183 }184 185 // P2 or C2, and C5186 // ----------------187 bool haveP2 = false;188 if (obs.P2) {189 satData->P2 = obs.P2 + (bb ? bb->p2 : 0.0);190 satData->codeTypeF2 = t_satData::P_CODE;191 haveP2 = true;192 }193 else if (obs.C2) {194 satData->P2 = obs.C2;195 satData->codeTypeF2 = t_satData::C_CODE;196 haveP2 = true;197 }198 199 bool haveP5 = false;200 if (obs.C5) {201 satData->P5 = obs.C5;202 satData->codeTypeF2 = t_satData::P_CODE;203 haveP5 = true;204 }205 206 if (!haveP2 && !haveP5) {207 delete satData;208 return;209 }210 211 171 // Add new Satellite to the epoch 212 172 // ------------------------------ … … 224 184 } 225 185 226 // Set Ionosphere-Free Combinations227 // -------------------- ------------186 // Set Observations GPS 187 // -------------------- 228 188 if (obs.satSys == 'G') { 229 double f1 = t_CST::freq1; 230 double f2 = t_CST::freq2; 231 double c1 = f1 * f1 / (f1 * f1 - f2 * f2); 232 double c2 = - f2 * f2 / (f1 * f1 - f2 * f2); 233 234 if (obs.L1() && obs.L2()) { 235 satData->L1 = obs.L1() * t_CST::c / f1; 236 satData->L2 = obs.L2() * t_CST::c / f2; 189 if ( (obs.P1 || obs.C1) && (obs.P2 || obs.C2) && obs.L1() && obs.L2() ) { 190 double f1 = t_CST::freq1; 191 double f2 = t_CST::freq2; 192 double c1 = f1 * f1 / (f1 * f1 - f2 * f2); 193 double c2 = - f2 * f2 / (f1 * f1 - f2 * f2); 194 if (obs.P1) { 195 satData->P1 = obs.P1 + (bb ? bb->p1 : 0.0); 196 } 197 else { 198 satData->P1 = obs.C1 + (bb ? bb->c1 : 0.0); 199 } 200 if (obs.P2) { 201 satData->P2 = obs.P2 + (bb ? bb->p2 : 0.0); 202 } 203 else { 204 satData->P2 = obs.C2; 205 } 206 satData->L1 = obs.L1() * t_CST::c / f1; 207 satData->L2 = obs.L2() * t_CST::c / f2; 208 satData->P3 = c1 * satData->P1 + c2 * satData->P2; 209 satData->L3 = c1 * satData->L1 + c2 * satData->L2; 210 satData->lambda3 = c1 * t_CST::c / f1 + c2 * t_CST::c / f2; 211 212 _epoData->satDataGPS[satData->prn] = satData; 237 213 } 238 214 else { 239 215 delete satData; 240 return; 241 } 242 243 satData->P3 = c1 * satData->P1 + c2 * satData->P2; 244 satData->L3 = c1 * satData->L1 + c2 * satData->L2; 245 satData->lambda3 = c1 * t_CST::c / f1 + c2 * t_CST::c / f2; 246 247 _epoData->satDataGPS[satData->prn] = satData; 248 } 216 } 217 } 218 219 // Set Observations GLONASS 220 // ------------------------ 249 221 else if (obs.satSys == 'R') { 250 double f1 = 1602000000.0 + 562500.0 * obs.slotNum; 251 double f2 = 1246000000.0 + 437500.0 * obs.slotNum; 252 double c1 = f1 * f1 / (f1 * f1 - f2 * f2); 253 double c2 = - f2 * f2 / (f1 * f1 - f2 * f2); 254 255 if (obs.L1() && obs.L2()) { 256 satData->L1 = obs.L1() * t_CST::c / f1; 257 satData->L2 = obs.L2() * t_CST::c / f2; 222 if ( (obs.P1 || obs.C1) && (obs.P2 || obs.C2) && obs.L1() && obs.L2() ) { 223 double f1 = 1602000000.0 + 562500.0 * obs.slotNum; 224 double f2 = 1246000000.0 + 437500.0 * obs.slotNum; 225 double c1 = f1 * f1 / (f1 * f1 - f2 * f2); 226 double c2 = - f2 * f2 / (f1 * f1 - f2 * f2); 227 if (obs.P1) { 228 satData->P1 = obs.P1 + (bb ? bb->p1 : 0.0); 229 } 230 else { 231 satData->P1 = obs.C1 + (bb ? bb->c1 : 0.0); 232 } 233 if (obs.P2) { 234 satData->P2 = obs.P2 + (bb ? bb->p2 : 0.0); 235 } 236 else { 237 satData->P2 = obs.C2; 238 } 239 satData->L1 = obs.L1() * t_CST::c / f1; 240 satData->L2 = obs.L2() * t_CST::c / f2; 241 satData->P3 = c1 * satData->P1 + c2 * satData->P2; 242 satData->L3 = c1 * satData->L1 + c2 * satData->L2; 243 satData->lambda3 = c1 * t_CST::c / f1 + c2 * t_CST::c / f2; 244 245 _epoData->satDataGlo[satData->prn] = satData; 258 246 } 259 247 else { 260 248 delete satData; 261 return; 262 } 263 264 satData->P3 = c1 * satData->P1 + c2 * satData->P2; 265 satData->L3 = c1 * satData->L1 + c2 * satData->L2; 266 satData->lambda3 = c1 * t_CST::c / f1 + c2 * t_CST::c / f2; 267 268 _epoData->satDataGlo[satData->prn] = satData; 269 } 249 } 250 } 251 252 // Set Observations Galileo 253 // ------------------------ 270 254 else if (obs.satSys == 'E') { 271 double f1 = t_CST::freq1; 272 double f5 = t_CST::freq5; 273 double c1 = f1 * f1 / (f1 * f1 - f5 * f5); 274 double c5 = - f5 * f5 / (f1 * f1 - f5 * f5); 275 276 if (obs.L1() && obs.L5) { 277 satData->L1 = obs.L1() * t_CST::c / f1; 278 satData->L5 = obs.L5 * t_CST::c / f5; 255 if ( obs.C1 && obs.C2 && obs.L1() && obs.L5) { 256 double f1 = t_CST::freq1; 257 double f5 = t_CST::freq5; 258 double c1 = f1 * f1 / (f1 * f1 - f5 * f5); 259 double c5 = - f5 * f5 / (f1 * f1 - f5 * f5); 260 261 satData->P1 = obs.C1; 262 satData->P5 = obs.C5; 263 satData->L1 = obs.L1() * t_CST::c / f1; 264 satData->L5 = obs.L5 * t_CST::c / f5; 265 satData->P3 = c1 * satData->P1 + c5 * satData->P5; 266 satData->L3 = c1 * satData->L1 + c5 * satData->L5; 267 satData->lambda3 = c1 * t_CST::c / f1 + c5 * t_CST::c / f5; 268 _epoData->satDataGal[satData->prn] = satData; 279 269 } 280 270 else { 281 271 delete satData; 282 return; 283 } 284 285 satData->P3 = c1 * satData->P1 + c5 * satData->P5; 286 satData->L3 = c1 * satData->L1 + c5 * satData->L5; 287 satData->lambda3 = c1 * t_CST::c / f1 + c5 * t_CST::c / f5; 288 289 _epoData->satDataGal[satData->prn] = satData; 272 } 290 273 } 291 274 } -
trunk/BNC/bncpppclient.h
r2778 r2786 39 39 class t_satData { 40 40 public: 41 enum codeType {P_CODE, C_CODE};42 41 QString prn; 43 42 double P1; … … 49 48 double L5; 50 49 double L3; 51 codeType codeTypeF1;52 codeType codeTypeF2;53 codeType codeTypeF5;54 50 ColumnVector xx; 55 51 ColumnVector vv;
Note:
See TracChangeset
for help on using the changeset viewer.