0.4.1
Loading...
Searching...
No Matches
NAV::ObservationFilter Class Reference

Observation Filter. More...

Data Structures

struct  Filtered
 Filtered signals. More...
 

Public Member Functions

void disableFilter ()
 Opens all settings to the maximum, disabling the filter.
 
void excludeSignalTemporarily (const SatSigId &satSigId, size_t count)
 Temporarily excludes a signal.
 
const CodegetCodeFilter () const
 Get the Code Filter.
 
const FrequencygetFrequencyFilter () const
 Get the Frequency Filter.
 
SatelliteSystem getSystemFilter () const
 Get the Satellite System Filter.
 
const std::unordered_set< GnssObs::ObservationType > & getUsedObservationTypes () const
 Get the used observation types.
 
bool isObsTypeUsed (GnssObs::ObservationType obsType) const
 Checks if the Observation type is used by the GUI settings.
 
bool isSatelliteAllowed (const SatId &satId) const
 Checks if the satellite is allowed. Does not check elevation or SNR mask.
 
void markObsTypeAsNeeded (GnssObs::ObservationType obsType, bool needed=true)
 Set the observation type as needed (cannot be unchecked in the GUI) or unneeded.
 
 ObservationFilter (const ObservationFilter &other)=default
 Copy constructor.
 
 ObservationFilter (ObservationFilter &&other) noexcept=default
 Move constructor.
 
 ObservationFilter (size_t receiverCount, const std::unordered_set< GnssObs::ObservationType > &availableObsTypes={ GnssObs::Pseudorange, GnssObs::Carrier, GnssObs::Doppler }, std::unordered_set< GnssObs::ObservationType > neededObsTypes={})
 Constructor.
 
ObservationFilteroperator= (const ObservationFilter &other)
 Copy assignment operator.
 
ObservationFilteroperator= (ObservationFilter &&other) noexcept
 Move assignment operator.
 
void reset ()
 Reset the temporary settings.
 
template<typename ReceiverType, typename DerivedPe, typename DerivedPn>
void selectObservationsForCalculation (ReceiverType receiverType, const Eigen::MatrixBase< DerivedPe > &e_posMarker, const Eigen::MatrixBase< DerivedPn > &lla_posMarker, const std::shared_ptr< const GnssObs > &gnssObs, const std::vector< const GnssNavInfo * > &gnssNavInfos, Observations &observations, Filtered *filtered, const std::string &nameId, bool ignoreElevationMask=false)
 Returns a list of satellites and observations filtered by GUI settings & NAV data available & ...)
 
template<typename ReceiverType>
bool ShowGuiWidgets (const char *id, float itemWidth)
 Shows the GUI input to select the options.
 
void useObsType (GnssObs::ObservationType obsType)
 Set the observation type to use.
 
 ~ObservationFilter ()=default
 Destructor.
 

Private Attributes

const std::unordered_set< GnssObs::ObservationType_availableObsTypes
 Available observation types (e.g. SPP does not have Carrier)
 
double _elevationMask
 Elevation cut-off angle for satellites in [rad].
 
std::vector< SatId_excludedSatellites
 List of satellites to exclude.
 
Code _filterCode
 Codes used for calculation (GUI filter)
 
Frequency _filterFreq
 Frequencies used for calculation (GUI filter)
 
std::unordered_set< GnssObs::ObservationType_neededObsTypes
 Needed observation types (cannot be unchecked in GUI)
 
bool _sameSnrMaskForAllReceivers
 Flag wether to use the same SNR mask for all receivers.
 
std::vector< SNRMask_snrMask
 SNR Mask for all receivers.
 
std::unordered_map< SatSigId, size_t > _temporarilyExcludedSignalsSatellites
 List of signals to exclude temporarily.
 
std::unordered_set< GnssObs::ObservationType_usedObsTypes
 Utilized observations.
 

Friends

void from_json (const json &j, ObservationFilter &obj)
 Converts the provided json object into a node object.
 
void to_json (json &j, const ObservationFilter &obj)
 Converts the provided object into json.
 

Detailed Description

Observation Filter.

Definition at line 52 of file ObservationFilter.hpp.

Constructor & Destructor Documentation

◆ ObservationFilter() [1/3]

