![]() |
User Manual, Developers Guide and API Documentation |
![]() |
#include <antenna/Beamforming.hpp>


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 *, double > | pd_azimuthAngles |
| std::map< Station *, wns::Power > | pd_lastPowerReceived |
| std::map< Station *, wns::Power > | pd_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 |
Definition at line 53 of file Beamforming.hpp.
| 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.
| 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.
Definition at line 342 of file Beamforming.cpp.
| void Beamforming::drawRadiationPattern | ( | ) | const [protected, virtual] |
| void Beamforming::drawRadiationPattern | ( | std::string | file, | |
| PatternPtr | pattern | |||
| ) | [virtual] |
Definition at line 515 of file Beamforming.cpp.
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] |
| 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.
layoutType rise::antenna::Beamforming::arrayLayout [protected] |
Definition at line 130 of file Beamforming.hpp.
Definition at line 152 of file Beamforming.hpp.
std::map<Station*, double> rise::antenna::Beamforming::pd_azimuthAngles [protected] |
Definition at line 128 of file Beamforming.hpp.
std::map<Station*, wns::Power> rise::antenna::Beamforming::pd_lastPowerReceived [protected] |
Definition at line 126 of file Beamforming.hpp.
std::map<Station*, wns::Power> rise::antenna::Beamforming::pd_lastTxPower [protected] |
Definition at line 127 of file Beamforming.hpp.
unsigned long int rise::antenna::Beamforming::pd_noAntennaElements [protected] |
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.
1.5.5