49 std::vector<FixedFullscaleIqSample>
samples;
68 std::span<
const std::unique_ptr<serial::Response>> responses);
Global configuration file for the project.
double RealType
Type for real numbers.
FixedFullscaleScalingResult scaleToInt16FixedFullscale(const std::span< const ComplexType > samples, const RealType fullscale)
Scales complex samples against a fixed full-scale to signed int16 IQ.
void applyThermalNoise(std::span< ComplexType > window, const RealType noiseTemperature, std::mt19937 &rngEngine)
Applies thermal (Johnson-Nyquist) noise to a window of I/Q samples.
void applyThermalNoiseAtSampleRate(std::span< ComplexType > window, const RealType noiseTemperature, std::mt19937 &rngEngine, const RealType sampleRateHz)
Applies circular complex thermal noise using a caller-specified complex-baseband sample rate.
RealType quantizeAndScaleWindow(std::span< ComplexType > window)
Simulates ADC quantization and scales a window of complex I/Q samples.
void renderWindow(std::vector< ComplexType > &window, const RealType length, const RealType start, const RealType fracDelay, const std::span< const std::unique_ptr< serial::Response > > responses)
Renders a time-window of I/Q data from a collection of raw radar responses.
One complex Cartesian IQ sample scaled for VITA-style signed 16-bit transport.
Result of fixed-fullscale IQ scaling.
std::vector< FixedFullscaleIqSample > samples
std::uint64_t clipped_sample_count