FERS 1.0.0
The Flexible Extensible Radar Simulator
Loading...
Searching...
No Matches
fers_signal::CwSignal Class Referencefinal

#include "radar_signal.h"

+ Inheritance diagram for fers_signal::CwSignal:
+ Collaboration diagram for fers_signal::CwSignal:

Public Member Functions

 CwSignal ()=default
 
 ~CwSignal () override=default
 
 CwSignal (const CwSignal &) noexcept=delete
 
CwSignaloperator= (const CwSignal &) noexcept=delete
 
 CwSignal (CwSignal &&) noexcept=delete
 
CwSignaloperator= (CwSignal &&) noexcept=delete
 
std::vector< ComplexTyperender (const std::vector< interp::InterpPoint > &points, unsigned &size, RealType fracWinDelay) const override
 Renders the signal data.
 
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.
 

Detailed Description

Definition at line 219 of file radar_signal.h.

Constructor & Destructor Documentation

◆ CwSignal() [1/3]

fers_signal::CwSignal::CwSignal ( )
default

◆ ~CwSignal()

fers_signal::CwSignal::~CwSignal ( )
overridedefault

◆ CwSignal() [2/3]

fers_signal::CwSignal::CwSignal ( const CwSignal )
deletenoexcept

◆ CwSignal() [3/3]

fers_signal::CwSignal::CwSignal ( CwSignal &&  )
deletenoexcept

Member Function Documentation

◆ clear()

void fers_signal::Signal::clear ( )
noexceptinherited

Clears the internal signal data.

Definition at line 57 of file radar_signal.cpp.

58 {
59 _size = 0;
60 _rate = 0;
61 }

Referenced by fers_signal::Signal::load().

+ Here is the caller graph for this function:

◆ getRate()

RealType fers_signal::Signal::getRate ( ) const
noexceptinherited

Gets the sample rate of the signal.

Returns
The sample rate of the signal.

Definition at line 69 of file radar_signal.h.

69{ return _rate; }

◆ load()

void fers_signal::Signal::load ( std::span< const ComplexType inData,
unsigned  samples,
RealType  sampleRate 
)
inherited

Loads complex radar waveform data.

Parameters
inDataThe input span of complex signal data.
samplesThe number of samples in the input data.
sampleRateThe sample rate of the input data.

Definition at line 63 of file radar_signal.cpp.

64 {
65 clear();
66 const unsigned ratio = params::oversampleRatio();
67 _data.resize(samples * ratio);
68 _size = samples * ratio;
69 _rate = sampleRate * ratio;
70
71 if (ratio == 1)
72 {
73 std::ranges::copy(inData, _data.begin());
74 }
75 else
76 {
77 upsample(inData, samples, _data);
78 }
79 }
void clear() noexcept
Clears the internal signal data.
void upsample(const std::span< const ComplexType > in, const unsigned size, std::span< ComplexType > out)
Upsamples a signal by a given ratio.
unsigned oversampleRatio() noexcept
Get the oversampling ratio.
Definition parameters.h:139

References fers_signal::Signal::clear(), params::oversampleRatio(), and fers_signal::upsample().

+ Here is the call graph for this function:

◆ operator=() [1/2]

CwSignal & fers_signal::CwSignal::operator= ( const CwSignal )
deletenoexcept

◆ operator=() [2/2]

CwSignal & fers_signal::CwSignal::operator= ( CwSignal &&  )
deletenoexcept

◆ render()

std::vector< ComplexType > fers_signal::CwSignal::render ( const std::vector< interp::InterpPoint > &  points,
unsigned &  size,
RealType  fracWinDelay 
) const
overridevirtual

Renders the signal data.

For CW signals, this is a no-op.

Returns
An empty vector of complex signal data.

Reimplemented from fers_signal::Signal.

Definition at line 29 of file radar_signal.cpp.

31 {
32 size = 0;
33 return {};
34 }

The documentation for this class was generated from the following files: