23 #ifndef SATELLITE_SIGNAL_PARAMETERS_H
24 #define SATELLITE_SIGNAL_PARAMETERS_H
29 #include <ns3/nstime.h>
30 #include <ns3/object.h>
31 #include <ns3/packet.h>
157 Ptr<SatSignalParameters>
Copy();
231 m_ifParams->m_ifPowerPerFragment_W = ifPowerPerFragment;
256 std::vector<std::pair<double, double>> ifPowerPerFragment)
258 m_ifParams->m_ifPowerInSatellitePerFragment_W = ifPowerPerFragment;
275 return m_ifParams->m_ifPowerInSatellitePerFragment_W;
282 double rxNoisePowerW,
283 double rxAciIfPowerW,
284 double rxExtNoisePowerW);
293 return m_ifParams->m_rxNoisePowerInSatellite_W;
298 return m_ifParams->m_rxAciIfPowerInSatellite_W;
303 return m_ifParams->m_rxExtNoisePowerInSatellite_W;
309 void SetSinr(
double sinr,
double additionalInterference);
SatBbFrameType_t
BB frame type used in DVB-S2 FWD link.
SatModcod_t
Modulation scheme and coding rate for DVB-S2.
ChannelType_t
Types of channel.
PacketType_t
Packet types.
std::vector< std::pair< double, double > > m_ifPowerInSatellitePerFragment_W
Interference power in the satellite (I) per packet fragment.
~SatInterferenceParameters()
double m_ifPower_W
Interference power (I)
double m_ifPowerInSatellite_W
Interference power in the satellite (I)
double m_sinr
Calculated SINR.
double m_rxNoisePowerInSatellite_W
Rx noise power in satellite.
double m_rxAciIfPowerInSatellite_W
ACI interference power in satellite.
std::vector< std::pair< double, double > > m_ifPowerPerFragment_W
Interference power (I) per packet fragment.
double m_rxExtNoisePowerInSatellite_W
RX external noise power in satellite.
double m_additionalInterference
Callback for SINR calculation.
double m_rxPowerInSatellite_W
The RX power in the satellite in Watts.
Actual physical layer transmission container.
Ptr< SatPhyTx > m_phyTx
The SatPhyTx instance that is making the transmission.
double GetRxExtNoisePowerInSatellite()
static TypeId GetTypeId(void)
Get the type ID.
double m_txPower_W
The TX power in Watts.
SatSignalParameters()
default constructor
double GetRxPowerInSatellite()
Time m_duration
The duration of the packet transmission.
double GetAdditionalInterference()
std::vector< std::pair< double, double > > GetInterferencePowerPerFragment()
Get interference power per packet fragment.
void SetRxPowersInSatellite(double rxPowerW, double rxNoisePowerW, double rxAciIfPowerW, double rxExtNoisePowerW)
Set various power after receiving the packet in the satellite.
uint32_t m_carrierId
The carrier for the packet transmission.
double GetRxAciIfPowerInSatellite()
void SetInterferencePower(std::vector< std::pair< double, double >> ifPowerPerFragment)
Set interference power based on packet fragment.
double GetRxNoisePowerInSatellite()
double m_rxPower_W
The RX power in Watts.
std::vector< std::pair< double, double > > GetInterferencePowerInSatellitePerFragment()
Get interference power in satellite per packet fragment.
std::vector< Ptr< Packet > > PacketsInBurst_t
Buffer for transmissions.
Ptr< SatSignalParameters > Copy()
uint32_t m_satId
The sat for the packet transmission.
uint32_t m_beamId
The beam for the packet transmission.
PacketsInBurst_t m_packetsInBurst
The packets being transmitted with this signal i.e.
double m_carrierFreq_hz
The carrier center frequency for the packet transmission.
double GetInterferencePower()
Get interference power (I)
void SetSinr(double sinr, double additionalInterference)
Set computed SINR.
void SetInterferencePowerInSatellite(std::vector< std::pair< double, double >> ifPowerPerFragment)
Set interference power in satellite based on packet fragment.
Ptr< SatInterferenceParameters > m_ifParams
double GetInterferencePowerInSatellite()
Get interference power in satellite (I)
txInfo_s m_txInfo
Transmission information including packet type, modcod and waveform ID.
SatEnums::ChannelType_t m_channelType
The SatChannel instance received the packet.
static double ScalarProduct(const std::vector< std::pair< double, double >> &vector)
Scalar product.
SatArqSequenceNumber is handling the sequence numbers for the ARQ process.
Struct for storing the packet specific Tx information.
SatEnums::PacketType_t packetType
uint32_t crdsaUniquePacketId
SatEnums::SatBbFrameType_t frameType
uint32_t fecBlockSizeInBytes
SatEnums::SatModcod_t modCod