|
DESERT 4.0.0
|
#include <uwphysicalnoise.h>


Classes | |
| struct | Noisesource |
Public Member Functions | |
| UnderwaterPhysicalNoise () | |
| virtual | ~UnderwaterPhysicalNoise ()=default |
| virtual int | command (int argc, const char *const *argv) override |
| virtual void | addNoiseSource (size_t id, double len, ship_noise::ShipCategory cat, Position *pos) |
| virtual void | removeNoiseSourcefromID (size_t id) |
| virtual double | vesselNoisePower (Packet *p) |
Public Member Functions inherited from UnderwaterPhysical | |
| UnderwaterPhysical () | |
| virtual | ~UnderwaterPhysical () |
| virtual void | recv (Packet *) override |
| int | recvSyncClMsg (ClMessage *m) override |
Static Public Attributes | |
| static constexpr const double | MS_TO_KNOTS |
Protected Member Functions | |
| virtual double | getNoisePower (Packet *p) override |
| virtual double | getSpeedKnots (Position *p) const |
Protected Member Functions inherited from UnderwaterPhysical | |
| virtual void | updateInstantaneousStats () |
| virtual void | endTx (Packet *p) override |
| virtual void | endRx (Packet *p) override |
| virtual void | startRx (Packet *p) override |
| virtual double | consumedEnergyTx (const double &_duration) const |
| virtual double | consumedEnergyRx (const double &_duration) const |
| virtual double | getPER (double snr, int nbits, Packet *_p) |
| bool | isZero (const double &value) const |
| double | Get_Tx_Time () const |
| double | Get_Rx_Time () const |
| double | Get_Energy_Tx () const |
| double | Get_Energy_Rx () const |
| double | Get_Transmitted_bytes () const |
| void | incrTot_pkts_lost () |
| void | incrTotCrtl_pkts_lost () |
| void | incrErrorCtrlPktsInterf () |
| void | incrCollisionDATAvsCTRL () |
| void | incrCollisionCTRL () |
| void | incrCollisionDATA () |
| int | getTot_pkts_lost () const |
| int | getTot_CtrlPkts_lost () const |
| int | getError_CtrlPktsInterf () const |
| int | getCollisionsDATAvsCTRL () const |
| int | getCollisionsCTRL () const |
| int | getCollisionsDATA () const |
| double | log2 (const double &_input) const |
| double | get_prob_error_symbol_mpsk (const double &_snr, const uint32_t _M) const |
Protected Attributes | |
| int | debug_noise |
| int | ship_stop |
| double | granularity |
| std::vector< Noisesource > | noise_src |
Protected Attributes inherited from UnderwaterPhysical | |
| std::string | modulation_name_ |
| double | time_ready_to_end_rx_ |
| double | Tx_Time_ |
| double | Rx_Time_ |
| double | Energy_Tx_ |
| double | Energy_Rx_ |
| double | Transmitted_bytes_ |
| double | tx_power_ |
| double | rx_power_ |
| int | tot_pkts_lost |
| int | tot_ctrl_pkts_lost |
| int | errorCtrlPktsInterf |
| int | collisionDataCTRL |
| int | collisionCTRL |
| int | collisionDATA |
| std::string | Interference_Model |
| uwinterference * | interference_ |
| UnderwaterPhysicalNoise::UnderwaterPhysicalNoise | ( | ) |
Constructor of UnderwaterPhysicalNoise class.
References debug_noise, granularity, and ship_stop.
|
virtualdefault |
Destructor of UnderwaterPhysicalNoise class.
|
virtual |
It adds the noise emitter corresponding to the given id.
| size_t | ID of the emitter |
| double | Length of the vessel |
| ShipCategory | Category of the vessel |
| Position* | Pointer to the position of the emitter |
References debug_noise, and noise_src.
Referenced by command().
|
overridevirtual |
TCL command interpreter. It implements the following OTcl methods:
| argc | Number of arguments in argv. |
| argv | Array of strings which are the command parameters (Note that argv[0] is the name of the object). |
Reimplemented from UnderwaterPhysical.
References addNoiseSource(), UnderwaterPhysical::command(), and removeNoiseSourcefromID().

|
overrideprotectedvirtual |
Compute the noise power, considering also vessels noise if needed.
| Packet* | pointer to the packet received |
References noise_src, and vesselNoisePower().

|
protectedvirtual |
Compute the speed of the vessel in knots.
| Position* | pointer to the position. |
References UWSMPosition::getSpeed(), UWSMPosition::isDestReached(), MS_TO_KNOTS, and ship_stop.
Referenced by vesselNoisePower().

|
virtual |
|
virtual |
It calculates the total noise power, iterating on the vessel map.
| Packet* | Pointer to the packet that is going to be received |
References debug_noise, ship_noise::getNoisefromCategory(), getSpeedKnots(), granularity, and noise_src.
Referenced by getNoisePower().

|
protected |
Referenced by addNoiseSource(), UnderwaterPhysicalNoise(), and vesselNoisePower().
|
protected |
Number of step for the integration.
Referenced by UnderwaterPhysicalNoise(), and vesselNoisePower().
|
staticconstexpr |
|
protected |
Vector that stores all the vessels.
Referenced by addNoiseSource(), getNoisePower(), removeNoiseSourcefromID(), and vesselNoisePower().
|
protected |
If enabled, the speed is set to zero when the ship reaches its destination.
Referenced by getSpeedKnots(), and UnderwaterPhysicalNoise().