User Manual, Developers Guide and API Documentation

rise::antenna::Beamforming Class Reference

#include <antenna/Beamforming.hpp>

Inheritance diagram for rise::antenna::Beamforming:

Inheritance graph
[legend]
Collaboration diagram for rise::antenna::Beamforming:

Collaboration graph
[legend]

List of all members.

Public Types

enum  layoutType { linear = 0, circular }

Public Member Functions

 Beamforming (const wns::pyconfig::View &pyConfigView, Station *const station)
virtual PatternPtr calculateAndSetBeam (Station *id, const std::vector< Station * > &undesired, wns::Power IinterPlusNoise)
virtual std::map
< rise::Station *, wns::CandI
calculateCandIsRx (const std::vector< Station * > &combination, wns::Power iInterPlusNoise)
virtual std::map
< rise::Station *, wns::CandI
calculateCandIsTx (const std::map< Station *, wns::Power > &station2iIntercellPlusNoise, wns::Power xFriendlyness, wns::Power txPower, bool eirpLimited)
virtual void drawRadiationPattern (std::string file, PatternPtr pattern)
virtual double estimateDoA (Station *id)
virtual wns::Ratio getGain (const wns::Position &pos, const TransmissionObjectPtr &TO) const
virtual wns::Ratio getGain (const wns::Position &pos, const PatternPtr pattern) const
virtual void setPowerReceivedForStation (Station *const id, const wns::Power power)
 Set the power level that is received from station 'id'.
virtual void setTxPowerForStation (Station *const id, const wns::Power power)
 Set the power level that the station 'id' uses to transmit.
virtual void startReceiving (const TransmissionObjectPtr &TO, PatternPtr pattern)
virtual void stopReceiving (const TransmissionObjectPtr &TO)
virtual ~Beamforming ()

Protected Member Functions

virtual void drawRadiationPattern () const
 method that writes the pattern to a file
virtual wns::Ratio pd_getGainEntry (unsigned long int index, PatternPtr patternId) const

Protected Attributes

layoutType arrayLayout
std::map< Station *, doublepd_azimuthAngles
std::map< Station *, wns::Powerpd_lastPowerReceived
std::map< Station *, wns::Powerpd_lastTxPower
unsigned long int pd_noAntennaElements
TO2PatternMap pd_receivedTO2PatternMap

Private Member Functions

double calculatePhaseDelta (int antennaNo, double stationPhi) const
PatternPtr p_calculateBeam (Station *id, const std::vector< Station * > &undesired, wns::Power IinterPlusNoise)
void p_herm_rest (boost::numeric::ublas::matrix< std::complex< double > > &c, const unsigned long int m) const

Private Attributes

wns::distribution::Norm dis
 pointer to the used Gaussian Normal Distribution
double positionErrorVariance
 variance of the Gaussian Distribution
std::vector
< boost::numeric::ublas::vector
< std::complex< double > > * > 
steervectors


Detailed Description

Definition at line 53 of file Beamforming.hpp.


Member Enumeration Documentation

Enumerator:
linear 
circular 

Definition at line 113 of file Beamforming.hpp.


Constructor & Destructor Documentation

Beamforming::Beamforming ( const wns::pyconfig::View pyConfigView,
Station *const   station 
)

Definition at line 41 of file Beamforming.cpp.

Beamforming::~Beamforming (  )  [virtual]

Definition at line 81 of file Beamforming.cpp.


Member Function Documentation

PatternPtr Beamforming::calculateAndSetBeam ( Station id,
const std::vector< Station * > &  undesired,
wns::Power  IinterPlusNoise 
) [virtual]

Definition at line 333 of file Beamforming.cpp.

std::map< rise::Station *, wns::CandI > Beamforming::calculateCandIsRx ( const std::vector< Station * > &  combination,
wns::Power  iInterPlusNoise 
) [virtual]

Definition at line 256 of file Beamforming.cpp.

std::map< rise::Station *, wns::CandI > Beamforming::calculateCandIsTx ( const std::map< Station *, wns::Power > &  station2iIntercellPlusNoise,
wns::Power  xFriendlyness,
wns::Power  txPower,
bool  eirpLimited 
) [virtual]

Definition at line 153 of file Beamforming.cpp.

double Beamforming::calculatePhaseDelta ( int  antennaNo,
double  stationPhi 
) const [private]

Definition at line 342 of file Beamforming.cpp.

void Beamforming::drawRadiationPattern (  )  const [protected, virtual]

Reimplemented from rise::antenna::Antenna.

Definition at line 547 of file Beamforming.cpp.

void Beamforming::drawRadiationPattern ( std::string  file,
PatternPtr  pattern 
) [virtual]

Definition at line 515 of file Beamforming.cpp.

double Beamforming::estimateDoA ( Station id  )  [virtual]

Definition at line 324 of file Beamforming.cpp.

wns::Ratio Beamforming::getGain ( const wns::Position pos,
const TransmissionObjectPtr TO 
) const [virtual]

Definition at line 91 of file Beamforming.cpp.

wns::Ratio Beamforming::getGain ( const wns::Position pos,
const PatternPtr  pattern 
) const [virtual]

Implements rise::antenna::Antenna.

Definition at line 100 of file Beamforming.cpp.

PatternPtr Beamforming::p_calculateBeam ( Station id,
const std::vector< Station * > &  undesired,
wns::Power  IinterPlusNoise 
) [private]

Definition at line 373 of file Beamforming.cpp.

void Beamforming::p_herm_rest ( boost::numeric::ublas::matrix< std::complex< double > > &  c,
const unsigned long int  m 
) const [private]

Definition at line 499 of file Beamforming.cpp.

wns::Ratio Beamforming::pd_getGainEntry ( unsigned long int  index,
PatternPtr  patternId 
) const [protected, virtual]

Definition at line 117 of file Beamforming.cpp.

void Beamforming::setPowerReceivedForStation ( Station *const   id,
const wns::Power  power 
) [virtual]

This value is the power level actually received at the Beamforming antenna. That is, TX-power of station - pathloss to Beamforming antenna.

It is mandatory to set this value before using any Beamforming functions.

Definition at line 126 of file Beamforming.cpp.

void Beamforming::setTxPowerForStation ( Station *const   id,
const wns::Power  power 
) [virtual]

This value is the power level actually used by the station 'id' to transmit. It is mandatory to set this value before using calculateSINRsTx because from this value and the value set with setPowerReceivedForStation the pathloss between the Beamforming antenna and the station is calculated. The pathloss is required for the correct calculation of the SINRs in the TX-case.

Definition at line 133 of file Beamforming.cpp.

void Beamforming::startReceiving ( const TransmissionObjectPtr TO,
PatternPtr  pattern 
) [virtual]

Definition at line 140 of file Beamforming.cpp.

void Beamforming::stopReceiving ( const TransmissionObjectPtr TO  )  [virtual]

Definition at line 147 of file Beamforming.cpp.


Member Data Documentation

Definition at line 130 of file Beamforming.hpp.

Definition at line 152 of file Beamforming.hpp.

Definition at line 128 of file Beamforming.hpp.

Definition at line 126 of file Beamforming.hpp.

Definition at line 127 of file Beamforming.hpp.

Definition at line 125 of file Beamforming.hpp.

Definition at line 129 of file Beamforming.hpp.

Definition at line 147 of file Beamforming.hpp.

std::vector<boost::numeric::ublas::vector<std::complex<double> >*> rise::antenna::Beamforming::steervectors [private]

Definition at line 136 of file Beamforming.hpp.


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

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