Tag to store uplink phy info that need to be forwarded to the downlink. More...
#include "satellite-uplink-info-tag.h"
Public Member Functions | |
SatUplinkInfoTag () | |
Default constructor. More... | |
SatUplinkInfoTag (Time satelliteReceptionTime, double sinr, double additionalInterference, uint32_t satId, uint32_t beamId, bool isControl) | |
Constructor with initialization parameters. More... | |
virtual void | Deserialize (TagBuffer i) |
Deserializes information from buffer to this instance of SatUplinkInfoTag. More... | |
double | GetAdditionalInterference (void) const |
Get additional interference to add to compute final SINR. More... | |
uint32_t | GetBeamId (void) const |
Get the UT beam ID. More... | |
virtual TypeId | GetInstanceTypeId (void) const |
Get the type ID of instance. More... | |
Time | GetSatelliteReceptionTime (void) const |
Get satellite reception time of packet. More... | |
uint32_t | GetSatId (void) const |
Get the UT sat ID. More... | |
virtual uint32_t | GetSerializedSize () const |
Get serialized size of SatUplinkInfoTag. More... | |
double | GetSinr (void) const |
Get uplink SINR. More... | |
bool | IsControl (void) const |
Get if packet is a control packet. More... | |
bool | IsSinrComputed (void) const |
Tell if SINR already computed. More... | |
virtual void | Print (std::ostream &os) const |
Print time stamp of this instance of SatUplinkInfoTag. More... | |
virtual void | Serialize (TagBuffer i) const |
Serializes information to buffer from this instance of SatUplinkInfoTag. More... | |
void | SetBeamId (uint32_t beamId) |
Set the UT beam ID. More... | |
void | SetIsControl (bool isControl) |
Set if packet is a control packet. More... | |
void | SetSatelliteReceptionTime (Time satelliteReceptionTime) |
Set satellite reception time of packet. More... | |
void | SetSatId (uint32_t satId) |
Set the UT sat ID. More... | |
void | SetSinr (double sinr, double additionalInterference) |
Set uplink SINR. More... | |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Private Attributes | |
double | m_additionalInterference |
uint32_t | m_beamId |
bool | m_isControl |
Time | m_satelliteReceptionTime |
uint32_t | m_satId |
double | m_sinr |
bool | m_sinrComputed |
Tag to store uplink phy info that need to be forwarded to the downlink.
Definition at line 37 of file satellite-uplink-info-tag.h.
ns3::SatUplinkInfoTag::SatUplinkInfoTag | ( | ) |
Default constructor.
Definition at line 30 of file satellite-uplink-info-tag.cc.
ns3::SatUplinkInfoTag::SatUplinkInfoTag | ( | Time | satelliteReceptionTime, |
double | sinr, | ||
double | additionalInterference, | ||
uint32_t | satId, | ||
uint32_t | beamId, | ||
bool | isControl | ||
) |
Constructor with initialization parameters.
satelliteReceptionTime | |
sinr | |
additionalInterference | additional interference to add to compute final SINR |
satId | Satellite ID of the UT |
beamId | Beam ID of the UT |
isControl | This is a control packet |
Definition at line 42 of file satellite-uplink-info-tag.cc.
|
virtual |
Deserializes information from buffer to this instance of SatUplinkInfoTag.
i | Buffer from which the information is deserialized |
Definition at line 94 of file satellite-uplink-info-tag.cc.
References m_additionalInterference, m_beamId, m_isControl, m_satelliteReceptionTime, m_satId, m_sinr, and m_sinrComputed.
double ns3::SatUplinkInfoTag::GetAdditionalInterference | ( | void | ) | const |
Get additional interference to add to compute final SINR.
Definition at line 141 of file satellite-uplink-info-tag.cc.
References m_additionalInterference.
uint32_t ns3::SatUplinkInfoTag::GetBeamId | ( | void | ) | const |
Get the UT beam ID.
Definition at line 165 of file satellite-uplink-info-tag.cc.
References m_beamId.
Referenced by ns3::SatGwMac::Receive(), ns3::SatOrbiterNetDeviceDvb::ReceiveFromIsl(), ns3::SatOrbiterNetDeviceLora::ReceiveFromIsl(), ns3::SatOrbiterNetDeviceDvb::ReceivePacketFeeder(), ns3::SatOrbiterNetDeviceLora::ReceivePacketFeeder(), ns3::SatOrbiterNetDeviceDvb::ReceivePacketUser(), ns3::SatOrbiterNetDeviceLora::ReceivePacketUser(), and ns3::SatPhyRxCarrierPerSlot::ReceiveSlot().
|
virtual |
Get the type ID of instance.
Definition at line 68 of file satellite-uplink-info-tag.cc.
References GetTypeId().
Time ns3::SatUplinkInfoTag::GetSatelliteReceptionTime | ( | void | ) | const |
Get satellite reception time of packet.
Definition at line 116 of file satellite-uplink-info-tag.cc.
References m_satelliteReceptionTime.
Referenced by ns3::SatGwMac::Receive().
uint32_t ns3::SatUplinkInfoTag::GetSatId | ( | void | ) | const |
Get the UT sat ID.
Definition at line 153 of file satellite-uplink-info-tag.cc.
References m_satId.
Referenced by ns3::SatGwMac::Receive(), and ns3::SatPhyRxCarrierPerSlot::ReceiveSlot().
|
virtual |
Get serialized size of SatUplinkInfoTag.
Definition at line 74 of file satellite-uplink-info-tag.cc.
double ns3::SatUplinkInfoTag::GetSinr | ( | void | ) | const |
Get uplink SINR.
Definition at line 128 of file satellite-uplink-info-tag.cc.
References m_sinr.
Referenced by ns3::SatPhyRxCarrierPerSlot::ReceiveSlot().
|
static |
Get the type ID.
Definition at line 60 of file satellite-uplink-info-tag.cc.
Referenced by GetInstanceTypeId().
bool ns3::SatUplinkInfoTag::IsControl | ( | void | ) | const |
Get if packet is a control packet.
Definition at line 177 of file satellite-uplink-info-tag.cc.
References m_isControl.
Referenced by ns3::SatGwMac::Receive().
bool ns3::SatUplinkInfoTag::IsSinrComputed | ( | void | ) | const |
Tell if SINR already computed.
Definition at line 147 of file satellite-uplink-info-tag.cc.
References m_sinrComputed.
|
virtual |
Print time stamp of this instance of SatUplinkInfoTag.
&os | Output stream to which tag timestamp is printed. |
Definition at line 109 of file satellite-uplink-info-tag.cc.
References m_beamId, m_isControl, m_satelliteReceptionTime, m_satId, and m_sinr.
|
virtual |
Serializes information to buffer from this instance of SatUplinkInfoTag.
i | Buffer in which the information is serialized |
Definition at line 80 of file satellite-uplink-info-tag.cc.
References m_additionalInterference, m_beamId, m_isControl, m_satelliteReceptionTime, m_satId, m_sinr, and m_sinrComputed.
void ns3::SatUplinkInfoTag::SetBeamId | ( | uint32_t | beamId | ) |
Set the UT beam ID.
beamId | Beam ID |
Definition at line 171 of file satellite-uplink-info-tag.cc.
References m_beamId.
Referenced by ns3::SatOrbiterFeederPhy::Receive(), ns3::SatOrbiterUserPhy::Receive(), and ns3::SatOrbiterNetDeviceDvb::SendControlMsgToFeeder().
void ns3::SatUplinkInfoTag::SetIsControl | ( | bool | isControl | ) |
Set if packet is a control packet.
isControl | True if this is a control packet |
Definition at line 183 of file satellite-uplink-info-tag.cc.
References m_isControl.
Referenced by ns3::SatOrbiterUserPhy::Receive().
void ns3::SatUplinkInfoTag::SetSatelliteReceptionTime | ( | Time | satelliteReceptionTime | ) |
Set satellite reception time of packet.
satelliteReceptionTime | Satellite reception time |
Definition at line 122 of file satellite-uplink-info-tag.cc.
References m_satelliteReceptionTime.
Referenced by ns3::SatOrbiterUserPhy::Receive().
void ns3::SatUplinkInfoTag::SetSatId | ( | uint32_t | satId | ) |
Set the UT sat ID.
satId | Sat ID |
Definition at line 159 of file satellite-uplink-info-tag.cc.
References m_satId.
Referenced by ns3::SatOrbiterFeederPhy::Receive(), ns3::SatOrbiterUserPhy::Receive(), and ns3::SatOrbiterNetDeviceDvb::SendControlMsgToFeeder().
void ns3::SatUplinkInfoTag::SetSinr | ( | double | sinr, |
double | additionalInterference | ||
) |
Set uplink SINR.
sinr | Uplink SINR |
additionalInterference | additional interference to add to compute final SINR |
Definition at line 134 of file satellite-uplink-info-tag.cc.
References m_additionalInterference, and m_sinr.
Referenced by ns3::SatPhyRxCarrierPerWindow::CalculatePacketInterferenceVectors(), ns3::SatPhyRxCarrierMarsala::PerformMarsala(), ns3::SatPhyRxCarrierPerFrame::ProcessReceivedCrdsaPacket(), ns3::SatPhyRxCarrierPerSlot::ReceiveSlot(), and ns3::SatOrbiterNetDeviceDvb::SendControlMsgToFeeder().
|
private |
Definition at line 173 of file satellite-uplink-info-tag.h.
Referenced by Deserialize(), GetAdditionalInterference(), Serialize(), and SetSinr().
|
private |
Definition at line 176 of file satellite-uplink-info-tag.h.
Referenced by Deserialize(), GetBeamId(), Print(), Serialize(), and SetBeamId().
|
private |
Definition at line 177 of file satellite-uplink-info-tag.h.
Referenced by Deserialize(), IsControl(), Print(), Serialize(), and SetIsControl().
|
private |
Definition at line 171 of file satellite-uplink-info-tag.h.
Referenced by Deserialize(), GetSatelliteReceptionTime(), Print(), Serialize(), and SetSatelliteReceptionTime().
|
private |
Definition at line 175 of file satellite-uplink-info-tag.h.
Referenced by Deserialize(), GetSatId(), Print(), Serialize(), and SetSatId().
|
private |
Definition at line 172 of file satellite-uplink-info-tag.h.
Referenced by Deserialize(), GetSinr(), Print(), Serialize(), and SetSinr().
|
private |
Definition at line 174 of file satellite-uplink-info-tag.h.
Referenced by Deserialize(), IsSinrComputed(), and Serialize().