User Manual, Developers Guide and API Documentation

rise::ReceiverBase Class Reference
[Transceiver]

Receives TransmissionObjects and calculates Carrier and Interference. More...

#include <transceiver/receiver.hpp>

Inheritance diagram for rise::ReceiverBase:

Inheritance graph
[legend]
Collaboration diagram for rise::ReceiverBase:

Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual bool contains (TransmissionObjectPtr)
 Returns true if TransmissionObject is active.
virtual antenna::AntennagetAntenna () const =0
virtual wns::Power getInterference (const TransmissionObjectPtr &t)
 Returns the interference for this TransmissionObject.
wns::Power getNoise ()
 return receiver noise power
virtual wns::Power getRxPower (const TransmissionObjectPtr &t)
 Returns the received signal power of this transmission.
virtual wns::Power getTotalRxPower ()
 Returns the total received signal power of the PhysicalResource the.
bool isActive () const
virtual void mobilityUpdate (Transmitter *transmitter)
 Called by the PhysicalResource, if a Transmitter moves.
virtual void positionChanged ()
 Called, if Receiver moved.
virtual void positionWillChange ()
 Called, before Receiver moves.
 ReceiverBase (Station *s, Demodulator *demodulator, Decoder *decoder, wns::Ratio rnf)
 Constructor.
virtual void startReceiving ()
 listen to a specific PhysicalResource
virtual void stopReceiving ()
 stop listening to a specific PhysicalResource
virtual void tune (double f, double b, long int numberOfSubCarriers)
 listening on these frequencies
virtual ~ReceiverBase ()
 Destructor.

Protected Types

typedef std::vector
< medium::PhysicalResource * > 
PhysicalResourceContainer
typedef
PhysicalResourceContainer::iterator 
PhysicalResourceIterator

Protected Member Functions

virtual void writeCacheEntry (PropCacheEntry &cacheEntry, Transmitter *t, double freq)
 Updates the given cache entry.

Protected Attributes

bool active
 State of the Transceiver.
wns::Ratio CIR
 The C/I of the current connection.
Decoderdecoder
 The convolutional decoder used.
Demodulatordemodulator
 The demodulator used.
RISELogger log
 Logs messages to a main logger.
double midFrequency
 Mid frequency of the whole frequency band.
bool pd_debugFlag
PhysicalResourceContainer prc
 Contains all PhysicalResources the Transceiver is tuned to.
PropagationCachepropCache
 stores losses between receiver and all its transmitters
unsigned long int receiverId
 The Id of the receiver (for messages only).
wns::Ratio receiverNoiseFigure
wns::Cache< wns::PowertotalRxPower
 The total received signal power.
std::list< TransmissionObjectPtrtransmissionObjects
 List of all active TransmissionObjects.

Static Protected Attributes

static unsigned long int nextid = 0
 holds the next id of a receiver

Private Member Functions

void configureLogger ()
void initiatePropCache ()
 Initiate the receivers cache which stores total losses.

Friends

class PropagationCache


Detailed Description

This is a general Multi-Carrier Receiver. It is able to listen to multiple frequency bands. A frequency band corresponds to a PhysicalResource. Hence, the Receiver registers on a PhysicalResource and gets notified on Transmission start and stop. The Receiver is either in state receiving or not ;). In case a Transmitter will start transmitting (Transmitter::startTransmitting()) on a PhysicalResource the Receiver will be notified by the PhysicalResource, that is Receiver::notify() is called by the PhysicalResource.

Definition at line 78 of file receiver.hpp.


Member Typedef Documentation

Definition at line 202 of file receiver.hpp.

typedef PhysicalResourceContainer::iterator rise::ReceiverBase::PhysicalResourceIterator [protected]

Definition at line 203 of file receiver.hpp.


Constructor & Destructor Documentation

ReceiverBase::ReceiverBase ( Station s,
Demodulator demodulator,
Decoder decoder,
wns::Ratio  rnf 
)

Definition at line 52 of file receiver.cpp.

ReceiverBase::~ReceiverBase (  )  [virtual]

Definition at line 74 of file receiver.cpp.


Member Function Documentation

void ReceiverBase::configureLogger (  )  [private]

Definition at line 103 of file receiver.cpp.

bool ReceiverBase::contains ( TransmissionObjectPtr  t  )  [virtual]

Function checks if the list 'TransmissionObjects' contains the given TransmissionObject.

Reimplemented in rise::SCReceiver.

Definition at line 278 of file receiver.cpp.

