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).
Definition at line 57 of file LNavCrossSourceFilter.hpp.
#include <LNavCrossSourceFilter.hpp>
Public Member Functions | |
virtual std::string | filterName () const noexcept |
Return the filter name. More... | |
virtual void | finalize (NavMsgList &msgBitsOut) |
LNavCrossSourceFilter () | |
virtual unsigned | processingDepth () const noexcept |
Internally stores 1 epoch's worth of subframe data. More... | |
virtual void | validate (NavMsgList &msgBitsIn, NavMsgList &msgBitsOut) |
![]() | |
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 |
Protected Types | |
typedef std::map< uint32_t, SubframeMap > | NavMap |
Map from PRN to SubframeMap. More... | |
typedef std::map< LNavFilterData *, NavMsgList, LNavMsgSort > | SubframeMap |
Map from subframe data to source list. More... | |
Protected Member Functions | |
void | examineSubframes (NavMsgList &msgBitsOut) |
![]() | |
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 | |
![]() | |
typedef std::list< NavFilterKey * > | NavMsgList |
![]() | |
NavMsgList | rejected |
|
protected |
Map from PRN to SubframeMap.
Definition at line 93 of file LNavCrossSourceFilter.hpp.
|
protected |
Map from subframe data to source list.
Definition at line 91 of file LNavCrossSourceFilter.hpp.
gnsstk::LNavCrossSourceFilter::LNavCrossSourceFilter | ( | ) |
Definition at line 44 of file LNavCrossSourceFilter.cpp.
|
protected |
Filter by vote.
[out] | msgBitsOut | Nav messages passing the voting algorithm are stored here. |
Definition at line 76 of file LNavCrossSourceFilter.cpp.
|
inlinevirtualnoexcept |
Return the filter name.
Implements gnsstk::NavFilter.
Definition at line 86 of file LNavCrossSourceFilter.hpp.
|
virtual |
Flush the remaining contents of groupedNav.
[out] | msgBitsOut | Any remaining valid (by vote) nav messages are stored here on return. |
Implements gnsstk::NavFilter.
Definition at line 68 of file LNavCrossSourceFilter.cpp.
|
inlinevirtualnoexcept |
Internally stores 1 epoch's worth of subframe data.
Implements gnsstk::NavFilter.
Definition at line 82 of file LNavCrossSourceFilter.hpp.
|
virtual |
Add LNAV messages to the voting collection (groupedNav).
[in,out] | msgBitsIn | A list of LNavFilterData* objects containing GPS legacy navigation messages (id 2). |
[out] | msgBitsOut | The messages successfully passing the filter. The contents of msgBitsOut will always be one epoch behind msgBitsIn (meaning data from prevous, but not current calls to validate will be here). |
Implements gnsstk::NavFilter.
Definition at line 49 of file LNavCrossSourceFilter.cpp.
|
protected |
Most recent time.
Definition at line 98 of file LNavCrossSourceFilter.hpp.
|
protected |
Nav subframes grouped by prn and unique nav bits.
Definition at line 96 of file LNavCrossSourceFilter.hpp.