NAV::ObservationFilter::ObservationFilter ( size_t receiverCount,
const std::unordered_set< GnssObs::ObservationType > & availableObsTypes = GnssObs::PseudorangeGnssObs::CarrierGnssObs::Doppler },
std::unordered_set< GnssObs::ObservationType > neededObsTypes = {} )
inlineexplicit

Constructor.

Parameters
[in]receiverCountNumber of receivers
[in]availableObsTypesAvailable observation types (e.g. SPP does not have Carrier)
[in]neededObsTypesNeeded observation types (cannot be unchecked)

Definition at line 59 of file ObservationFilter.hpp.

◆ ~ObservationFilter()

NAV::ObservationFilter::~ObservationFilter ( )
default

Destructor.

◆ ObservationFilter() [2/3]

NAV::ObservationFilter::ObservationFilter ( const ObservationFilter & other)
default

Copy constructor.

◆ ObservationFilter() [3/3]

NAV::ObservationFilter::ObservationFilter ( ObservationFilter && other)
defaultnoexcept

Move constructor.

Member Function Documentation

◆ disableFilter()

void NAV::ObservationFilter::disableFilter ( )
inline

Opens all settings to the maximum, disabling the filter.

Definition at line 602 of file ObservationFilter.hpp.

◆ excludeSignalTemporarily()

void NAV::ObservationFilter::excludeSignalTemporarily ( const SatSigId & satSigId,
size_t count )
inline

Temporarily excludes a signal.

Parameters
[in]satSigIdSatellite Signal Id
[in]countAmount of function calls to exclude

Definition at line 572 of file ObservationFilter.hpp.

◆ getCodeFilter()

const Code & NAV::ObservationFilter::getCodeFilter ( ) const
inlinenodiscard

Get the Code Filter.

Definition at line 584 of file ObservationFilter.hpp.

◆ getFrequencyFilter()

const Frequency & NAV::ObservationFilter::getFrequencyFilter ( ) const
inlinenodiscard

Get the Frequency Filter.

Definition at line 579 of file ObservationFilter.hpp.

◆ getSystemFilter()

SatelliteSystem NAV::ObservationFilter::getSystemFilter ( ) const
inlinenodiscard

Get the Satellite System Filter.

Definition at line 590 of file ObservationFilter.hpp.

◆ getUsedObservationTypes()

const std::unordered_set< GnssObs::ObservationType > & NAV::ObservationFilter::getUsedObservationTypes ( ) const
inlinenodiscard

Get the used observation types.

Definition at line 596 of file ObservationFilter.hpp.

◆ isObsTypeUsed()

bool NAV::ObservationFilter::isObsTypeUsed ( GnssObs::ObservationType obsType) const
inlinenodiscard

Checks if the Observation type is used by the GUI settings.

Parameters
[in]obsTypeObservation Type

Definition at line 548 of file ObservationFilter.hpp.

◆ isSatelliteAllowed()

bool NAV::ObservationFilter::isSatelliteAllowed ( const SatId & satId) const
inlinenodiscard

Checks if the satellite is allowed. Does not check elevation or SNR mask.

Parameters
[in]satIdSatellite Identifier

Definition at line 540 of file ObservationFilter.hpp.

◆ markObsTypeAsNeeded()

void NAV::ObservationFilter::markObsTypeAsNeeded ( GnssObs::ObservationType obsType,
bool needed = true )
inline

Set the observation type as needed (cannot be unchecked in the GUI) or unneeded.

Parameters
obsTypeObservation Type
neededNeeded or unneeded

Definition at line 563 of file ObservationFilter.hpp.

◆ operator=() [1/2]

ObservationFilter & NAV::ObservationFilter::operator= ( const ObservationFilter & other)
inline

Copy assignment operator.

Definition at line 82 of file ObservationFilter.hpp.

◆ operator=() [2/2]

ObservationFilter & NAV::ObservationFilter::operator= ( ObservationFilter && other)
inlinenoexcept

Move assignment operator.

Definition at line 107 of file ObservationFilter.hpp.

◆ reset()

void NAV::ObservationFilter::reset ( )
inline

Reset the temporary settings.

Definition at line 133 of file ObservationFilter.hpp.

◆ selectObservationsForCalculation()

