FERS 1.0.0
The Flexible Extensible Radar Simulator
Loading...
Searching...
No Matches
channel_model.h File Reference

Header for radar channel propagation and interaction models. More...

#include <chrono>
#include <exception>
#include <memory>
#include "core/config.h"
#include "math/geometry_ops.h"
+ Include dependency graph for channel_model.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  simulation::ReResults
 Stores the intermediate results of a radar equation calculation for a single time point. More...
 
class  simulation::RangeError
 Exception thrown when a range calculation fails, typically due to objects being too close. More...
 
struct  simulation::PreviewLink
 A calculated link segment for 3D visualization. More...
 

Namespaces

namespace  core
 
namespace  radar
 
namespace  serial
 
namespace  fers_signal
 
namespace  simulation
 

Enumerations

enum class  simulation::LinkType { simulation::Monostatic , simulation::BistaticTxTgt , simulation::BistaticTgtRx , simulation::DirectTxRx }
 Categorizes the visual link for rendering. More...
 
enum class  simulation::LinkQuality { simulation::Strong , simulation::Weak }
 Describes the radiometric quality of the link. More...
 

Functions

void simulation::solveRe (const radar::Transmitter *trans, const radar::Receiver *recv, const radar::Target *targ, const std::chrono::duration< RealType > &time, const fers_signal::RadarSignal *wave, ReResults &results)
 Solves the bistatic radar equation for a reflected path (Tx -> Tgt -> Rx).
 
void simulation::solveReDirect (const radar::Transmitter *trans, const radar::Receiver *recv, const std::chrono::duration< RealType > &time, const fers_signal::RadarSignal *wave, ReResults &results)
 Solves the radar equation for a direct path (Tx -> Rx).
 
ComplexType simulation::calculateDirectPathContribution (const radar::Transmitter *trans, const radar::Receiver *recv, RealType timeK)
 Calculates the complex envelope contribution for a direct propagation path (Tx -> Rx) at a specific time.
 
ComplexType simulation::calculateReflectedPathContribution (const radar::Transmitter *trans, const radar::Receiver *recv, const radar::Target *targ, RealType timeK)
 Calculates the complex envelope contribution for a reflected path (Tx -> Tgt -> Rx) at a specific time.
 
std::unique_ptr< serial::Responsesimulation::calculateResponse (const radar::Transmitter *trans, const radar::Receiver *recv, const fers_signal::RadarSignal *signal, RealType startTime, const radar::Target *targ=nullptr)
 Creates a Response object by simulating a signal's interaction over its duration.
 
std::vector< PreviewLinksimulation::calculatePreviewLinks (const core::World &world, RealType time)
 Calculates all visual links for the current world state at a specific time.
 

Detailed Description

Header for radar channel propagation and interaction models.

This file contains the declarations for functions that model the radar channel, including direct and reflected signal path calculations, and power scaling according to the radar range equation. These functions form the core physics engine for determining the properties of a received signal based on the positions and velocities of transmitters, receivers, and targets.

Definition in file channel_model.h.