42#include "clmsg-stats.h"
43#include "underwater-bpsk.h"
73 virtual Stats *
clone()
const;
85 virtual void updateStats(
int mod_id,
int stck_id,
double rx_pwr,
86 double noise_pwr,
double interf_pwr,
double sinr,
double ber,
87 double per,
bool error);
123 virtual int command(
int,
const char *
const *)
override;
130 virtual void recv(Packet *)
override;
153 virtual void endTx(Packet *p)
override;
161 virtual void endRx(Packet *p)
override;
170 virtual void startRx(Packet *p)
override;
208 virtual double getPER(
double snr,
int nbits, Packet *_p);
225 return std::fabs(value) < std::numeric_limits<double>::epsilon();
402 log2(
const double &_input)
const
404 return (log10(_input) / log10(2));
416 return erfc(sqrt(_snr *
log2(_M)) * sin(M_PI / _M));
Definition uwphysical.h:100
int tot_ctrl_pkts_lost
Definition uwphysical.h:432
void incrTot_pkts_lost()
Definition uwphysical.h:287
std::string Interference_Model
Definition uwphysical.h:441
int tot_pkts_lost
Definition uwphysical.h:431
int getCollisionsDATAvsCTRL() const
Definition uwphysical.h:371
UnderwaterPhysical()
Definition uwphysical.cpp:111
double tx_power_
Definition uwphysical.h:429
bool isZero(const double &value) const
Definition uwphysical.h:223
double get_prob_error_symbol_mpsk(const double &_snr, const uint32_t _M) const
Definition uwphysical.h:414
double Tx_Time_
Definition uwphysical.h:421
uwinterference * interference_
Definition uwphysical.h:444
std::string modulation_name_
Definition uwphysical.h:419
virtual double consumedEnergyTx(const double &_duration) const
Definition uwphysical.h:179
int collisionCTRL
Definition uwphysical.h:437
virtual int command(int, const char *const *) override
Definition uwphysical.cpp:142
double Get_Energy_Rx() const
Definition uwphysical.h:267
int getCollisionsCTRL() const
Definition uwphysical.h:381
int errorCtrlPktsInterf
Definition uwphysical.h:433
void incrErrorCtrlPktsInterf()
Definition uwphysical.h:305
int getError_CtrlPktsInterf() const
Definition uwphysical.h:361
int getTot_CtrlPkts_lost() const
Definition uwphysical.h:351
double Energy_Rx_
Definition uwphysical.h:426
double Transmitted_bytes_
Definition uwphysical.h:428
virtual void updateInstantaneousStats()
Definition uwphysical.cpp:614
double Get_Energy_Tx() const
Definition uwphysical.h:256
virtual void endTx(Packet *p) override
Definition uwphysical.cpp:303
virtual void recv(Packet *) override
Definition uwphysical.cpp:219
double Energy_Tx_
Definition uwphysical.h:424
double rx_power_
Definition uwphysical.h:430
virtual void startRx(Packet *p) override
Definition uwphysical.cpp:317
void incrCollisionCTRL()
Definition uwphysical.h:323
void incrCollisionDATAvsCTRL()
Definition uwphysical.h:314
double time_ready_to_end_rx_
Definition uwphysical.h:420
int collisionDATA
Definition uwphysical.h:439
virtual double consumedEnergyRx(const double &_duration) const
Definition uwphysical.h:192
int collisionDataCTRL
Definition uwphysical.h:435
int recvSyncClMsg(ClMessage *m) override
Definition uwphysical.cpp:596
double Get_Tx_Time() const
Definition uwphysical.h:234
int getTot_pkts_lost() const
Definition uwphysical.h:341
virtual void endRx(Packet *p) override
Definition uwphysical.cpp:406
double log2(const double &_input) const
Definition uwphysical.h:402
double Rx_Time_
Definition uwphysical.h:423
virtual ~UnderwaterPhysical()
Definition uwphysical.cpp:135
void incrCollisionDATA()
Definition uwphysical.h:332
virtual double getPER(double snr, int nbits, Packet *_p)
Definition uwphysical.cpp:565
void incrTotCrtl_pkts_lost()
Definition uwphysical.h:296
int getCollisionsDATA() const
Definition uwphysical.h:391
double Get_Transmitted_bytes() const
Definition uwphysical.h:278
double Get_Rx_Time() const
Definition uwphysical.h:245
Definition uwphysical.h:50
UwPhysicalStats()
Definition uwphysical.cpp:47
double last_per
Definition uwphysical.h:96
double last_rx_power
Definition uwphysical.h:90
virtual void updateStats(int mod_id, int stck_id, double rx_pwr, double noise_pwr, double interf_pwr, double sinr, double ber, double per, bool error)
Definition uwphysical.cpp:75
virtual Stats * clone() const
Definition uwphysical.cpp:92
virtual ~UwPhysicalStats()=default
bool has_error
Definition uwphysical.h:89
double last_ber
Definition uwphysical.h:95
double last_noise_power
Definition uwphysical.h:91
double last_interf_power
Definition uwphysical.h:93
double last_sinr
Definition uwphysical.h:94
double instant_noise_power
Definition uwphysical.h:92
Definition uwinterference.h:151
Implementation of uwinterference class.