FERS 0.1.0
The Flexible Extensible Radar Simulator
Loading...
Searching...
No Matches
channel_model.cpp File Reference

Implementation of radar channel propagation and interaction models. More...

#include "channel_model.h"
#include <algorithm>
#include <cmath>
#include <limits>
#include <string_view>
#include <unordered_map>
#include "core/logging.h"
#include "core/parameters.h"
#include "core/sim_id.h"
#include "core/world.h"
#include "interpolation/interpolation_point.h"
#include "math/geometry_ops.h"
#include "radar/radar_obj.h"
#include "radar/receiver.h"
#include "radar/target.h"
#include "radar/transmitter.h"
#include "serial/response.h"
#include "signal/radar_signal.h"
#include "timing/timing.h"
+ Include dependency graph for channel_model.cpp:

Go to the source code of this file.

Namespaces

namespace  simulation
 

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, const CwPhaseNoiseLookup *phase_noise_lookup=nullptr)
 Calculates the complex envelope contribution for a direct propagation path (Tx -> Rx) at a specific time.
 
ComplexType simulation::calculateStreamingDirectPathContribution (const core::ActiveStreamingSource &source, const radar::Receiver *recv, RealType timeK, const CwPhaseNoiseLookup *phase_noise_lookup=nullptr, core::FmcwChirpBoundaryTracker *chirp_tracker=nullptr, StreamingTimingPhaseMode timing_phase_mode=StreamingTimingPhaseMode::ReceiverRelative)
 Calculates a direct-path contribution from a cached streaming source.
 
bool simulation::calculateStreamingReferencePhase (const core::ActiveStreamingSource &source, RealType timeK, core::FmcwChirpBoundaryTracker *chirp_tracker, RealType &phase_out)
 Evaluates a receive-time streaming waveform phase for receiver LO/dechirp references.
 
ComplexType simulation::calculateReflectedPathContribution (const radar::Transmitter *trans, const radar::Receiver *recv, const radar::Target *targ, RealType timeK, const CwPhaseNoiseLookup *phase_noise_lookup=nullptr)
 Calculates the complex envelope contribution for a reflected path (Tx -> Tgt -> Rx) at a specific time.
 
ComplexType simulation::calculateStreamingReflectedPathContribution (const core::ActiveStreamingSource &source, const radar::Receiver *recv, const radar::Target *targ, RealType timeK, const CwPhaseNoiseLookup *phase_noise_lookup=nullptr, core::FmcwChirpBoundaryTracker *chirp_tracker=nullptr, StreamingTimingPhaseMode timing_phase_mode=StreamingTimingPhaseMode::ReceiverRelative)
 Calculates a reflected-path contribution from a cached streaming source.
 
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

Implementation of radar channel propagation and interaction models.

This file provides the implementations for the functions that model the radar channel, as declared in channel_model.h. It contains the core physics calculations that determine signal properties based on geometry, velocity, and object characteristics.

Definition in file channel_model.cpp.

Variable Documentation

◆ lambda

◆ no_loss

◆ position

◆ radiated_power

RealType radiated_power

Definition at line 942 of file channel_model.cpp.

◆ receiver

◆ transmitter