|
World Ocean Simulation System (WOSS) library
|
Class for channel estimation and averaging. More...
#include <uw-woss-channel-estimator.h>


Public Types | |
| using | RxMap = std::map< woss::CoordZ, std::unique_ptr< woss::TimeArr >, woss::CoordComparator< ChannelEstimator, woss::CoordZ > > |
| using | RxMIter = RxMap::iterator |
| using | RxMCIter = RxMap::const_iterator |
| using | RxMRIter = RxMap::reverse_iterator |
| using | ChannelMap = std::map< woss::CoordZ, RxMap, woss::CoordComparator< ChannelEstimator, woss::CoordZ > > |
| using | ChMapIter = ChannelMap::iterator |
| using | ChMapRIter = ChannelMap::reverse_iterator |
| using | MacToPosMap = std::map< int, WossPosition * > |
| using | MacMapIter = MacToPosMap::iterator |
| using | MacMapRIter = MacToPosMap::reverse_iterator |
Public Member Functions | |
| ChannelEstimator () | |
| virtual | ~ChannelEstimator () override=default |
| virtual int | command (int argc, const char *const *argv) override |
| virtual void | updateEstimation (const woss::CoordZ &tx, const woss::CoordZ &rx, const woss::TimeArr &curr_channel) |
| std::unique_ptr< woss::TimeArr > | getEstimation (const woss::CoordZ &tx, const woss::CoordZ &rx) |
| void | addMacAddress (int addr, WossPosition *pos) |
| virtual WossPosition * | findMacAddress (int addr) |
| virtual bool | resetEstimator () |
Static Public Member Functions | |
| static double | getSpaceSampling () |
Protected Attributes | |
| ChannelMap | channel_map |
| MacToPosMap | mac_to_pos_map |
| double | debug_ |
| double | avg_coeff |
Static Protected Attributes | |
| static double | space_sampling = 0.0 |
Class for channel estimation and averaging.
ChannelEstimator provides extensible estimation and averaging methods.
| using ChannelEstimator::ChannelMap = std::map< woss::CoordZ, RxMap, woss::CoordComparator< ChannelEstimator, woss::CoordZ > > |
| using ChannelEstimator::ChMapIter = ChannelMap::iterator |
| using ChannelEstimator::ChMapRIter = ChannelMap::reverse_iterator |
| using ChannelEstimator::MacMapIter = MacToPosMap::iterator |
| using ChannelEstimator::MacMapRIter = MacToPosMap::reverse_iterator |
| using ChannelEstimator::MacToPosMap = std::map< int, WossPosition* > |
| using ChannelEstimator::RxMap = std::map< woss::CoordZ, std::unique_ptr<woss::TimeArr>, woss::CoordComparator< ChannelEstimator, woss::CoordZ > > |
| using ChannelEstimator::RxMCIter = RxMap::const_iterator |
| using ChannelEstimator::RxMIter = RxMap::iterator |
| using ChannelEstimator::RxMRIter = RxMap::reverse_iterator |
| ChannelEstimator::ChannelEstimator | ( | ) |
References avg_coeff, debug_, and space_sampling.
|
overridevirtualdefault |
|
inline |
References mac_to_pos_map.
Referenced by ChEstimatorPlugIn::command().
|
overridevirtual |
|
virtual |
References mac_to_pos_map.
Referenced by ChEstimatorPlugIn::recvSyncClMsg().
| std::unique_ptr< woss::TimeArr > ChannelEstimator::getEstimation | ( | const woss::CoordZ & | tx, |
| const woss::CoordZ & | rx | ||
| ) |
Returns channel estimation for the given tx-rx couple
| tx | ns address type of transmitter node |
| rx | ns address type of receiver node |
References channel_map, and debug_.
Referenced by ChEstimatorPlugIn::recvSyncClMsg().
|
inlinestatic |
References space_sampling.
|
virtual |
References channel_map.
Referenced by command().
|
virtual |
Updates channel estimation for the given tx-rx couple
| tx | ns address type of transmitter node |
| rx | ns address type of receiver node |
| curr_channel | pointer to new channel value |
References avg_coeff, channel_map, woss::TimeArr::clone(), and debug_.
Referenced by WossChannelModule::checkTimeArrVector(), and ChEstimatorPlugIn::recvSyncClMsg().

|
protected |
Referenced by ChannelEstimator(), and updateEstimation().
|
protected |
Referenced by getEstimation(), resetEstimator(), and updateEstimation().
|
protected |
Referenced by ChannelEstimator(), getEstimation(), and updateEstimation().
|
protected |
Referenced by addMacAddress(), and findMacAddress().
|
staticprotected |
Referenced by ChannelEstimator(), and getSpaceSampling().