FERS 1.0.0
The Flexible Extensible Radar Simulator
Loading...
Searching...
No Matches
finalizer_pipeline.h File Reference

Declares focused, testable pipeline steps for receiver finalization. More...

#include <memory>
#include <span>
#include <string>
#include <tuple>
#include <vector>
#include "core/config.h"
+ Include dependency graph for finalizer_pipeline.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  timing
 
namespace  radar
 
namespace  serial
 
namespace  core
 
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.
 

Detailed Description

Declares focused, testable pipeline steps for receiver finalization.

This header defines the individual, single-responsibility functions that constitute the signal processing pipeline for both pulsed and continuous-wave receivers. By breaking the finalization process into these discrete steps, each function becomes highly cohesive, easier to understand, and independently testable.

Definition in file finalizer_pipeline.h.