|
World Ocean Simulation System (WOSS) library
|
WossChannelModule class for channel calculations with WOSS. More...
#include <uw-woss-channel.h>


Public Member Functions | |
| WossChannelModule () | |
| virtual | ~WossChannelModule () override=default |
| virtual int | command (int argc, const char *const *argv) override |
| virtual void | recv (Packet *p, ChSAP *chsap) override |
Protected Types | |
| using | ChSAPVector = std::vector< ChSAP * > |
Protected Member Functions | |
| double | getPropDelay (const woss::CoordZ &s, const woss::CoordZ &d) |
| woss::CoordZPairVect | computeCoordZPairVect (ChSAP *dest) |
| woss::SimFreq | computeSimFreq (Packet *p) |
| woss::TimeArrVector | computeTimeArrVector (const woss::CoordZPairVect &coords, const woss::SimFreq &sim_freq) |
| void | checkTimeArrVector (const woss::CoordZPairVect &coords, woss::TimeArrVector &channels) |
| void | schedulePacketCopies (const woss::CoordZPairVect &coords, const woss::TimeArrVector &channels, const woss::SimFreq &sim_freq, Packet *p) |
| void | deleteChannels (woss::TimeArrVector &channels) |
Protected Attributes | |
| double | channel_eq_snr_threshold_db |
| double | channel_symbol_resolution |
| double | channel_eq_time |
| double | channel_eq_attenuation_db |
| double | channel_max_distance |
| woss::WossManager * | woss_manager |
| ChannelEstimator * | channel_estimator |
| Underwater | uw |
| ChSAPVector | chsap_vector |
WossChannelModule class for channel calculations with WOSS.
WossChannelModule extends ChannelModule for channel calculations with WOSS
|
protected |
| WossChannelModule::WossChannelModule | ( | ) |
References channel_eq_snr_threshold_db, channel_eq_time, channel_max_distance, channel_symbol_resolution, and uw.
|
overridevirtualdefault |
|
protected |
References channel_eq_attenuation_db, channel_eq_time, channel_estimator, channel_symbol_resolution, woss::TimeArr::createNotValid(), getPropDelay(), and ChannelEstimator::updateEstimation().
Referenced by recv().

|
overridevirtual |
References channel_estimator, and woss_manager.
|
protected |
References channel_max_distance, chsap_vector, WossPosition::getDepth(), woss::Coord::getGreatCircleDistance(), and woss::Location::getLocation().
Referenced by recv().

|
protected |
Referenced by recv().
|
protected |
References woss::WossManager::getWossTimeArr(), and woss_manager.
Referenced by recv().

|
protected |
Referenced by recv().
|
protected |
References woss::CoordZ::getDepth(), woss::Coord::getLatitude(), woss::Coord::getLongitude(), and uw.
Referenced by checkTimeArrVector().

|
overridevirtual |
References channel_eq_attenuation_db, channel_eq_snr_threshold_db, checkTimeArrVector(), chsap_vector, computeCoordZPairVect(), computeSimFreq(), computeTimeArrVector(), deleteChannels(), schedulePacketCopies(), uw, and woss_manager.

|
protected |
References hdr_woss::already_processed, hdr_woss::attenuation, chsap_vector, hdr_woss::frequency, woss::Pressure::getTxLossDb(), and woss::Singleton< T >::instance().
Referenced by recv().

|
protected |
Referenced by checkTimeArrVector(), and recv().
|
protected |
Referenced by recv(), and WossChannelModule().
|
protected |
Referenced by checkTimeArrVector(), and WossChannelModule().
|
protected |
Referenced by checkTimeArrVector(), and command().
|
protected |
Referenced by computeCoordZPairVect(), and WossChannelModule().
|
protected |
Referenced by checkTimeArrVector(), and WossChannelModule().
|
protected |
Referenced by computeCoordZPairVect(), recv(), and schedulePacketCopies().
|
protected |
Referenced by getPropDelay(), recv(), and WossChannelModule().
|
protected |
Referenced by command(), computeTimeArrVector(), and recv().