⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mdpobsepoch.hpp

📁 gps源代码
💻 HPP
字号:
#pragma ident "$Id: MDPObsEpoch.hpp 647 2007-06-25 03:34:09Z ocibu $"//============================================================================////  This file is part of GPSTk, the GPS Toolkit.////  The GPSTk is free software; you can redistribute it and/or modify//  it under the terms of the GNU Lesser General Public License as published//  by the Free Software Foundation; either version 2.1 of the License, or//  any later version.////  The GPSTk is distributed in the hope that it will be useful,//  but WITHOUT ANY WARRANTY; without even the implied warranty of//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the//  GNU Lesser General Public License for more details.////  You should have received a copy of the GNU Lesser General Public//  License along with GPSTk; if not, write to the Free Software Foundation,//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA//  //  Copyright 2004, The University of Texas at Austin////============================================================================//============================================================================////This software developed by Applied Research Laboratories at the University of//Texas at Austin, under contract to an agency or agencies within the U.S. //Department of Defense. The U.S. Government retains all rights to use,//duplicate, distribute, disclose, or release this software. ////Pursuant to DoD Directive 523024 //// DISTRIBUTION STATEMENT A: This software has been approved for public //                           release, distribution is unlimited.////=============================================================================#ifndef MDPOBSEPOCH_HPP#define MDPOBSEPOCH_HPP#include <map>#include "MDPHeader.hpp"#include "miscenum.hpp"namespace gpstk{   /// This class represents a set of observations from a single SV at a    /// single point in time   class MDPObsEpoch : public MDPHeader   {   public:      // A helper class to hold a single code/carrier block of observations      class Observation      {      public:         void dump(std::ostream& out) const throw();         std::string encode() const throw();         // Note that this is a destructive decode, unlike the others in this set          // of classes.         void decode(std::string& str) throw();           CarrierCode carrier;     ///< This observation's carrier frequency code.         RangeCode range;         ///< This observation's range code.         unsigned bw;             ///< The Effective Tracking Loop Bandwidth. (Hz)         double snr;              ///< The Signal-to-Noise Ratio. (dB-Hz)         unsigned long lockCount; ///< The number of consecutive observations (0 implies a cycle slip or beginning of track).         double pseudorange;      ///< Pseudorange Measurement (meters)         double phase;            ///< Phase Measurement (cycles)         double doppler;          ///< Doppler Measurement (Hz, positive for approaching satellites)      };      MDPObsEpoch() throw();      /**  Encode this object to a string.       * @return this object as a string.       */      virtual std::string encode() const         throw();               /** Decode this object from a string.       * @param str the string to read from.       * @note This is a non-destructive decode.       */      virtual void decode(std::string str)         throw();               virtual std::string getName() const {return "obs";};      /** Dump some debugging information to the given ostream.       * @param out the ostream to write to       */      void dump(std::ostream& out) const throw();      typedef std::pair<CarrierCode, RangeCode> ObsKey;      typedef std::map<ObsKey, Observation> ObsMap;         unsigned numSVs;      ///< The number of SVs in track for this epoch.      unsigned channel;     ///< The channel this SV is tracked on.      unsigned prn;         ///< The SV's PRN.      unsigned status;      ///< SV Health status.      double elevation;     ///< The SV's elevation in degrees.      double azimuth;       ///< The SV's azimuth in degrees.      ObsMap obs;          ///< The list of Observations made at this Epoch.      bool haveObservation(const CarrierCode cc, const RangeCode rc) const;      Observation getObservation(const CarrierCode cc, const RangeCode rc) const;      static const unsigned myId = 300;      static const unsigned myLength = 8;  // This is just the pre obs_block stuff      static const unsigned myObsLength=32;  // This is the size of a single obs_block   }; // class MDPObsEpoch   // The key is intended to the PRN of the MDPObsEpoch   typedef std::map<int, gpstk::MDPObsEpoch> MDPEpoch;   FFStream& operator>>(FFStream& s, MDPEpoch& oe);   FFStream& operator<<(FFStream& s, const MDPEpoch& oe);} // namespace gpstk#endif //MDPOBSEPOCH_HPP

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -