|
CARLA
|
#include <PathLossModel.h>
Public Member Functions | |
| ActorPowerMap | GetReceiveActorPowerList () |
| float | GetTransmitPower () |
| PathLossModel (URandomEngine *random_engine, AActor *Owner) | |
| void | SetParams (const float TransmitPower, const float ReceiverSensitivity, const float Frequency, const float combined_antenna_gain, const float path_loss_exponent, const float reference_distance_fspl, const float filter_distance, const bool use_etsi_fading, const float custom_fading_stddev) |
| void | SetPathLossModel (const EPathLossModel path_loss_model) |
| void | SetScenario (EScenario scenario) |
| void | Simulate (const std::vector< ActorPowerPair > ActorList, UCarlaEpisode *CarlaEpisode, UWorld *World) |
Protected Member Functions | |
| void | CalculateFSPL_d0 () |
| double | CalculateNLOSvLoss (const FVector Source, const FVector Destination, const double TxHeight, const double RxHeight, const double RxDistance3d, std::vector< FVector > &vehicle_obstacles) |
| float | CalculatePathLoss_WINNER (EPathState state, double Distance) |
| float | CalculateShadowFading (EPathState state) |
| double | CalculateTwoRayPathLoss (double Distance3d, double TxHeight, double RxHeight) |
| float | CalculateTwoRayPathLossSimple (double Distance3d, double TxHeight, double RxHeight) |
| float | ComputeLoss (AActor *OtherActor, FVector Source, FVector Destination, double Distance3d, double TxHeight, double RxHeight, double reference_z) |
| Method that allow to preprocess if the rays will be traced. | |
| bool | GetLocationIfVehicle (const FVector CurrentActorLocation, const FHitResult &HitInfo, const double reference_z, FVector &location) |
| bool | HitIsSelfOrOther (const FHitResult &HitInfo, AActor *OtherActor) |
| bool | IsVehicle (const FHitResult &HitInfo) |
Protected Attributes | |
| TArray< FHitResult > | HitResult |
Private Member Functions | |
| float | CalculateReceivedPower (AActor *OtherActor, const float OtherTransmitPower, const FVector Source, const FVector Destination, const double Distance3d, const double ht, const double hr, const double reference_z) |
| double | CalcVehicleLoss (const double d1, const double d2, const double h) |
| void | EstimatePathStateAndVehicleObstacles (AActor *OtherActor, FVector Source, double TxHeight, double RxHeight, double reference_z, EPathState &state, std::vector< FVector > &vehicle_obstacles) |
| double | MakeVehicleBlockageLoss (double TxHeight, double RxHeight, double obj_height, double obj_distance) |
Private Attributes | |
| float | combined_antenna_gain |
| FVector | CurrentActorLocation |
| float | custom_fading_stddev |
| const double | epsilon_r = 1.02 |
| float | filter_distance |
| double | Frequency {5.9 * 1e9} |
| double | Frequency_GHz {5.9} |
| double | lambda {c_speedoflight / (5.9 * 1e9)} |
| float | m_fspl_d0 |
| AActor * | mActorOwner |
| UCarlaEpisode * | mCarlaEpisode |
| EPathLossModel | model |
| URandomEngine * | mRandomEngine |
| ActorPowerMap | mReceiveActorPowerList |
| UWorld * | mWorld |
| float | path_loss_exponent |
| float | ReceiverSensitivity |
| float | reference_distance_fspl |
| EScenario | scenario |
| float | TransmitPower |
| bool | use_etsi_fading |
Static Private Attributes | |
| static constexpr float | c_speedoflight = 299792458.0 |
Definition at line 43 of file PathLossModel.h.
| PathLossModel::PathLossModel | ( | URandomEngine * | random_engine, |
| AActor * | Owner | ||
| ) |
Definition at line 20 of file PathLossModel.cpp.
References mActorOwner, and mRandomEngine.
|
protected |
Definition at line 440 of file PathLossModel.cpp.
References c_speedoflight, Frequency, m_fspl_d0, and reference_distance_fspl.
Referenced by SetParams().
|
protected |
Definition at line 280 of file PathLossModel.cpp.
References CalcVehicleLoss().
Referenced by ComputeLoss().
|
protected |
Definition at line 446 of file PathLossModel.cpp.
References Frequency_GHz, Highway, NLOSb, and scenario.
Referenced by ComputeLoss().
|
private |
Definition at line 126 of file PathLossModel.cpp.
References combined_antenna_gain, ComputeLoss(), HitResult, mWorld, and ReceiverSensitivity.
Referenced by Simulate().
|
protected |
Definition at line 468 of file PathLossModel.cpp.
References custom_fading_stddev, URandomEngine::GetNormalDistribution(), Highway, LOS, mRandomEngine, NLOSb, NLOSv, Rural, scenario, Urban, and use_etsi_fading.
Referenced by ComputeLoss().
|
protected |
Definition at line 543 of file PathLossModel.cpp.
References epsilon_r, and lambda.
Referenced by ComputeLoss().
|
protected |
Definition at line 534 of file PathLossModel.cpp.
|
private |
Definition at line 270 of file PathLossModel.cpp.
References lambda.
Referenced by CalculateNLOSvLoss().
|
protected |
Method that allow to preprocess if the rays will be traced.
Definition at line 319 of file PathLossModel.cpp.
References CalculateNLOSvLoss(), CalculatePathLoss_WINNER(), CalculateShadowFading(), CalculateTwoRayPathLoss(), EstimatePathStateAndVehicleObstacles(), lambda, LOS, m_fspl_d0, model, NLOSb, NLOSv, path_loss_exponent, reference_distance_fspl, and Winner.
Referenced by CalculateReceivedPower().
|
private |
Definition at line 215 of file PathLossModel.cpp.
References CurrentActorLocation, GetLocationIfVehicle(), HitIsSelfOrOther(), HitResult, LOS, NLOSb, and NLOSv.
Referenced by ComputeLoss().
|
protected |
Definition at line 411 of file PathLossModel.cpp.
References FActorRegistry::FindCarlaActor(), UCarlaEpisode::GetActorRegistry(), FCarlaActor::GetActorType(), mCarlaEpisode, FCarlaActor::Vehicle, and Vehicle.
Referenced by EstimatePathStateAndVehicleObstacles().
| std::map< AActor *, float > PathLossModel::GetReceiveActorPowerList | ( | ) |
Definition at line 58 of file PathLossModel.cpp.
References mReceiveActorPowerList.
|
inline |
Definition at line 59 of file PathLossModel.h.
References TransmitPower.
|
protected |
Definition at line 394 of file PathLossModel.cpp.
References mActorOwner.
Referenced by EstimatePathStateAndVehicleObstacles().
|
protected |
Definition at line 372 of file PathLossModel.cpp.
References FActorRegistry::FindCarlaActor(), UCarlaEpisode::GetActorRegistry(), FCarlaActor::GetActorType(), mCarlaEpisode, FCarlaActor::Vehicle, and Vehicle.
|
private |
| void PathLossModel::SetParams | ( | const float | TransmitPower, |
| const float | ReceiverSensitivity, | ||
| const float | Frequency, | ||
| const float | combined_antenna_gain, | ||
| const float | path_loss_exponent, | ||
| const float | reference_distance_fspl, | ||
| const float | filter_distance, | ||
| const bool | use_etsi_fading, | ||
| const float | custom_fading_stddev | ||
| ) |
Definition at line 26 of file PathLossModel.cpp.
References c_speedoflight, CalculateFSPL_d0(), combined_antenna_gain, custom_fading_stddev, filter_distance, Frequency, Frequency_GHz, lambda, path_loss_exponent, ReceiverSensitivity, reference_distance_fspl, TransmitPower, and use_etsi_fading.
| void PathLossModel::SetPathLossModel | ( | const EPathLossModel | path_loss_model | ) |
Definition at line 314 of file PathLossModel.cpp.
References model.
| void PathLossModel::SetScenario | ( | EScenario | scenario | ) |
Definition at line 53 of file PathLossModel.cpp.
References scenario.
| void PathLossModel::Simulate | ( | const std::vector< ActorPowerPair > | ActorList, |
| UCarlaEpisode * | CarlaEpisode, | ||
| UWorld * | World | ||
| ) |
Definition at line 63 of file PathLossModel.cpp.
References CalculateReceivedPower(), CurrentActorLocation, filter_distance, FActorRegistry::FindCarlaActor(), UCarlaEpisode::GetActorRegistry(), mActorOwner, mCarlaEpisode, mReceiveActorPowerList, mWorld, and reference_distance_fspl.
|
staticconstexprprivate |
Definition at line 86 of file PathLossModel.h.
Referenced by CalculateFSPL_d0(), and SetParams().
|
private |
Definition at line 108 of file PathLossModel.h.
Referenced by CalculateReceivedPower(), and SetParams().
|
private |
Definition at line 83 of file PathLossModel.h.
Referenced by EstimatePathStateAndVehicleObstacles(), and Simulate().
|
private |
Definition at line 107 of file PathLossModel.h.
Referenced by CalculateShadowFading(), and SetParams().
|
private |
Definition at line 89 of file PathLossModel.h.
Referenced by CalculateTwoRayPathLoss().
|
private |
Definition at line 104 of file PathLossModel.h.
Referenced by SetParams(), and Simulate().
|
private |
Definition at line 97 of file PathLossModel.h.
Referenced by CalculateFSPL_d0(), and SetParams().
|
private |
Definition at line 96 of file PathLossModel.h.
Referenced by CalculatePathLoss_WINNER(), and SetParams().
|
protected |
Definition at line 132 of file PathLossModel.h.
Referenced by CalculateReceivedPower(), and EstimatePathStateAndVehicleObstacles().
|
private |
Definition at line 98 of file PathLossModel.h.
Referenced by CalculateTwoRayPathLoss(), CalcVehicleLoss(), ComputeLoss(), and SetParams().
|
private |
Definition at line 111 of file PathLossModel.h.
Referenced by CalculateFSPL_d0(), and ComputeLoss().
|
private |
Definition at line 77 of file PathLossModel.h.
Referenced by HitIsSelfOrOther(), PathLossModel(), and Simulate().
|
private |
Definition at line 78 of file PathLossModel.h.
Referenced by GetLocationIfVehicle(), IsVehicle(), and Simulate().
|
private |
Definition at line 105 of file PathLossModel.h.
Referenced by ComputeLoss(), and SetPathLossModel().
|
private |
Definition at line 80 of file PathLossModel.h.
Referenced by CalculateShadowFading(), and PathLossModel().
|
private |
Definition at line 82 of file PathLossModel.h.
Referenced by GetReceiveActorPowerList(), and Simulate().
|
private |
Definition at line 79 of file PathLossModel.h.
Referenced by CalculateReceivedPower(), and Simulate().
|
private |
Definition at line 103 of file PathLossModel.h.
Referenced by ComputeLoss(), and SetParams().
|
private |
Definition at line 101 of file PathLossModel.h.
Referenced by CalculateReceivedPower(), and SetParams().
|
private |
Definition at line 99 of file PathLossModel.h.
Referenced by CalculateFSPL_d0(), ComputeLoss(), SetParams(), and Simulate().
|
private |
Definition at line 102 of file PathLossModel.h.
Referenced by CalculatePathLoss_WINNER(), CalculateShadowFading(), and SetScenario().
|
private |
Definition at line 100 of file PathLossModel.h.
Referenced by GetTransmitPower(), and SetParams().
|
private |
Definition at line 106 of file PathLossModel.h.
Referenced by CalculateShadowFading(), and SetParams().