FERS 1.0.0
The Flexible Extensible Radar Simulator
Loading...
Searching...
No Matches
finalizer_pipeline.cpp File Reference
#include "finalizer_pipeline.h"
#include <algorithm>
#include <cmath>
#include <highfive/highfive.hpp>
#include <ranges>
#include "core/logging.h"
#include "core/output_metadata.h"
#include "core/parameters.h"
#include "processing/signal_processor.h"
#include "radar/receiver.h"
#include "radar/target.h"
#include "radar/transmitter.h"
#include "serial/hdf5_handler.h"
#include "serial/response.h"
#include "signal/dsp_filters.h"
#include "simulation/channel_model.h"
#include "timing/timing.h"
+ Include dependency graph for finalizer_pipeline.cpp:

Go to the source code of this file.

Namespaces

namespace  processing
 
namespace  processing::pipeline
 

Functions

void processing::pipeline::advanceTimingModel (timing::Timing *timing_model, const radar::Receiver *receiver, RealType rate)
 Advances the receiver's timing model to the start of the next processing window.
 
std::tuple< RealType, RealTypeprocessing::pipeline::calculateJitteredStart (RealType ideal_start, RealType first_phase_noise, RealType carrier_freq, RealType rate)
 Calculates the jittered start time and fractional delay from a phase noise sample.
 
void processing::pipeline::applyCwInterference (std::span< ComplexType > window, RealType actual_start, RealType dt, const radar::Receiver *receiver, const std::vector< radar::Transmitter * > &cw_sources, const std::vector< std::unique_ptr< radar::Target > > *targets)
 Applies continuous-wave interference to a time window.
 
void processing::pipeline::applyPulsedInterference (std::vector< ComplexType > &iq_buffer, const std::vector< std::unique_ptr< serial::Response > > &interference_log)
 Renders and applies pulsed interference to a continuous-wave IQ buffer.
 
void processing::pipeline::addPhaseNoiseToWindow (std::span< const RealType > noise, std::span< ComplexType > window)
 Applies a pre-generated sequence of phase noise samples to an I/Q buffer.
 
RealType processing::pipeline::applyDownsamplingAndQuantization (std::vector< ComplexType > &buffer)
 Downsamples and quantizes an IQ buffer.
 
void processing::pipeline::exportCwToHdf5 (const std::string &filename, const std::vector< ComplexType > &iq_buffer, RealType fullscale, RealType ref_freq, const core::OutputFileMetadata *metadata=nullptr)
 Exports a finalized continuous-wave IQ buffer to an HDF5 file.