53 void clear() noexcept;
79 virtual std::vector<ComplexType>
render(
const std::vector<interp::InterpPoint>& points,
unsigned& size,
80 double fracWinDelay)
const;
83 std::vector<ComplexType> _data;
97 [[nodiscard]]
constexpr std::tuple<double, double, double, int>
98 calculateWeightsAndDelays(std::vector<interp::InterpPoint>::const_iterator iter,
99 std::vector<interp::InterpPoint>::const_iterator next,
double sampleTime,
100 double idelay,
double fracWinDelay)
const noexcept;
112 ComplexType performConvolution(
int i,
const double* filt,
int filtLength,
double amplitude,
113 int iSampleUnwrap)
const noexcept;
134 std::unique_ptr<Signal> signal);
150 void setFilename(const std::
string& filename) noexcept { _filename = filename; }
156 [[nodiscard]]
const std::optional<std::string>&
getFilename() const noexcept {
return _filename; }
177 [[nodiscard]]
const std::string&
getName() const noexcept {
return _name; }
207 std::vector<ComplexType>
render(
const std::vector<interp::InterpPoint>& points,
unsigned& size,
215 std::unique_ptr<Signal> _signal;
216 std::optional<std::string> _filename;
239 RealType fracWinDelay) const override;
~CwSignal() override=default
CwSignal(CwSignal &&) noexcept=delete
std::vector< ComplexType > render(const std::vector< interp::InterpPoint > &points, unsigned &size, RealType fracWinDelay) const override
Renders the signal data.
CwSignal(const CwSignal &) noexcept=delete
CwSignal & operator=(const CwSignal &) noexcept=delete
Class representing a radar signal with associated properties.
void setFilename(const std::string &filename) noexcept
Sets the filename associated with this signal.
RadarSignal(const RadarSignal &) noexcept=delete
RadarSignal & operator=(const RadarSignal &) noexcept=delete
const std::optional< std::string > & getFilename() const noexcept
Gets the filename associated with this signal.
RealType getRate() const noexcept
Gets the sample rate of the radar signal.
std::vector< ComplexType > render(const std::vector< interp::InterpPoint > &points, unsigned &size, RealType fracWinDelay) const
Renders the radar signal.
RadarSignal(RadarSignal &&) noexcept=delete
const std::string & getName() const noexcept
Gets the name of the radar signal.
RealType getCarrier() const noexcept
Gets the carrier frequency of the radar signal.
RealType getLength() const noexcept
Gets the length of the radar signal.
const Signal * getSignal() const noexcept
Gets the underlying signal object.
RealType getPower() const noexcept
Gets the power of the radar signal.
Class for handling radar waveform signal data.
RealType getRate() const noexcept
Gets the sample rate of the signal.
virtual ~Signal()=default
Signal(Signal &&)=default
void clear() noexcept
Clears the internal signal data.
Signal & operator=(const Signal &)=delete
Signal(const Signal &)=delete
void load(std::span< const ComplexType > inData, unsigned samples, RealType sampleRate)
Loads complex radar waveform data.
virtual std::vector< ComplexType > render(const std::vector< interp::InterpPoint > &points, unsigned &size, double fracWinDelay) const
Renders the signal data based on interpolation points.
Signal & operator=(Signal &&)=default
Global configuration file for the project.
double RealType
Type for real numbers.
std::complex< RealType > ComplexType
Type for complex numbers.