CARLA
 
载入中...
搜索中...
未找到
Public 成员函数 | Protected 成员函数 | Protected 属性 | Private 成员函数 | Private 属性 | 静态 Private 属性 | 所有成员列表
PathLossModel类 参考

#include <PathLossModel.h>

+ PathLossModel 的协作图:

Public 成员函数

ActorPowerMap GetReceiveActorPowerList ()
 
float GetTransmitPower ()
 
 PathLossModel (URandomEngine *random_engine)
 
void SetOwner (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 成员函数

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 属性

TArray< FHitResult > HitResult
 

Private 成员函数

float CalculateReceivedPower (AActor *OtherActor, const float OtherTransmitPower, const FVector Source, const FVector Destination, const double Distance3d, const double ht, const double ht_local, const double hr, const double hr_local, 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 属性

float combined_antenna_gain
 
FVector CurrentActorLocation
 
float custom_fading_stddev
 
const double epsilon_r = 1.02
 
float filter_distance
 
float m_fspl_d0
 
AActormActorOwner
 
UCarlaEpisodemCarlaEpisode
 
EPathLossModel model
 
URandomEnginemRandomEngine
 
ActorPowerMap mReceiveActorPowerList
 
UWorld * mWorld
 
float path_loss_exponent
 
float ReceiverSensitivity
 
float reference_distance_fspl
 
EScenario scenario
 
float TransmitPower
 
bool use_etsi_fading
 

静态 Private 属性

static constexpr float c_speedoflight = 299792458.0
 
static double Frequency = 5.9f * std::pow(10, 9)
 
static double Frequency_GHz = 5.9f
 
static double lambda = PathLossModel::c_speedoflight / (5.9f * std::pow(10, 9))
 

详细描述

在文件 PathLossModel.h35 行定义.

构造及析构函数说明

◆ PathLossModel()

PathLossModel::PathLossModel ( URandomEngine * random_engine)

在文件 PathLossModel.cpp19 行定义.

引用了 mRandomEngine.

成员函数说明

◆ CalculateFSPL_d0()

void PathLossModel::CalculateFSPL_d0 ( )
protected

在文件 PathLossModel.cpp449 行定义.

引用了 c_speedoflight, Frequency, m_fspl_d0 , 以及 reference_distance_fspl.

被这些函数引用 SetParams().

+ 这是这个函数的调用关系图:

◆ CalculateNLOSvLoss()

double PathLossModel::CalculateNLOSvLoss ( const FVector Source,
const FVector Destination,
const double TxHeight,
const double RxHeight,
const double RxDistance3d,
std::vector< FVector > & vehicle_obstacles )
protected

在文件 PathLossModel.cpp289 行定义.

引用了 CalcVehicleLoss().

被这些函数引用 ComputeLoss().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ CalculatePathLoss_WINNER()

float PathLossModel::CalculatePathLoss_WINNER ( EPathState state,
double Distance )
protected

在文件 PathLossModel.cpp455 行定义.

引用了 Frequency_GHz, Highway, NLOSb , 以及 scenario.

被这些函数引用 ComputeLoss().

+ 这是这个函数的调用关系图:

◆ CalculateReceivedPower()

float PathLossModel::CalculateReceivedPower ( AActor * OtherActor,
const float OtherTransmitPower,
const FVector Source,
const FVector Destination,
const double Distance3d,
const double ht,
const double ht_local,
const double hr,
const double hr_local,
const double reference_z )
private

在文件 PathLossModel.cpp131 行定义.

引用了 combined_antenna_gain, ComputeLoss(), HitResult, mWorld , 以及 ReceiverSensitivity.

被这些函数引用 Simulate().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ CalculateShadowFading()

float PathLossModel::CalculateShadowFading ( EPathState state)
protected

在文件 PathLossModel.cpp477 行定义.

引用了 custom_fading_stddev, URandomEngine::GetNormalDistribution(), Highway, LOS, mRandomEngine, NLOSb, NLOSv, Rural, scenario, Urban , 以及 use_etsi_fading.

被这些函数引用 ComputeLoss().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ CalculateTwoRayPathLoss()

double PathLossModel::CalculateTwoRayPathLoss ( double Distance3d,
double TxHeight,
double RxHeight )
protected

在文件 PathLossModel.cpp552 行定义.

引用了 epsilon_r , 以及 lambda.

被这些函数引用 ComputeLoss().

+ 这是这个函数的调用关系图:

◆ CalculateTwoRayPathLossSimple()

float PathLossModel::CalculateTwoRayPathLossSimple ( double Distance3d,
double TxHeight,
double RxHeight )
protected

在文件 PathLossModel.cpp543 行定义.

◆ CalcVehicleLoss()

double PathLossModel::CalcVehicleLoss ( const double d1,
const double d2,
const double h )
private

在文件 PathLossModel.cpp279 行定义.

引用了 lambda.

被这些函数引用 CalculateNLOSvLoss().

+ 这是这个函数的调用关系图:

◆ ComputeLoss()

float PathLossModel::ComputeLoss ( AActor * OtherActor,
FVector Source,
FVector Destination,
double Distance3d,
double TxHeight,
double RxHeight,
double reference_z )
protected

Method that allow to preprocess if the rays will be traced.

在文件 PathLossModel.cpp328 行定义.

引用了 CalculateNLOSvLoss(), CalculatePathLoss_WINNER(), CalculateShadowFading(), CalculateTwoRayPathLoss(), EstimatePathStateAndVehicleObstacles(), lambda, LOS, m_fspl_d0, model, NLOSb, NLOSv, path_loss_exponent, reference_distance_fspl , 以及 Winner.

被这些函数引用 CalculateReceivedPower().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ EstimatePathStateAndVehicleObstacles()

void PathLossModel::EstimatePathStateAndVehicleObstacles ( AActor * OtherActor,
FVector Source,
double TxHeight,
double RxHeight,
double reference_z,
EPathState & state,
std::vector< FVector > & vehicle_obstacles )
private

在文件 PathLossModel.cpp224 行定义.

引用了 CurrentActorLocation, GetLocationIfVehicle(), HitIsSelfOrOther(), HitResult, LOS, NLOSb , 以及 NLOSv.

被这些函数引用 ComputeLoss().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ GetLocationIfVehicle()

bool PathLossModel::GetLocationIfVehicle ( const FVector CurrentActorLocation,
const FHitResult & HitInfo,
const double reference_z,
FVector & location )
protected

在文件 PathLossModel.cpp420 行定义.

引用了 FActorRegistry::FindCarlaActor(), UCarlaEpisode::GetActorRegistry(), FCarlaActor::GetActorType(), mCarlaEpisode, FCarlaActor::Vehicle , 以及 Vehicle.

被这些函数引用 EstimatePathStateAndVehicleObstacles().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ GetReceiveActorPowerList()

std::map< AActor *, float > PathLossModel::GetReceiveActorPowerList ( )

在文件 PathLossModel.cpp59 行定义.

引用了 mReceiveActorPowerList.

被这些函数引用 ACustomV2XSensor::PostPhysTick() , 以及 AV2XSensor::PostPhysTick().

+ 这是这个函数的调用关系图:

◆ GetTransmitPower()

float PathLossModel::GetTransmitPower ( )
inline

在文件 PathLossModel.h52 行定义.

引用了 TransmitPower.

被这些函数引用 ACustomV2XSensor::PrePhysTick() , 以及 AV2XSensor::PrePhysTick().

+ 这是这个函数的调用关系图:

◆ HitIsSelfOrOther()

bool PathLossModel::HitIsSelfOrOther ( const FHitResult & HitInfo,
AActor * OtherActor )
protected

在文件 PathLossModel.cpp403 行定义.

引用了 mActorOwner.

被这些函数引用 EstimatePathStateAndVehicleObstacles().

+ 这是这个函数的调用关系图:

◆ IsVehicle()

bool PathLossModel::IsVehicle ( const FHitResult & HitInfo)
protected

在文件 PathLossModel.cpp381 行定义.

引用了 FActorRegistry::FindCarlaActor(), UCarlaEpisode::GetActorRegistry(), FCarlaActor::GetActorType(), mCarlaEpisode, FCarlaActor::Vehicle , 以及 Vehicle.

+ 函数调用图:

◆ MakeVehicleBlockageLoss()

double PathLossModel::MakeVehicleBlockageLoss ( double TxHeight,
double RxHeight,
double obj_height,
double obj_distance )
private

◆ SetOwner()

void PathLossModel::SetOwner ( AActor * Owner)

在文件 PathLossModel.cpp24 行定义.

引用了 mActorOwner.

被这些函数引用 ACustomV2XSensor::SetOwner() , 以及 AV2XSensor::SetOwner().

+ 这是这个函数的调用关系图:

◆ SetParams()

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 )

在文件 PathLossModel.cpp29 行定义.

引用了 c_speedoflight, CalculateFSPL_d0(), combined_antenna_gain, custom_fading_stddev, filter_distance, Frequency, Frequency_GHz, lambda, path_loss_exponent, ReceiverSensitivity, reference_distance_fspl, TransmitPower , 以及 use_etsi_fading.

被这些函数引用 ACustomV2XSensor::SetPropagationParams() , 以及 AV2XSensor::SetPropagationParams().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ SetPathLossModel()

void PathLossModel::SetPathLossModel ( const EPathLossModel path_loss_model)

在文件 PathLossModel.cpp323 行定义.

引用了 model.

被这些函数引用 ACustomV2XSensor::SetPathLossModel() , 以及 AV2XSensor::SetPathLossModel().

+ 这是这个函数的调用关系图:

◆ SetScenario()

void PathLossModel::SetScenario ( EScenario scenario)

在文件 PathLossModel.cpp54 行定义.

引用了 scenario.

被这些函数引用 ACustomV2XSensor::SetScenario() , 以及 AV2XSensor::SetScenario().

+ 这是这个函数的调用关系图:

◆ Simulate()

void PathLossModel::Simulate ( const std::vector< ActorPowerPair > ActorList,
UCarlaEpisode * CarlaEpisode,
UWorld * World )

在文件 PathLossModel.cpp64 行定义.

引用了 CalculateReceivedPower(), CurrentActorLocation, filter_distance, FActorRegistry::FindCarlaActor(), UCarlaEpisode::GetActorRegistry(), mActorOwner, mCarlaEpisode, mReceiveActorPowerList , 以及 mWorld.

被这些函数引用 ACustomV2XSensor::PostPhysTick() , 以及 AV2XSensor::PostPhysTick().

+ 函数调用图:
+ 这是这个函数的调用关系图:

类成员变量说明

◆ c_speedoflight

constexpr float PathLossModel::c_speedoflight = 299792458.0
staticconstexprprivate

在文件 PathLossModel.h81 行定义.

被这些函数引用 CalculateFSPL_d0() , 以及 SetParams().

◆ combined_antenna_gain

float PathLossModel::combined_antenna_gain
private

在文件 PathLossModel.h99 行定义.

被这些函数引用 CalculateReceivedPower() , 以及 SetParams().

◆ CurrentActorLocation

FVector PathLossModel::CurrentActorLocation
private

在文件 PathLossModel.h78 行定义.

被这些函数引用 EstimatePathStateAndVehicleObstacles() , 以及 Simulate().

◆ custom_fading_stddev

float PathLossModel::custom_fading_stddev
private

在文件 PathLossModel.h98 行定义.

被这些函数引用 CalculateShadowFading() , 以及 SetParams().

◆ epsilon_r

const double PathLossModel::epsilon_r = 1.02
private

在文件 PathLossModel.h84 行定义.

被这些函数引用 CalculateTwoRayPathLoss().

◆ filter_distance

float PathLossModel::filter_distance
private

在文件 PathLossModel.h95 行定义.

被这些函数引用 SetParams() , 以及 Simulate().

◆ Frequency

double PathLossModel::Frequency = 5.9f * std::pow(10, 9)
staticprivate

在文件 PathLossModel.h88 行定义.

被这些函数引用 CalculateFSPL_d0() , 以及 SetParams().

◆ Frequency_GHz

double PathLossModel::Frequency_GHz = 5.9f
staticprivate

在文件 PathLossModel.h87 行定义.

被这些函数引用 CalculatePathLoss_WINNER() , 以及 SetParams().

◆ HitResult

TArray<FHitResult> PathLossModel::HitResult
protected

在文件 PathLossModel.h123 行定义.

被这些函数引用 CalculateReceivedPower() , 以及 EstimatePathStateAndVehicleObstacles().

◆ lambda

double PathLossModel::lambda = PathLossModel::c_speedoflight / (5.9f * std::pow(10, 9))
staticprivate

在文件 PathLossModel.h89 行定义.

被这些函数引用 CalculateTwoRayPathLoss(), CalcVehicleLoss(), ComputeLoss() , 以及 SetParams().

◆ m_fspl_d0

float PathLossModel::m_fspl_d0
private

在文件 PathLossModel.h102 行定义.

被这些函数引用 CalculateFSPL_d0() , 以及 ComputeLoss().

◆ mActorOwner

AActor* PathLossModel::mActorOwner
private

在文件 PathLossModel.h72 行定义.

被这些函数引用 HitIsSelfOrOther(), SetOwner() , 以及 Simulate().

◆ mCarlaEpisode

UCarlaEpisode* PathLossModel::mCarlaEpisode
private

在文件 PathLossModel.h73 行定义.

被这些函数引用 GetLocationIfVehicle(), IsVehicle() , 以及 Simulate().

◆ model

EPathLossModel PathLossModel::model
private

在文件 PathLossModel.h96 行定义.

被这些函数引用 ComputeLoss() , 以及 SetPathLossModel().

◆ mRandomEngine

URandomEngine* PathLossModel::mRandomEngine
private

在文件 PathLossModel.h75 行定义.

被这些函数引用 CalculateShadowFading() , 以及 PathLossModel().

◆ mReceiveActorPowerList

ActorPowerMap PathLossModel::mReceiveActorPowerList
private

在文件 PathLossModel.h77 行定义.

被这些函数引用 GetReceiveActorPowerList() , 以及 Simulate().

◆ mWorld

UWorld* PathLossModel::mWorld
private

在文件 PathLossModel.h74 行定义.

被这些函数引用 CalculateReceivedPower() , 以及 Simulate().

◆ path_loss_exponent

float PathLossModel::path_loss_exponent
private

在文件 PathLossModel.h94 行定义.

被这些函数引用 ComputeLoss() , 以及 SetParams().

◆ ReceiverSensitivity

float PathLossModel::ReceiverSensitivity
private

在文件 PathLossModel.h92 行定义.

被这些函数引用 CalculateReceivedPower() , 以及 SetParams().

◆ reference_distance_fspl

float PathLossModel::reference_distance_fspl
private

在文件 PathLossModel.h90 行定义.

被这些函数引用 CalculateFSPL_d0(), ComputeLoss() , 以及 SetParams().

◆ scenario

EScenario PathLossModel::scenario
private

在文件 PathLossModel.h93 行定义.

被这些函数引用 CalculatePathLoss_WINNER(), CalculateShadowFading() , 以及 SetScenario().

◆ TransmitPower

float PathLossModel::TransmitPower
private

在文件 PathLossModel.h91 行定义.

被这些函数引用 GetTransmitPower() , 以及 SetParams().

◆ use_etsi_fading

bool PathLossModel::use_etsi_fading
private

在文件 PathLossModel.h97 行定义.

被这些函数引用 CalculateShadowFading() , 以及 SetParams().


该类的文档由以下文件生成: