|
FERS 0.1.0
The Flexible Extensible Radar Simulator
|
Stepped-frequency continuous-wave signal implementation. More...
#include "radar_signal.h"
Inheritance diagram for fers_signal::SteppedFrequencySignal:
Collaboration diagram for fers_signal::SteppedFrequencySignal:Classes | |
| struct | StepState |
| Active SFCW dwell selected for one local waveform time. More... | |
Public Member Functions | |
| SteppedFrequencySignal (RealType start_frequency_offset, RealType step_size, std::size_t step_count, RealType dwell_time, RealType step_period, std::optional< std::size_t > sweep_count=std::nullopt) | |
| Constructs a uniform stepped-frequency CW signal. | |
| ~SteppedFrequencySignal () override=default | |
| SteppedFrequencySignal (const SteppedFrequencySignal &) noexcept=delete | |
| SteppedFrequencySignal & | operator= (const SteppedFrequencySignal &) noexcept=delete |
| SteppedFrequencySignal (SteppedFrequencySignal &&) noexcept=delete | |
| SteppedFrequencySignal & | operator= (SteppedFrequencySignal &&) noexcept=delete |
| RealType | getStartFrequencyOffset () const noexcept |
| Gets the first-step offset from carrier in hertz. | |
| RealType | getStepSize () const noexcept |
| Gets the uniform frequency step in hertz. | |
| std::size_t | getStepCount () const noexcept |
| Gets the number of steps per sweep. | |
| RealType | getDwellTime () const noexcept |
| Gets active dwell time per step in seconds. | |
| RealType | getStepPeriod () const noexcept |
| Gets step repetition period in seconds. | |
| const std::optional< std::size_t > & | getSweepCount () const noexcept |
| Gets optional finite sweep count. | |
| RealType | getSweepPeriod () const noexcept |
| Gets full sweep period in seconds. | |
| RealType | firstFrequency (RealType carrier_frequency) const noexcept |
| Gets first-step RF frequency in hertz. | |
| RealType | lastFrequency (RealType carrier_frequency) const noexcept |
| Gets final-step RF frequency in hertz. | |
| RealType | frequencySpan () const noexcept |
| Gets first-to-last absolute span in hertz. | |
| RealType | effectiveBandwidth () const noexcept |
| Gets DFT-convention effective bandwidth in hertz. | |
| std::optional< RealType > | totalDuration () const noexcept |
| Gets finite waveform duration, if sweep_count is configured. | |
| std::optional< StepState > | activeStepAt (RealType time_since_segment_start, RealType carrier_frequency) const noexcept |
| Returns the active step for a time since the segment start. | |
| std::vector< ComplexType > | render (const std::vector< interp::InterpPoint > &points, unsigned &size, RealType fracWinDelay) const override |
| Renders the signal data. For SFCW signals, this is a no-op. | |
| void | clear () noexcept |
| Clears the internal signal data. | |
| void | load (std::span< const ComplexType > inData, unsigned samples, RealType sampleRate) |
| Loads complex radar waveform data. | |
| RealType | getRate () const noexcept |
| Gets the sample rate of the signal. | |
| unsigned | getSampleCount () const noexcept |
| Gets the number of native samples held by this signal. | |
| virtual std::vector< ComplexType > | renderSlice (const std::vector< interp::InterpPoint > &points, RealType outputStartTime, RealType outputSampleRate, std::size_t sampleCount, RealType fracWinDelay) const |
| Renders a bounded absolute-time slice on the requested output grid. | |
| virtual bool | isFmcwFamily () const noexcept |
| Returns true when this signal belongs to the FMCW waveform family. | |
Stepped-frequency continuous-wave signal implementation.
Definition at line 313 of file radar_signal.h.
| fers_signal::SteppedFrequencySignal::SteppedFrequencySignal | ( | RealType | start_frequency_offset, |
| RealType | step_size, | ||
| std::size_t | step_count, | ||
| RealType | dwell_time, | ||
| RealType | step_period, | ||
| std::optional< std::size_t > | sweep_count = std::nullopt |
||
| ) |
Constructs a uniform stepped-frequency CW signal.
Definition at line 55 of file radar_signal.cpp.
|
overridedefault |
|
deletenoexcept |
|
deletenoexcept |
|
noexcept |
Returns the active step for a time since the segment start.
Definition at line 101 of file radar_signal.cpp.
References max, and fers_signal::SteppedFrequencySignal::StepState::step_index.
|
noexceptinherited |
Clears the internal signal data.
Definition at line 334 of file radar_signal.cpp.
Referenced by fers_signal::Signal::load().
Here is the caller graph for this function:
|
noexcept |
Gets DFT-convention effective bandwidth in hertz.
Definition at line 86 of file radar_signal.cpp.
|
noexcept |
Gets first-step RF frequency in hertz.
Definition at line 63 of file radar_signal.cpp.
|
noexcept |
Gets first-to-last absolute span in hertz.
Definition at line 77 of file radar_signal.cpp.
|
noexcept |
Gets active dwell time per step in seconds.
Definition at line 352 of file radar_signal.h.
|
noexceptinherited |
Gets the sample rate of the signal.
Definition at line 86 of file radar_signal.h.
|
noexceptinherited |
Gets the number of native samples held by this signal.
Definition at line 89 of file radar_signal.h.
|
noexcept |
Gets the first-step offset from carrier in hertz.
Definition at line 343 of file radar_signal.h.
|
noexcept |
Gets the number of steps per sweep.
Definition at line 349 of file radar_signal.h.
|
noexcept |
Gets step repetition period in seconds.
Definition at line 355 of file radar_signal.h.
|
noexcept |
Gets the uniform frequency step in hertz.
Definition at line 346 of file radar_signal.h.
|
noexcept |
Gets optional finite sweep count.
Definition at line 358 of file radar_signal.h.
|
noexcept |
Gets full sweep period in seconds.
Definition at line 361 of file radar_signal.h.
Referenced by totalDuration().
Here is the caller graph for this function:Returns true when this signal belongs to the FMCW waveform family.
Reimplemented in fers_signal::FmcwChirpSignal, and fers_signal::FmcwTriangleSignal.
Definition at line 109 of file radar_signal.h.
|
noexcept |
Gets final-step RF frequency in hertz.
Definition at line 68 of file radar_signal.cpp.
|
inherited |
Loads complex radar waveform data.
| inData | The input span of complex signal data. |
| samples | The number of samples in the input data. |
| sampleRate | The sample rate of the input data. |
Definition at line 340 of file radar_signal.cpp.
References fers_signal::Signal::clear(), max, params::oversampleRatio(), and fers_signal::upsample().
Here is the call graph for this function:
|
deletenoexcept |
|
deletenoexcept |
|
overridevirtual |
Renders the signal data. For SFCW signals, this is a no-op.
Reimplemented from fers_signal::Signal.
Definition at line 140 of file radar_signal.cpp.
References max.
|
virtualinherited |
Renders a bounded absolute-time slice on the requested output grid.
Definition at line 374 of file radar_signal.cpp.
References interp::InterpFilter::getInstance(), max, and params::renderFilterLength().
Referenced by fers_signal::Signal::render().
Here is the call graph for this function:
Here is the caller graph for this function:
|
noexcept |
Gets finite waveform duration, if sweep_count is configured.
Definition at line 91 of file radar_signal.cpp.
References getSweepPeriod().
Here is the call graph for this function: