|
FERS 1.0.0
The Flexible Extensible Radar Simulator
|
Represents a radar transmitter system. More...
#include "transmitter.h"
Inheritance diagram for radar::Transmitter:
Collaboration diagram for radar::Transmitter:Public Member Functions | |
| Transmitter (Platform *platform, std::string name, const OperationMode mode) noexcept | |
| Constructor for the Transmitter class. | |
| ~Transmitter () override=default | |
| Transmitter (const Transmitter &)=delete | |
| Transmitter & | operator= (const Transmitter &)=delete |
| Transmitter (Transmitter &&)=delete | |
| Transmitter & | operator= (Transmitter &&)=delete |
| RealType | getPrf () const noexcept |
| Retrieves the pulse repetition frequency (PRF). | |
| fers_signal::RadarSignal * | getSignal () const noexcept |
| Retrieves the radar signal currently being transmitted. | |
| OperationMode | getMode () const noexcept |
| Gets the operational mode of the transmitter. | |
| void | setWave (fers_signal::RadarSignal *pulse) noexcept |
| Sets the radar signal wave to be transmitted. | |
| void | setSignal (fers_signal::RadarSignal *signal) noexcept |
| Sets the radar signal wave to be transmitted. | |
| void | setPrf (RealType mprf) noexcept |
| Sets the pulse repetition frequency (PRF) of the transmitter. | |
| void | setSchedule (std::vector< SchedulePeriod > schedule) |
| Sets the active schedule for the transmitter. | |
| const std::vector< SchedulePeriod > & | getSchedule () const noexcept |
| Retrieves the list of active transmission periods. | |
| std::optional< RealType > | getNextPulseTime (RealType time) const |
| Determines the valid simulation time for a pulse at or after the given time. | |
| const Radar * | getAttached () const noexcept |
| Retrieves the attached radar object. | |
| const antenna::Antenna * | getAntenna () const noexcept |
| Gets the antenna associated with this radar. | |
| RealType | getGain (const math::SVec3 &angle, const math::SVec3 &refangle, RealType wavelength) const |
| Calculates the radar gain based on input angles and wavelength. | |
| virtual RealType | getNoiseTemperature (const math::SVec3 &angle) const noexcept |
| Gets the noise temperature of the radar. | |
| std::shared_ptr< timing::Timing > | getTiming () const |
| Retrieves the timing source for the radar. | |
| void | setTiming (const std::shared_ptr< timing::Timing > &tim) |
| Sets the timing source for the radar. | |
| void | setAntenna (const antenna::Antenna *ant) |
| Sets the antenna for the radar. | |
| void | setAttached (const Radar *obj) |
| Attaches another radar object to this radar. | |
| math::Vec3 | getPosition (const RealType time) const |
| Retrieves the position of the object. | |
| math::SVec3 | getRotation (const RealType time) const |
| Retrieves the rotation of the object. | |
| Platform * | getPlatform () const noexcept |
| Retrieves the associated platform of the object. | |
| const std::string & | getName () const noexcept |
| Retrieves the name of the object. | |
Protected Attributes | |
| std::shared_ptr< timing::Timing > | _timing |
| Timing source for the radar. | |
Represents a radar transmitter system.
Definition at line 31 of file transmitter.h.
|
noexcept |
Constructor for the Transmitter class.
| platform | Pointer to the platform object. |
| name | Name of the transmitter. |
| mode | The operational mode (PULSED_MODE or CW_MODE). |
Definition at line 41 of file transmitter.h.
|
overridedefault |
|
delete |
|
delete |
|
noexceptinherited |
Gets the antenna associated with this radar.
Definition at line 78 of file radar_obj.h.
Referenced by radar::to_json(), and radar::to_json().
Here is the caller graph for this function:
|
noexceptinherited |
Retrieves the attached radar object.
Definition at line 71 of file radar_obj.h.
Referenced by simulation::calculatePreviewLinks(), and simulation::calculateResponse().
Here is the caller graph for this function:
|
inherited |
Calculates the radar gain based on input angles and wavelength.
| angle | The radar's pointing angle. |
| refangle | The reference angle for comparison. |
| wavelength | The wavelength of the radar signal. |
Definition at line 26 of file radar_obj.cpp.
References antenna::Antenna::getGain().
Here is the call graph for this function:
|
noexcept |
Gets the operational mode of the transmitter.
Definition at line 75 of file transmitter.h.
Referenced by radar::to_json().
Here is the caller graph for this function:
|
noexceptinherited |
Retrieves the name of the object.
Definition at line 68 of file object.h.
Referenced by simulation::calculatePreviewLinks(), simulation::calculateResponse(), processing::finalizeCwReceiver(), serial::Response::getTransmitterName(), processing::runPulsedFinalizer(), radar::Receiver::setNoiseTemperature(), radar::to_json(), radar::to_json(), and radar::to_json().
Here is the caller graph for this function:Determines the valid simulation time for a pulse at or after the given time.
If the requested time falls within an active period, it is returned. If it falls in a gap between periods, the start of the next period is returned. If it falls after all periods, std::nullopt is returned. If no schedule is defined, the transmitter is considered "always on".
| time | The proposed pulse time. |
Definition at line 31 of file transmitter.cpp.
|
virtualnoexceptinherited |
Gets the noise temperature of the radar.
| angle | The angle at which the noise temperature is calculated. |
Reimplemented in radar::Receiver.
Definition at line 31 of file radar_obj.cpp.
Referenced by radar::Receiver::getNoiseTemperature().
Here is the caller graph for this function:
|
noexceptinherited |
Retrieves the associated platform of the object.
Definition at line 61 of file object.h.
Referenced by simulation::calculateDirectPathContribution(), simulation::calculateReflectedPathContribution(), and simulation::calculateResponse().
Here is the caller graph for this function:
|
inherited |
Retrieves the position of the object.
| time | The time at which to get the position of the object. |
Definition at line 46 of file object.h.
References radar::Platform::getPosition().
Referenced by simulation::calculatePreviewLinks(), simulation::solveRe(), and simulation::solveReDirect().
Here is the call graph for this function:
Here is the caller graph for this function:
|
noexcept |
Retrieves the pulse repetition frequency (PRF).
Definition at line 61 of file transmitter.h.
Referenced by core::runEventDrivenSim(), and radar::to_json().
Here is the caller graph for this function:
|
inherited |
Retrieves the rotation of the object.
| time | The time at which to get the rotation of the object. |
Definition at line 54 of file object.h.
References radar::Platform::getRotation().
Referenced by radar::FileTarget::getRcs(), and processing::runPulsedFinalizer().
Here is the call graph for this function:
Here is the caller graph for this function:
|
noexcept |
Retrieves the list of active transmission periods.
Definition at line 110 of file transmitter.h.
Referenced by simulation::calculatePreviewLinks(), and radar::to_json().
Here is the caller graph for this function:
|
noexcept |
Retrieves the radar signal currently being transmitted.
Definition at line 68 of file transmitter.h.
Referenced by simulation::calculateDirectPathContribution(), simulation::calculatePreviewLinks(), simulation::calculateReflectedPathContribution(), and radar::to_json().
Here is the caller graph for this function:
|
inherited |
Retrieves the timing source for the radar.
Definition at line 66 of file radar_obj.cpp.
References radar::Radar::_timing, and LOG.
Referenced by processing::finalizeCwReceiver(), processing::runPulsedFinalizer(), radar::to_json(), and radar::to_json().
Here is the caller graph for this function:
|
delete |
|
delete |
|
inherited |
Sets the antenna for the radar.
| ant | Pointer to the antenna to set. |
Definition at line 46 of file radar_obj.cpp.
References LOG.
|
inherited |
Attaches another radar object to this radar.
| obj | Pointer to the radar object to attach. |
| std::runtime_error | If another object is already attached. |
Definition at line 56 of file radar_obj.cpp.
References LOG.
|
noexcept |
Sets the pulse repetition frequency (PRF) of the transmitter.
| mprf | Desired PRF to be set. |
Definition at line 19 of file transmitter.cpp.
References params::oversampleRatio(), and params::rate().
Here is the call graph for this function:| void radar::Transmitter::setSchedule | ( | std::vector< SchedulePeriod > | schedule | ) |
Sets the active schedule for the transmitter.
The provided schedule should be pre-validated and sorted.
| schedule | A vector of active periods. |
Definition at line 25 of file transmitter.cpp.
|
noexcept |
Sets the radar signal wave to be transmitted.
| signal | Pointer to the RadarSignal object to be transmitted. |
Definition at line 89 of file transmitter.h.
|
inherited |
Sets the timing source for the radar.
| tim | Shared pointer to the timing source to set. |
Definition at line 36 of file radar_obj.cpp.
References radar::Radar::_timing, and LOG.
|
noexcept |
Sets the radar signal wave to be transmitted.
| pulse | Pointer to the RadarSignal object representing the wave. |
Definition at line 82 of file transmitter.h.
|
protectedinherited |
Timing source for the radar.
Definition at line 129 of file radar_obj.h.
Referenced by radar::Radar::getTiming(), radar::Receiver::getWindowStart(), and radar::Radar::setTiming().