template<typename ReceiverType, typename DerivedPe, typename DerivedPn>
void NAV::ObservationFilter::selectObservationsForCalculation ( ReceiverType receiverType,
const Eigen::MatrixBase< DerivedPe > & e_posMarker,
const Eigen::MatrixBase< DerivedPn > & lla_posMarker,
const std::shared_ptr< const GnssObs > & gnssObs,
const std::vector< const GnssNavInfo * > & gnssNavInfos,
Observations & observations,
Filtered * filtered,
const std::string & nameId,
bool ignoreElevationMask = false )
inline

Returns a list of satellites and observations filtered by GUI settings & NAV data available & ...)

Parameters
[in]receiverTypeReceiver type index to filter
[in]e_posMarkerMarker Position in ECEF frame [m]
[in]lla_posMarkerMarker Position in LLA frame [rad, rad, m]
[in]gnssObsGNSS observation
[in]gnssNavInfosCollection of navigation data providers
[in]nameIdName and Id of the node used for log messages only
[in]observationsList of observations which will be filled. If you have multiple receivers, the observations list will be the same object
[in]filteredOptional Filtered object to get back the filtered signals
[in]ignoreElevationMaskFlag wether the elevation mask should be ignored

Definition at line 164 of file ObservationFilter.hpp.

◆ ShowGuiWidgets()

template<typename ReceiverType>
bool NAV::ObservationFilter::ShowGuiWidgets ( const char * id,
float itemWidth )
inline

Shows the GUI input to select the options.

Parameters
[in]idUnique id for ImGui.
[in]itemWidthWidth of the widgets

Definition at line 460 of file ObservationFilter.hpp.

◆ useObsType()

void NAV::ObservationFilter::useObsType ( GnssObs::ObservationType obsType)
inline

Set the observation type to use.

Parameters
obsTypeObservation Type

Definition at line 555 of file ObservationFilter.hpp.

Friends And Related Symbol Documentation

◆ from_json

void from_json ( const json & j,
ObservationFilter & obj )
friend

Converts the provided json object into a node object.

Parameters
[in]jJson object with the needed values
[out]objObject to fill from the json

Definition at line 656 of file ObservationFilter.hpp.

◆ to_json

void to_json ( json & j,
const ObservationFilter & obj )
friend

Converts the provided object into json.

Parameters
[out]jJson object which gets filled with the info
[in]objObject to convert into json

Definition at line 640 of file ObservationFilter.hpp.

Field Documentation

◆ _availableObsTypes

const std::unordered_set<GnssObs::ObservationType> NAV::ObservationFilter::_availableObsTypes
private

Available observation types (e.g. SPP does not have Carrier)

Definition at line 628 of file ObservationFilter.hpp.

◆ _elevationMask

double NAV::ObservationFilter::_elevationMask
private

Elevation cut-off angle for satellites in [rad].

Definition at line 622 of file ObservationFilter.hpp.

◆ _excludedSatellites

std::vector<SatId> NAV::ObservationFilter::_excludedSatellites
private

List of satellites to exclude.

Definition at line 620 of file ObservationFilter.hpp.

◆ _filterCode

Code NAV::ObservationFilter::_filterCode
private

Codes used for calculation (GUI filter)

Definition at line 618 of file ObservationFilter.hpp.

◆ _filterFreq

Frequency NAV::ObservationFilter::_filterFreq
private

Frequencies used for calculation (GUI filter)

Definition at line 615 of file ObservationFilter.hpp.

◆ _neededObsTypes

std::unordered_set<GnssObs::ObservationType> NAV::ObservationFilter::_neededObsTypes
private

Needed observation types (cannot be unchecked in GUI)

Definition at line 630 of file ObservationFilter.hpp.

◆ _sameSnrMaskForAllReceivers

bool NAV::ObservationFilter::_sameSnrMaskForAllReceivers
private

Flag wether to use the same SNR mask for all receivers.

Definition at line 626 of file ObservationFilter.hpp.

◆ _snrMask

std::vector<SNRMask> NAV::ObservationFilter::_snrMask
private

SNR Mask for all receivers.

Definition at line 624 of file ObservationFilter.hpp.

◆ _temporarilyExcludedSignalsSatellites

std::unordered_map<SatSigId, size_t> NAV::ObservationFilter::_temporarilyExcludedSignalsSatellites
private

List of signals to exclude temporarily.

Definition at line 635 of file ObservationFilter.hpp.

◆ _usedObsTypes

std::unordered_set<GnssObs::ObservationType> NAV::ObservationFilter::_usedObsTypes
private

Utilized observations.

Definition at line 632 of file ObservationFilter.hpp.


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