|
DESERT 4.0.0
|
#include <uwinterference.h>


Public Member Functions | |
| uwinterference () | |
| virtual | ~uwinterference () |
| virtual void | addToInterference (Packet *p) |
| virtual void | addToInterference (double pw, PKT_TYPE tp) |
| virtual void | removeFromInterference (double pw, PKT_TYPE tp) |
| virtual double | getInterferencePower (Packet *p) |
| virtual double | getInterferencePower (double power, double starttime, double duration) |
| virtual double | getCurrentTotalPower () |
| virtual double | getTimeOverlap (Packet *p) |
| virtual double | getTimeOverlap (double starttime, double duration) |
| virtual counter | getCounters (Packet *p) |
| virtual counter | getCounters (double starttime, double duration, PKT_TYPE tp) |
| double | getStartRxTime () |
| double | getEndRxTime () |
| double | getInitialInterferenceTime () |
Protected Attributes | |
| std::list< ListNode > | power_list |
| EndInterfTimer | end_timer |
| double | use_maxinterval_ |
| double | initial_interference_time |
| double | start_rx_time |
| double | end_rx_time |
| uwinterference::uwinterference | ( | ) |
Constructor of the class uwinterference
References use_maxinterval_.
|
virtual |
Destructor of the class uwinterference
|
virtual |
Add a packet to the interference calculation
| pw | Received power of the current packet |
| type | type of the packet (DATA or CTRL) |
References CTRL, power_list, and use_maxinterval_.
|
virtual |
Add a packet to the interference calculation
| p | Pointer to the interferer packet |
Reimplemented in uwinterferenceofdm.
References addToInterference(), CTRL, DATA, and end_timer.
Referenced by addToInterference(), UwOFDMPhy::recv(), UnderwaterPhysicaldb::recv(), and UnderwaterPhysical::recv().

Returns the counters of collisions
| starttime | timestamp of the start of reception phase |
| duration | duration of the reception phase |
| type | type of the packet (DATA or CTRL) |
Reimplemented in uwinterferenceofdm.
References CTRL, and power_list.
|
virtual |
Returns the counters of collisions
| p | Pointer of the packet for which the counters are needed |
Reimplemented in uwinterferenceofdm.
References CTRL, DATA, and getCounters().
Referenced by UwHermesPhy::endRx(), UwOFDMPhy::endRx(), UnderwaterHMMPhysical::endRx(), UnderwaterPhysical::endRx(), and getCounters().

|
virtual |
Reimplemented in uwinterferenceofdm.
References power_list.
|
inline |
Get the timestamp of the end of reception phase
References end_rx_time.
|
inline |
Get the timestamp of the begin of reception of the first interferer packet
References initial_interference_time.
Referenced by UnderwaterPhysicaldb::endRx().
|
virtual |
Compute the average interference power for the given packet
| pw | Received power of the current packet |
| starttime | timestamp of the start of reception phase |
| duration | duration of the reception phase |
References power_list.
|
virtual |
Compute the average interference power for the given packet
| p | Pointer to the interferer packet |
Reimplemented in uwinterferenceofdm.
References getInterferencePower(), and getTimeOverlap().
Referenced by UwAhoiPhy::endRx(), UwHermesPhy::endRx(), UwOFDMPhy::endRx(), UnderwaterPhysicaldb::endRx(), UnderwaterHMMPhysical::endRx(), UnderwaterPhysical::endRx(), and getInterferencePower().

|
inline |
Get the timestamp of the start of reception phase
References start_rx_time.
|
virtual |
Returns the percentage of overlap between current packet and interference packets
| starttime | timestamp of the start of reception phase |
| duration | duration of the reception phase |
Reimplemented in uwinterferenceofdm.
References power_list.
|
virtual |
Returns the percentage of overlap between current packet and interference packets
| p | Pointer of the packet for which the overlap is needed |
Reimplemented in uwinterferenceofdm.
References getTimeOverlap().
Referenced by getInterferencePower(), and getTimeOverlap().

|
virtual |
Remove a packet to the interference calculation
| pw | Received power of the current packet |
| type | type of the packet (DATA or CTRL) |
References CTRL, power_list, and use_maxinterval_.
Referenced by EndInterfTimer::handle().
|
protected |
timetamp of the end of reception phase
Referenced by getEndRxTime(), and uwinterferenceofdm::getEndRxTime().
|
protected |
Timer for schedules end of interference for a transmission
Referenced by addToInterference().
|
protected |
timestamp of the begin of reception of the first interferer packet
Referenced by getInitialInterferenceTime(), and uwinterferenceofdm::getInitialInterferenceTime().
|
protected |
List with power and counters
Referenced by addToInterference(), getCounters(), getCurrentTotalPower(), getInterferencePower(), getTimeOverlap(), and removeFromInterference().
|
protected |
timestamp of the start of reception phase
Referenced by getStartRxTime(), and uwinterferenceofdm::getStartRxTime().
|
protected |
set to 1 to use maxinterval_.
Referenced by addToInterference(), uwinterferenceofdm::addToInterference(), removeFromInterference(), uwinterferenceofdm::removeFromInterference(), uwinterference(), and uwinterferenceofdm::uwinterferenceofdm().