ns3::JakesPropagationLossModel Class Reference

a Jakes propagation loss model More...

#include <jakes-propagation-loss-model.h>

Inheritance diagram for ns3::JakesPropagationLossModel:

Inheritance graph
Collaboration diagram for ns3::JakesPropagationLossModel:

Collaboration graph

List of all members.

Public Member Functions

void SetNRays (uint8_t nRays)
void SetNOscillators (uint8_t nOscillators)

Static Public Member Functions

static TypeId GetTypeId (void)
 This method returns the TypeId associated to ns3::JakesPropagationLossModel.

Detailed Description

a Jakes propagation loss model

The Jakes propagation loss model implemented here is described in [1].

We call path the set of rays that depart from a given transmitter and arrive to a given receiver. For each ray The complex coefficient is compute as follow:

\[ u(t)=u_c(t) + j u_s(t)\]

\[ u_c(t) = \frac{2}{\sqrt{N}}\sum_{n=0}^{M}a_n\cos(\omega_n t+\phi_n)\]

\[ u_s(t) = \frac{2}{\sqrt{N}}\sum_{n=0}^{M}b_n\cos(\omega_n t+\phi_n)\]


\[ a_n=\left \{ \begin{array}{ll} \sqrt{2}\cos\beta_0 & n=0 \\ 2\cos\beta_n & n=1,2,\ldots,M \end{array} \right .\]

\[ b_n=\left \{ \begin{array}{ll} \sqrt{2}\sin\beta_0 & n=0 \\ 2\sin\beta_n & n=1,2,\ldots,M \end{array} \right .\]

\[ \beta_n=\left \{ \begin{array}{ll} \frac{\pi}{4} & n=0 \\ \frac{\pi n}{M} & n=1,2,\ldots,M \end{array} \right .\]

\[ \omega_n=\left \{ \begin{array}{ll} 2\pi f_d & n=0 \\ 2\pi f_d \cos\frac{2\pi n}{N} & n=1,2,\ldots,M \end{array} \right .\]

The parameter $f_d$ is the doppler frequency and $N=4M+2$ where $M$ is the number of oscillators per ray.

The attenuation coefficent of the path is the magnitude of the sum of all the ray coefficients. This attenuation coefficient could be greater than $1$, hence it is divide by $ \frac{2N_r}{\sqrt{N}} \sum_{n+0}^{M}\sqrt{a_n^2 +b_n^2}$ where $N_r$ is the number of rays.

The initail phases $\phi_i$ are random and they are choosen according to a given distribution.

[1] Y. R. Zheng and C. Xiao, "Simulation Models With Correct Statistical Properties for Rayleigh Fading Channel", IEEE Trans. on Communications, Vol. 51, pp 920-928, June 2003

Member Function Documentation

static TypeId ns3::JakesPropagationLossModel::GetTypeId ( void   )  [static]

This method returns the TypeId associated to ns3::JakesPropagationLossModel.

Attributes defined for this type:

  • NumberOfRaysPerPath: The number of rays to use by default for compute the fading coeficent for a given path (default is 1)
  • NumberOfOscillatorsPerRay: The number of oscillators to use by default for compute the coeficent for a given ray of a given path (default is 4)
  • DopplerFreq: The doppler frequency in Hz (f_d = v / lambda = v * f / c), the default is 0)
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 0
    • Flags: construct write read
  • Distribution: The distribution to choose the initial phases.
No TraceSources defined for this type.

Reimplemented from ns3::PropagationLossModel.

void ns3::JakesPropagationLossModel::SetNOscillators ( uint8_t  nOscillators  ) 

nOscillators Number of oscillators
Set the number of oscillators to use to compute the ray coefficient

void ns3::JakesPropagationLossModel::SetNRays ( uint8_t  nRays  ) 

nRays Number of rays per path
Set the number of rays for each path

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

Generated on Fri Apr 9 15:01:09 2010 for NS-3 by  doxygen 1.5.8