|
FERS 0.1.0
The Flexible Extensible Radar Simulator
|
FMCW symmetric triangular modulation signal implementation. More...
#include "radar_signal.h"
Inheritance diagram for fers_signal::FmcwTriangleSignal:
Collaboration diagram for fers_signal::FmcwTriangleSignal:Public Member Functions | |
| FmcwTriangleSignal (RealType chirp_bandwidth, RealType chirp_duration, RealType start_frequency_offset=0.0, std::optional< std::size_t > triangle_count=std::nullopt) | |
| Constructs an FMCW triangular modulation signal. | |
| ~FmcwTriangleSignal () override=default | |
| FmcwTriangleSignal (const FmcwTriangleSignal &) noexcept=delete | |
| FmcwTriangleSignal & | operator= (const FmcwTriangleSignal &) noexcept=delete |
| FmcwTriangleSignal (FmcwTriangleSignal &&) noexcept=delete | |
| FmcwTriangleSignal & | operator= (FmcwTriangleSignal &&) noexcept=delete |
| RealType | getChirpBandwidth () const noexcept |
| Gets the chirp bandwidth in hertz. | |
| RealType | getChirpDuration () const noexcept |
| Gets the per-leg chirp duration in seconds. | |
| RealType | getStartFrequencyOffset () const noexcept |
| Gets the start frequency offset relative to carrier in hertz. | |
| const std::optional< std::size_t > & | getTriangleCount () const noexcept |
| Gets the optional finite triangle count. | |
| RealType | getChirpRate () const noexcept |
| Gets the chirp rate magnitude in hertz per second. | |
| RealType | getTrianglePeriod () const noexcept |
| Gets the full up/down triangle period in seconds. | |
| RealType | getDeltaPhiUp () const noexcept |
| Gets the full, unreduced phase accumulated by one leg. | |
| bool | isTriangle () const noexcept |
| Returns true for triangular FMCW waveforms. | |
| RealType | basebandPhaseForTriangleTime (RealType triangle_time) const noexcept |
| Computes baseband phase at a time since the triangle train start. | |
| std::optional< RealType > | instantaneousBasebandPhase (RealType time_since_segment_start) const noexcept |
| Computes instantaneous baseband phase at a time since segment start. | |
| std::vector< ComplexType > | render (const std::vector< interp::InterpPoint > &points, unsigned &size, RealType fracWinDelay) const override |
| Renders an FMCW waveform from interpolation points. | |
| bool | isFmcwFamily () const noexcept override |
| Returns true when this signal belongs to the FMCW waveform family. | |
| 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. | |
FMCW symmetric triangular modulation signal implementation.
Definition at line 391 of file radar_signal.h.
| fers_signal::FmcwTriangleSignal::FmcwTriangleSignal | ( | RealType | chirp_bandwidth, |
| RealType | chirp_duration, | ||
| RealType | start_frequency_offset = 0.0, |
||
| std::optional< std::size_t > | triangle_count = std::nullopt |
||
| ) |
Constructs an FMCW triangular modulation signal.
Definition at line 113 of file radar_signal.cpp.
|
overridedefault |
|
deletenoexcept |
|
deletenoexcept |
|
noexcept |
Computes baseband phase at a time since the triangle train start.
Definition at line 124 of file radar_signal.cpp.
|
noexceptinherited |
Clears the internal signal data.
Definition at line 232 of file radar_signal.cpp.
Referenced by fers_signal::Signal::load().
Here is the caller graph for this function:
|
noexcept |
Gets the chirp bandwidth in hertz.
Definition at line 409 of file radar_signal.h.
|
noexcept |
Gets the per-leg chirp duration in seconds.
Definition at line 412 of file radar_signal.h.
|
noexcept |
Gets the chirp rate magnitude in hertz per second.
Definition at line 421 of file radar_signal.h.
|
noexcept |
Gets the full, unreduced phase accumulated by one leg.
Definition at line 427 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 start frequency offset relative to carrier in hertz.
Definition at line 415 of file radar_signal.h.
|
noexcept |
Gets the optional finite triangle count.
Definition at line 418 of file radar_signal.h.
|
noexcept |
Gets the full up/down triangle period in seconds.
Definition at line 424 of file radar_signal.h.
|
noexcept |
Computes instantaneous baseband phase at a time since segment start.
Definition at line 145 of file radar_signal.cpp.
References max.
|
overridevirtualnoexcept |
Returns true when this signal belongs to the FMCW waveform family.
Reimplemented from fers_signal::Signal.
Definition at line 443 of file radar_signal.h.
|
noexcept |
Returns true for triangular FMCW waveforms.
Definition at line 430 of file radar_signal.h.
|
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 238 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 an FMCW waveform from interpolation points.
Reimplemented from fers_signal::Signal.
Definition at line 167 of file radar_signal.cpp.
References max.
|
virtualinherited |
Renders a bounded absolute-time slice on the requested output grid.
Definition at line 272 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: