Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | List of all members
gnsstk::CNavCrossSourceFilter Class Reference

Detailed Description

Filter GPS subframes using a voting algorithm across a single epoch. This may be used for a single receiver where multiple codes can be compared against each other, or across multiple receivers (with or without multiple codes).

Attention
Processing depth = 2 epochs.

Definition at line 57 of file CNavCrossSourceFilter.hpp.

#include <CNavCrossSourceFilter.hpp>

Inheritance diagram for gnsstk::CNavCrossSourceFilter:
Inheritance graph
[legend]

Public Member Functions

 CNavCrossSourceFilter ()
 
virtual void dump (std::ostream &s) const
 
virtual std::string filterName () const noexcept
 Return the filter name. More...
 
virtual void finalize (NavMsgList &msgBitsOut)
 
virtual unsigned short getMinIdentical () const
 
virtual unsigned processingDepth () const noexcept
 Internally stores 1 epoch's worth of subframe data. More...
 
virtual void setMinIdentical (const unsigned value)
 
virtual void validate (NavMsgList &msgBitsIn, NavMsgList &msgBitsOut)
 
- Public Member Functions inherited from gnsstk::NavFilter
virtual void dumpRejected (std::ostream &out) const
 Debug support. More...
 
 NavFilter ()
 
virtual std::string reasonTerse () const noexcept
 
virtual std::vector< std::string > reasonVerbose () const noexcept
 

Public Attributes

unsigned short minIdentical
 
- Public Attributes inherited from gnsstk::NavFilter
NavMsgList rejected
 

Protected Types

typedef std::map< CNavFilterData *, NavMsgList, CNavMsgSortMessageMap
 Map from subframe data to source list. More...
 
typedef std::map< uint32_t, MessageMapNavMap
 Map from PRN to SubframeMap. More...
 

Protected Member Functions

void examineMessages (NavMsgList &msgBitsOut)
 
- Protected Member Functions inherited from gnsstk::NavFilter
void accept (const NavMsgList &valid, NavMsgList &msgBitsOut)
 
void accept (NavFilterKey *data, NavMsgList &msgBitsOut)
 
void reject (const NavMsgList &invalid)
 
void reject (NavFilterKey *data)
 

Protected Attributes

gnsstk::CommonTime currentTime
 Most recent time. More...
 
NavMap groupedNav
 Nav subframes grouped by prn and unique nav bits. More...
 

Additional Inherited Members

- Public Types inherited from gnsstk::NavFilter
typedef std::list< NavFilterKey * > NavMsgList
 

Member Typedef Documentation

◆ MessageMap

Map from subframe data to source list.

Definition at line 103 of file CNavCrossSourceFilter.hpp.

◆ NavMap

typedef std::map<uint32_t, MessageMap> gnsstk::CNavCrossSourceFilter::NavMap
protected

Map from PRN to SubframeMap.

Definition at line 105 of file CNavCrossSourceFilter.hpp.

Constructor & Destructor Documentation

◆ CNavCrossSourceFilter()

gnsstk::CNavCrossSourceFilter::CNavCrossSourceFilter ( )

Definition at line 44 of file CNavCrossSourceFilter.cpp.

Member Function Documentation

◆ dump()

void gnsstk::CNavCrossSourceFilter::dump ( std::ostream &  s) const
virtual

Debug method to unspool contents in a manner appropriate for inspection.

Definition at line 119 of file CNavCrossSourceFilter.cpp.

◆ examineMessages()

void gnsstk::CNavCrossSourceFilter::examineMessages ( NavMsgList msgBitsOut)
protected

Filter by vote.

Note
Bare minimum for producing output is 2 out of 2 matching subframes. If there are no matching subframes, or fewer than 2 subframes are present in groupedNav, no output will be produced.
Parameters
[out]msgBitsOutNav messages passing the voting algorithm are stored here.

Definition at line 76 of file CNavCrossSourceFilter.cpp.

◆ filterName()

virtual std::string gnsstk::CNavCrossSourceFilter::filterName ( ) const
inlinevirtualnoexcept

Return the filter name.

Implements gnsstk::NavFilter.

Definition at line 85 of file CNavCrossSourceFilter.hpp.

◆ finalize()

void gnsstk::CNavCrossSourceFilter::finalize ( NavMsgList msgBitsOut)
virtual

Flush the remaining contents of groupedNav.

Parameters
[out]msgBitsOutAny remaining valid (by vote) nav messages are stored here on return.

Implements gnsstk::NavFilter.

Definition at line 68 of file CNavCrossSourceFilter.cpp.

◆ getMinIdentical()

virtual unsigned short gnsstk::CNavCrossSourceFilter::getMinIdentical ( ) const
inlinevirtual

Definition at line 91 of file CNavCrossSourceFilter.hpp.

◆ processingDepth()

virtual unsigned gnsstk::CNavCrossSourceFilter::processingDepth ( ) const
inlinevirtualnoexcept

Internally stores 1 epoch's worth of subframe data.

Implements gnsstk::NavFilter.

Definition at line 81 of file CNavCrossSourceFilter.hpp.

◆ setMinIdentical()

virtual void gnsstk::CNavCrossSourceFilter::setMinIdentical ( const unsigned  value)
inlinevirtual

Definition at line 88 of file CNavCrossSourceFilter.hpp.

◆ validate()

void gnsstk::CNavCrossSourceFilter::validate ( NavMsgList msgBitsIn,
NavMsgList msgBitsOut 
)
virtual

Add CNAV messages to the voting collection (groupedNav).

Precondition
NavFilterKey::timeStamp is set to either the the time of transmission of the message/
NavFilterKey::prn is set
CNavFilterData::sf is set
Parameters
[in,out]msgBitsInA list of CNavFilterData* objects containing GPS CNAV messages.
[out]msgBitsOutThe messages successfully passing the filter. The contents of msgBitsOut will always be one epoch behind msgBitsIn (meaning data from previous, but not current calls to validate will be here).

Implements gnsstk::NavFilter.

Definition at line 49 of file CNavCrossSourceFilter.cpp.

Member Data Documentation

◆ currentTime

gnsstk::CommonTime gnsstk::CNavCrossSourceFilter::currentTime
protected

Most recent time.

Definition at line 110 of file CNavCrossSourceFilter.hpp.

◆ groupedNav

NavMap gnsstk::CNavCrossSourceFilter::groupedNav
protected

Nav subframes grouped by prn and unique nav bits.

Definition at line 108 of file CNavCrossSourceFilter.hpp.

◆ minIdentical

unsigned short gnsstk::CNavCrossSourceFilter::minIdentical

Definition at line 95 of file CNavCrossSourceFilter.hpp.


The documentation for this class was generated from the following files:


gnsstk
Author(s):
autogenerated on Wed Oct 25 2023 02:40:44