The SatPhyRx models the physical layer receiver of satellite system. More...
#include "satellite-phy-rx.h"
Public Types | |
typedef Callback< void, uint32_t, uint32_t, uint32_t, uint8_t, double > | AverageNormalizedOfferedLoadCallback |
typedef Callback< void, uint32_t, uint32_t, Address, Address, double, bool > | CnoCallback |
typedef Callback< void, Ptr< SatSignalParameters >, bool > | ReceiveCallback |
Public Member Functions | |
SatPhyRx () | |
Default constructor. More... | |
virtual | ~SatPhyRx () |
Destructor for SatPhyRx. More... | |
void | BeginEndScheduling () |
Begin frame/window end scheduling for processes utilizing frame length as interval. More... | |
void | ConfigurePhyRxCarriers (Ptr< SatPhyRxCarrierConf > carrierConf, Ptr< SatSuperframeConf > superFrameConf) |
virtual void | DoDispose () |
Dispose of this class instance. More... | |
Mac48Address | GetAddress () const |
Get MAC address of this PHY/MAC. More... | |
double | GetAntennaGain (Ptr< MobilityModel > mobility) |
Get antenna gain based on position or in case that antenna pattern is not configured, maximum configured gain is return. More... | |
uint32_t | GetBeamId () const |
Get beam id of this receiver. More... | |
Ptr< NetDevice > | GetDevice () |
double | GetFadingValue (Address macAddress, SatEnums::ChannelType_t channelType) |
Get fading value. More... | |
double | GetLosses () |
Get configures RX losses, currently only antenna loss used. More... | |
Ptr< MobilityModel > | GetMobility () |
double | GetRxTemperatureK (Ptr< SatSignalParameters > rxParams) |
Method for querying the temperature of the chosen carrier. More... | |
uint32_t | GetSatId () const |
Get satellite id of this receiver. More... | |
void | SetAntennaGainPattern (Ptr< SatAntennaGainPattern > agp, Ptr< SatMobilityModel > mobility) |
void | SetAntennaLoss_Db (double loss_Db) |
Set the Antenna loss in Db. More... | |
void | SetAverageNormalizedOfferedLoadCallback (SatPhyRx::AverageNormalizedOfferedLoadCallback cb) |
Set average normalized offered load callback. More... | |
void | SetBeamId (uint32_t beamId) |
Set the beam id for all the transmissions from this SatPhyTx. More... | |
void | SetCnoCallback (SatPhyRx::CnoCallback cb) |
Set C/N0 receiver. More... | |
void | SetDefaultFadingValue (double fadingValue) |
Function for setting the default fading value. More... | |
void | SetDevice (Ptr< NetDevice > d) |
void | SetFadingContainer (Ptr< SatBaseFading > fadingContainer) |
Set fading container. More... | |
void | SetMaxAntennaGain_Db (double gain_Db) |
Set the maximum Antenna gain in Db. More... | |
void | SetMobility (Ptr< MobilityModel > m) |
void | SetNodeInfo (const Ptr< SatNodeInfo > nodeInfo) |
Set the node info class. More... | |
void | SetReceiveCallback (SatPhyRx::ReceiveCallback cb) |
Set the upper layer receive callback. More... | |
void | SetSatId (uint32_t satId) |
Set the satellite id for all the transmissions from this SatPhyTx. More... | |
virtual void | StartRx (Ptr< SatSignalParameters > rxParams) |
Start packet reception from the SatChannel. More... | |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
inherited from Object More... | |
Private Attributes | |
Ptr< SatAntennaGainPattern > | m_antennaGainPattern |
double | m_antennaLoss |
Configured antenna loss in linear. More... | |
uint32_t | m_beamId |
double | m_defaultFadingValue |
Default fading value. More... | |
Ptr< NetDevice > | m_device |
Ptr< SatBaseFading > | m_fadingContainer |
Fading container for fading model. More... | |
Mac48Address | m_macAddress |
double | m_maxAntennaGain |
Configured maximum antenna gain in linear. More... | |
Ptr< MobilityModel > | m_mobility |
std::vector< Ptr< SatPhyRxCarrier > > | m_rxCarriers |
uint32_t | m_satId |
Ptr< SatMobilityModel > | m_satMobility |
The SatPhyRx models the physical layer receiver of satellite system.
Definition at line 56 of file satellite-phy-rx.h.
typedef Callback<void, uint32_t, uint32_t, uint32_t, uint8_t, double> ns3::SatPhyRx::AverageNormalizedOfferedLoadCallback |
satellite | Id |
beam | Id |
carrier | Id |
allocation | channel Id |
average | normalized offered load |
Definition at line 202 of file satellite-phy-rx.h.
typedef Callback<void, uint32_t, uint32_t, Address, Address, double, bool> ns3::SatPhyRx::CnoCallback |
satellite | Id |
beam | Id |
Id | (address) of the source (sender) |
Id | (address) of the destination (receiver) |
C/N0 | value |
If | true, cno corresponds to link SAT to GW; if false, cno corresponds to link UT to GW |
Definition at line 192 of file satellite-phy-rx.h.
typedef Callback<void, Ptr<SatSignalParameters>, bool> ns3::SatPhyRx::ReceiveCallback |
SatSignalParameters | containing e.g. the received packet |
boolean | indicating whether there was a PHY error |
Definition at line 182 of file satellite-phy-rx.h.
ns3::SatPhyRx::SatPhyRx | ( | ) |
Default constructor.
Definition at line 52 of file satellite-phy-rx.cc.
|
virtual |
Destructor for SatPhyRx.
Definition at line 61 of file satellite-phy-rx.cc.
void ns3::SatPhyRx::BeginEndScheduling | ( | void | ) |
Begin frame/window end scheduling for processes utilizing frame length as interval.
Definition at line 210 of file satellite-phy-rx.cc.
References m_rxCarriers.
void ns3::SatPhyRx::ConfigurePhyRxCarriers | ( | Ptr< SatPhyRxCarrierConf > | carrierConf, |
Ptr< SatSuperframeConf > | superFrameConf | ||
) |
carrierConf | Carrier configuration class |
superFrameConf | Superframe configuration |
Definition at line 291 of file satellite-phy-rx.cc.
References ns3::SatEnums::FORWARD_FEEDER_CH, ns3::SatEnums::FORWARD_USER_CH, m_rxCarriers, ns3::SatEnums::RA_MODEL_CRDSA, ns3::SatEnums::RA_MODEL_ESSA, ns3::SatEnums::RA_MODEL_MARSALA, ns3::SatEnums::RA_MODEL_RCS2_SPECIFICATION, ns3::SatEnums::RA_MODEL_SLOTTED_ALOHA, ns3::SatEnums::REGENERATION_LINK, ns3::SatEnums::REGENERATION_NETWORK, ns3::SatEnums::REGENERATION_PHY, ns3::SatEnums::RETURN_FEEDER_CH, ns3::SatEnums::RETURN_USER_CH, ns3::SatEnums::TRANSPARENT, and ns3::SatEnums::UNKNOWN_CH.
|
virtual |
Dispose of this class instance.
Definition at line 67 of file satellite-phy-rx.cc.
References m_device, m_fadingContainer, m_mobility, and m_rxCarriers.
Mac48Address ns3::SatPhyRx::GetAddress | ( | void | ) | const |
Get MAC address of this PHY/MAC.
Definition at line 187 of file satellite-phy-rx.cc.
References m_macAddress.
double ns3::SatPhyRx::GetAntennaGain | ( | Ptr< MobilityModel > | mobility | ) |
Get antenna gain based on position or in case that antenna pattern is not configured, maximum configured gain is return.
mobility | Mobility used to get gain from antenna pattern |
If antenna gain pattern is not set, we use the set maximum antenna gain.
Definition at line 117 of file satellite-phy-rx.cc.
References m_antennaGainPattern, m_maxAntennaGain, and m_satMobility.
uint32_t ns3::SatPhyRx::GetBeamId | ( | void | ) | const |
Get beam id of this receiver.
Definition at line 502 of file satellite-phy-rx.cc.
References m_beamId.
Ptr< NetDevice > ns3::SatPhyRx::GetDevice | ( | void | ) |
Definition at line 91 of file satellite-phy-rx.cc.
References m_device.
double ns3::SatPhyRx::GetFadingValue | ( | Address | macAddress, |
SatEnums::ChannelType_t | channelType | ||
) |
Get fading value.
macAddress | MAC address |
channelType | channel type |
Definition at line 147 of file satellite-phy-rx.cc.
References m_defaultFadingValue, and m_fadingContainer.
double ns3::SatPhyRx::GetLosses | ( | ) |
Get configures RX losses, currently only antenna loss used.
Definition at line 179 of file satellite-phy-rx.cc.
References m_antennaLoss.
Ptr< MobilityModel > ns3::SatPhyRx::GetMobility | ( | ) |
Definition at line 265 of file satellite-phy-rx.cc.
References m_mobility.
double ns3::SatPhyRx::GetRxTemperatureK | ( | Ptr< SatSignalParameters > | rxParams | ) |
Method for querying the temperature of the chosen carrier.
rxParams | The needed parameters for the received signal |
Definition at line 510 of file satellite-phy-rx.cc.
References m_rxCarriers.
uint32_t ns3::SatPhyRx::GetSatId | ( | ) | const |
Get satellite id of this receiver.
Definition at line 477 of file satellite-phy-rx.cc.
References m_satId.
|
static |
void ns3::SatPhyRx::SetAntennaGainPattern | ( | Ptr< SatAntennaGainPattern > | agp, |
Ptr< SatMobilityModel > | mobility | ||
) |
Definition at line 281 of file satellite-phy-rx.cc.
References m_antennaGainPattern, and m_satMobility.
void ns3::SatPhyRx::SetAntennaLoss_Db | ( | double | loss_Db | ) |
Set the Antenna loss in Db.
loss_Db | antenna loss in Dbs |
Definition at line 171 of file satellite-phy-rx.cc.
References ns3::SatUtils::DbToLinear(), and m_antennaLoss.
void ns3::SatPhyRx::SetAverageNormalizedOfferedLoadCallback | ( | SatPhyRx::AverageNormalizedOfferedLoadCallback | cb | ) |
Set average normalized offered load callback.
cb |
Definition at line 251 of file satellite-phy-rx.cc.
References m_rxCarriers.
void ns3::SatPhyRx::SetBeamId | ( | uint32_t | beamId | ) |
Set the beam id for all the transmissions from this SatPhyTx.
beamId | the Beam Identifier |
Definition at line 485 of file satellite-phy-rx.cc.
References m_beamId, and m_rxCarriers.
void ns3::SatPhyRx::SetCnoCallback | ( | SatPhyRx::CnoCallback | cb | ) |
Set C/N0 receiver.
cb | receive callback funtion pointer |
Definition at line 237 of file satellite-phy-rx.cc.
References m_rxCarriers.
void ns3::SatPhyRx::SetDefaultFadingValue | ( | double | fadingValue | ) |
Function for setting the default fading value.
fadingValue | default fading value |
Definition at line 140 of file satellite-phy-rx.cc.
References m_defaultFadingValue.
void ns3::SatPhyRx::SetDevice | ( | Ptr< NetDevice > | d | ) |
Definition at line 100 of file satellite-phy-rx.cc.
References m_device.
void ns3::SatPhyRx::SetFadingContainer | ( | Ptr< SatBaseFading > | fadingContainer | ) |
Set fading container.
fadingContainer | fading container |
Definition at line 162 of file satellite-phy-rx.cc.
References m_fadingContainer.
void ns3::SatPhyRx::SetMaxAntennaGain_Db | ( | double | gain_Db | ) |
Set the maximum Antenna gain in Db.
gain_Db | maximum antenna gain in Dbs |
Definition at line 109 of file satellite-phy-rx.cc.
References ns3::SatUtils::DbWToW(), and m_maxAntennaGain.
void ns3::SatPhyRx::SetMobility | ( | Ptr< MobilityModel > | m | ) |
Definition at line 274 of file satellite-phy-rx.cc.
References m_mobility.
void ns3::SatPhyRx::SetNodeInfo | ( | const Ptr< SatNodeInfo > | nodeInfo | ) |
Set the node info class.
nodeInfo | Node information related to this SatPhyRx |
Definition at line 195 of file satellite-phy-rx.cc.
References m_macAddress, and m_rxCarriers.
void ns3::SatPhyRx::SetReceiveCallback | ( | SatPhyRx::ReceiveCallback | cb | ) |
Set the upper layer receive callback.
cb | receive callback funtion pointer |
Definition at line 223 of file satellite-phy-rx.cc.
References m_rxCarriers.
void ns3::SatPhyRx::SetSatId | ( | uint32_t | satId | ) |
Set the satellite id for all the transmissions from this SatPhyTx.
satId | the satellite Identifier |
Definition at line 460 of file satellite-phy-rx.cc.
References m_rxCarriers, and m_satId.
|
virtual |
Start packet reception from the SatChannel.
rxParams | The needed parameters for the received signal |
Reimplemented in ns3::SatLoraPhyRx.
Definition at line 525 of file satellite-phy-rx.cc.
References m_rxCarriers.
Referenced by ns3::SatLoraPhyRx::StartRx().
|
private |
Definition at line 256 of file satellite-phy-rx.h.
Referenced by GetAntennaGain(), and SetAntennaGainPattern().
|
private |
Configured antenna loss in linear.
Definition at line 271 of file satellite-phy-rx.h.
Referenced by GetLosses(), and SetAntennaLoss_Db().
|
private |
Definition at line 250 of file satellite-phy-rx.h.
Referenced by GetBeamId(), and SetBeamId().
|
private |
Default fading value.
Definition at line 284 of file satellite-phy-rx.h.
Referenced by GetFadingValue(), and SetDefaultFadingValue().
|
private |
Definition at line 247 of file satellite-phy-rx.h.
Referenced by DoDispose(), GetDevice(), and SetDevice().
|
private |
Fading container for fading model.
Definition at line 279 of file satellite-phy-rx.h.
Referenced by DoDispose(), GetFadingValue(), and SetFadingContainer().
|
private |
Definition at line 251 of file satellite-phy-rx.h.
Referenced by GetAddress(), and SetNodeInfo().
|
private |
Configured maximum antenna gain in linear.
Definition at line 266 of file satellite-phy-rx.h.
Referenced by GetAntennaGain(), and SetMaxAntennaGain_Db().
|
private |
Definition at line 246 of file satellite-phy-rx.h.
Referenced by DoDispose(), GetMobility(), and SetMobility().
|
private |
Definition at line 274 of file satellite-phy-rx.h.
Referenced by BeginEndScheduling(), ConfigurePhyRxCarriers(), DoDispose(), GetRxTemperatureK(), GetTypeId(), SetAverageNormalizedOfferedLoadCallback(), SetBeamId(), SetCnoCallback(), SetNodeInfo(), SetReceiveCallback(), SetSatId(), and StartRx().
|
private |
Definition at line 249 of file satellite-phy-rx.h.
Referenced by GetSatId(), and SetSatId().
|
private |
Definition at line 261 of file satellite-phy-rx.h.
Referenced by GetAntennaGain(), and SetAntennaGainPattern().