#include <GilbertElliotSnr.h>
Inherits SnrEval.
Inheritance diagram for GilbertElliotSnr:
Public Member Functions | |
virtual void | initialize (int) |
Initialize variables and publish the radio status. | |
virtual void | finish () |
Protected Types | |
enum | State { GOOD, BAD } |
Gilbert-Elliot state types. | |
Protected Member Functions | |
virtual void | handleSelfMsg (cMessage *) |
Handle state change timer. | |
virtual void | handleLowerMsgStart (AirFrame *) |
Assigns bit errors to all messages. | |
virtual void | handleLowerMsgEnd (AirFrame *) |
Assigns bit errors to all messages. | |
Protected Attributes | |
State | state |
System state. | |
double | meanGood |
mean value to compute the time the xystem stays in the GOOD state | |
double | meanBad |
mean value to compute the time the xystem stays in the BAD state | |
cMessage * | stateChange |
timer to indicate a change of state | |
Private Member Functions | |
Module_Class_Members (GilbertElliotSnr, SnrEval, 0) |
This module has exactly the same functionality as the SnrEval module, but furthermore it puts a Gilbert-Elliot model on top of the SNIR level computation. This means that it changes between the states GOOD and BAD. If it is in state BAD a received frame will be marked as corrupted.
The Gilbert Elliot model is used to simulate outer system disturbances.
This module should be used in combination with the GilbertElliotDecider moulde which evaluates the snr levels as well as the marked frames.
|
Assigns bit errors to all messages. A bad state may be so long that it spans several recvBuffers -- this case is caught here. Reimplemented from SnrEval. |
|
Assigns bit errors to all messages. A bad state may be so long that it spans several recvBuffers -- this case is caught here. Reimplemented from SnrEval. |
|
Handle state change timer. Assigns bit errors to all messages currently in the recvBuffer Reimplemented from BasicSnrEval. |
|
Initialize variables and publish the radio status. All values not present in the ned file will be read from the ChannelControl module or assigned default values. Reimplemented from SnrEval. |