Add user link parameters

This commit is contained in:
Tim Schubert 2020-08-10 18:28:59 +02:00
parent bb3bcb627c
commit 7293dbbad1
12 changed files with 247 additions and 96 deletions

View file

@ -40,25 +40,55 @@ LeoChannelHelper::LeoChannelHelper (std::string constellation) :
}
void
LeoChannelHelper::SetConstellation (std::string constellation);
LeoChannelHelper::SetConstellation (std::string constellation)
{
if (constellation == "Starlink")
if (constellation == "StarlinkGateway")
{
SetConstellationAttributes (LEO_STARLINK_EIRP,
LEO_STARLINK_ELEVATION_ANGLE,
LEO_STARLINK_FSPL,
LEO_STARLINK_ATMOSPHERIC_LOSS,
LEO_STARLINK_LINK_MARGIN,
LEO_STARLINK_DATA_RATE);
SetConstellationAttributes (LEO_STARLINK_GATEWAY_EIRP,
LEO_STARLINK_GATEWAY_ELEVATION_ANGLE,
LEO_STARLINK_GATEWAY_FSPL,
LEO_STARLINK_GATEWAY_ATMOSPHERIC_LOSS,
LEO_STARLINK_GATEWAY_LINK_MARGIN,
LEO_STARLINK_GATEWAY_DATA_RATE,
LEO_STARLINK_GATEWAY_RX_ANTENNA_GAIN,
0.0 // TODO
);
}
else if (constellation == "Telesat")
else if (constellation == "StarlinkUser")
{
SetConstellationAttributes (LEO_TELESAT_EIRP,
LEO_TELESAT_ELEVATION_ANGLE,
LEO_TELESAT_FSPL,
LEO_TELESAT_ATMOSPHERIC_LOSS,
LEO_TELESAT_LINK_MARGIN,
LEO_TELESAT_DATA_RATE);
SetConstellationAttributes (LEO_STARLINK_USER_EIRP,
LEO_STARLINK_USER_ELEVATION_ANGLE,
LEO_STARLINK_USER_FSPL,
LEO_STARLINK_USER_ATMOSPHERIC_LOSS,
LEO_STARLINK_USER_LINK_MARGIN,
LEO_STARLINK_USER_DATA_RATE,
LEO_STARLINK_USER_RX_ANTENNA_GAIN,
0.0
);
}
else if (constellation == "TelesatGateway")
{
SetConstellationAttributes (LEO_TELESAT_GATEWAY_EIRP,
LEO_TELESAT_GATEWAY_ELEVATION_ANGLE,
LEO_TELESAT_GATEWAY_FSPL,
LEO_TELESAT_GATEWAY_ATMOSPHERIC_LOSS,
LEO_TELESAT_GATEWAY_LINK_MARGIN,
LEO_TELESAT_GATEWAY_DATA_RATE,
LEO_TELESAT_GATEWAY_RX_ANTENNA_GAIN,
0.0
);
}
else if (constellation == "TelesatUser")
{
SetConstellationAttributes (LEO_TELESAT_USER_EIRP,
LEO_TELESAT_USER_ELEVATION_ANGLE,
LEO_TELESAT_USER_FSPL,
LEO_TELESAT_USER_ATMOSPHERIC_LOSS,
LEO_TELESAT_USER_LINK_MARGIN,
LEO_TELESAT_USER_DATA_RATE,
LEO_TELESAT_USER_RX_ANTENNA_GAIN,
0.0
);
}
else
{
@ -72,11 +102,19 @@ LeoChannelHelper::SetConstellationAttributes (double eirp,
double fspl,
double atmosphericLoss,
double linkMargin,
double dataRate)
double dataRate,
double rxGain,
double rxLoss)
{
m_gndDeviceFactory.Set ("TxPower", DoubleValue (eirp));
m_satDeviceFactory.Set ("TxPower", DoubleValue (eirp));
m_gndDeviceFactory.Set ("RxGain", DoubleValue (rxGain));
m_gndDeviceFactory.Set ("RxLoss", DoubleValue (rxLoss));
m_satDeviceFactory.Set ("RxLoss", DoubleValue (rxGain));
m_satDeviceFactory.Set ("RxGain", DoubleValue (rxLoss));
m_gndDeviceFactory.Set ("DataRate", DoubleValue (dataRate));
m_satDeviceFactory.Set ("DataRate", DoubleValue (dataRate));

View file

@ -76,7 +76,9 @@ private:
double fspl,
double atmosphericLoss,
double linkMargin,
double dataRate);
double dataRate,
double rxGain,
double rxLoss);
};
};