File: NetworkInterfaces/MF80211/phyLayer/snrEval/SnrEval.ned
C++ definition: click here
Represents the radio. Frames received from higher layers (typically the MAC protocol) are transmitted on the radio channel, using the global ChannelControl module. Frames received on the radio channel will have their signal-noise ratio evaluated and passed up to the decider. (It is the decider's task to determine whether the frame was received correctly, and pass it up to the MAC layer).
The receive/transmit channel (frequency) can be changed by sending SnrEval a blank cMessage with PHY_C_CONFIGURERADIO as message kind, and a PhyControlInfo object attached to it as control info, to hold the new channel number. If the radio is currently transmitting, the channel switch will actually take place after the transmission is completed.
This component has been taken over from Mobility Framework 1.0a5.
The following diagram shows usage relationships between modules, networks and channels. Unresolved module (and channel) types are missing from the diagram. Click here to see the full picture.
If a module type shows up more than once, that means it has been defined in more than one NED file.
NicCsma | The CsmaNic contains a csma-like MAC layer. The SnrEval module is used as the mac needs a RadioState to be published. However as still the BasicDecider is used all messages will be delivered to the MAC and no packets get lost |
SnrNic | This is the easiest nic to implement "real" network behaviour. It uses the CsmaMacLayer and the SnrDecider and SnrEval modules. |
Name | Type | Description |
---|---|---|
channelNumber | numeric const | channel identifier |
debug | bool | debug switch |
transmitterPower | numeric const | |
bitrate | numeric const | |
headerLength | numeric const | |
thermalNoise | numeric const | |
pathLossAlpha | numeric const | |
sensitivity | numeric const |
Name | Direction | Description |
---|---|---|
uppergateIn | input | from higher layer protocol (MAC) |
uppergateOut | output | to decider (decider connects to higher layer protocol, i.e. the MAC) |
radioIn | input | to receive frames (AirFrame) on the radio channel |
simple SnrEval parameters: channelNumber: numeric const, // channel identifier debug : bool, // debug switch transmitterPower : numeric const, bitrate: numeric const, headerLength: numeric const, thermalNoise: numeric const, pathLossAlpha: numeric const, sensitivity: numeric const; gates: in: uppergateIn; // from higher layer protocol (MAC) out: uppergateOut; // to decider (decider connects to higher layer protocol, i.e. the MAC) in: radioIn; // to receive frames (AirFrame) on the radio channel endsimple