virtual antenna::Antenna* rise::ReceiverBase::getAntenna (  )  const [pure virtual]

Implemented in rise::Receiver, and rise::ReceiverBF.

wns::Power ReceiverBase::getInterference ( const TransmissionObjectPtr t  )  [virtual]

The interference is here defined as: the total received signal power

Implements rise::receiver::InterferenceCalculationInterface.

Reimplemented in rise::ReceiverBF, and rise::SCReceiver.

Definition at line 171 of file receiver.cpp.

wns::Power ReceiverBase::getNoise (  ) 

Reimplemented in rise::SCReceiver.

Definition at line 197 of file receiver.cpp.

wns::Power ReceiverBase::getRxPower ( const TransmissionObjectPtr t  )  [virtual]

Implements rise::receiver::SignalCalculationInterface.

Reimplemented in rise::SCReceiver.

Definition at line 180 of file receiver.cpp.

wns::Power ReceiverBase::getTotalRxPower (  )  [virtual]

NOTE: This is a very simple implementation. It assumes your receiver is working on the whole bandwidth of the PhysicalResource. If you need something sophisticated please go ahead and implement something on your own (that's why the method is virtual).

Reimplemented in rise::SCReceiver.

Definition at line 152 of file receiver.cpp.

void ReceiverBase::initiatePropCache (  )  [private]

Definition at line 81 of file receiver.cpp.

bool rise::ReceiverBase::isActive (  )  const [inline]

Definition at line 151 of file receiver.hpp.

void ReceiverBase::mobilityUpdate ( Transmitter transmitter  )  [virtual]

PhysicalResource will call this function of every Receiver attached to itsself, if a Transmitter moves. The Receiver will update its Cache for this Transmitter.

Implements rise::PhysicalResourceObserver.

Definition at line 271 of file receiver.cpp.

void ReceiverBase::positionChanged (  )  [virtual]

Called, if Receiver moved. The Receiver will update its Cache.

Implements wns::PositionObserver.

Definition at line 261 of file receiver.cpp.

void ReceiverBase::positionWillChange (  )  [virtual]

Implements wns::PositionObserver.

Definition at line 266 of file receiver.cpp.

void ReceiverBase::startReceiving (  )  [virtual]

Sets receiving to true. The Receiver is attached to a PhysicalResource (via PhysicalResource::attachReceiver()). If the Receiver has no PhysicalResource, the function will fail. If the Receiver is already listening on a PhysicalResource the function will do nothing.

Reimplemented in rise::SCReceiver.

Definition at line 119 of file receiver.cpp.

void ReceiverBase::stopReceiving (  )  [virtual]

Sets receiving to false. The Receiver is detached from a PhysicalResource (via PhysicalResource::detachReceiver()). If the Receiver has no PhysicalResource, the function will fail. If the Receiver was not listening on a PhysicalResource the function will do nothing.

Reimplemented in rise::SCReceiver.

Definition at line 134 of file receiver.cpp.

void ReceiverBase::tune ( double  f,
double  b,
long int  numberOfSubCarriers 
) [virtual]

Definition at line 242 of file receiver.cpp.

void ReceiverBase::writeCacheEntry ( PropCacheEntry cacheEntry,
Transmitter t,
double  freq 
) [protected, virtual]

Sets the current values for pathloss, shadowing and antennaGain in the given cache entry.

Implements rise::receiver::ReceiverInterface.

Reimplemented in rise::ReceiverBF.

Definition at line 211 of file receiver.cpp.


Friends And Related Function Documentation

friend class PropagationCache [friend]

Definition at line 81 of file receiver.hpp.


Member Data Documentation

Definition at line 213 of file receiver.hpp.

Definition at line 176 of file receiver.hpp.

Definition at line 188 of file receiver.hpp.

Definition at line 185 of file receiver.hpp.

Definition at line 220 of file receiver.hpp.

Definition at line 218 of file receiver.hpp.

unsigned long int ReceiverBase::nextid = 0 [static, protected]

Definition at line 182 of file receiver.hpp.

Definition at line 200 of file receiver.hpp.

Definition at line 208 of file receiver.hpp.

Definition at line 197 of file receiver.hpp.

unsigned long int rise::ReceiverBase::receiverId [protected]

Definition at line 179 of file receiver.hpp.

Definition at line 199 of file receiver.hpp.

Definition at line 191 of file receiver.hpp.

Definition at line 194 of file receiver.hpp.


The documentation for this class was generated from the following files:

Generated on Sat May 26 03:32:36 2012 for openWNS by  doxygen 1.5.5