Public Member Functions | Protected Attributes | Friends

JakesFading Class Reference
[analogueModels - AnalogueModel implementations]

Implements Rayleigh fading after Jakes' model. More...

#include <JakesFading.h>

Inherits AnalogueModel.

Collaboration diagram for JakesFading:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 JakesFading (int fadingPaths, simtime_t delayRMS, Move *hostMove, double carrierFrequency, simtime_t interval)
 Takes the number of fading paths, the maximum delay on a path, the hosts move, the carrier frequency used and the interval in which to defien attenuation entries in. *.
virtual void filterSignal (Signal &s)
 Has to be overriden by every implementation.

Protected Attributes

int fadingPaths
 Number of fading paths used.
double * angleOfArrival
 Angle of arrival on a fading path used for Doppler shift calculation.
simtime_t * delay
 Delay on a fading path.
MovehostMove
 HostMove of this analogue models host.
double carrierFrequency
 Carrier frequency to be used.
Argument interval
 The interval to set attenuation entries in.

Friends

class JakesFadingMapping

Detailed Description

Implements Rayleigh fading after Jakes' model.

An example config.xml for this AnalogueModel can be the following:

	<AnalogueModel type="JakesFading">
		<!-- Carrier frequency of the signal in Hz
			 If ommited the carrier frequency from the
			 connection manager is taken if available
			 otherwise set to default frequency of 2.412e+9-->
		<parameter name="carrierFrequency" type="double" value="2.412e+9"/>

		<!-- Number of fading paths per host -->
		<parameter name="fadingPaths" type="long" value="3"/>

		<!-- f-selectivity: mean delay spread in seconds -->
		<parameter name="delayRMS" type="double" value="0.0001"/>

		<!-- Interval in which to define attenuation for in seconds -->
		<parameter name="interval" type="double" value="0.001"/>
	</AnalogueModel>
   
Author:
Hermann S. Lichte, Karl Wessel (port for MiXiM)

Definition at line 93 of file JakesFading.h.


Member Function Documentation

void JakesFading::filterSignal ( Signal s  )  [virtual]

Has to be overriden by every implementation.

Filters a specified Signal by adding an attenuation over time to the Signal.

Implements AnalogueModel.

Definition at line 86 of file JakesFading.cc.

References Signal::addAttenuation(), Move::getDirection(), Signal::getMove(), Signal::getSignalLength(), Signal::getSignalStart(), Move::getSpeed(), hostMove, and interval.

{
  const Move& senderMove = s.getMove();
  double relSpeed = (senderMove.getDirection() * senderMove.getSpeed()
             - hostMove->getDirection() * hostMove->getSpeed()).length();

  simtime_t start = s.getSignalStart();
  simtime_t end = start + s.getSignalLength();

  s.addAttenuation(new JakesFadingMapping(this, relSpeed,
                      Argument(start),
                      interval,
                      Argument(end)));
}


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