FERS 0.1.0
The Flexible Extensible Radar Simulator
Loading...
Searching...
No Matches
core::OutputFileMetadata Struct Reference

Metadata for one receiver output file. More...

#include "output_metadata.h"

Public Attributes

SimId receiver_id = 0
 Receiver SimId that owns the output file.
 
std::string receiver_name
 Receiver display name.
 
std::string mode
 Output mode label, such as pulsed or streaming.
 
std::string path
 Filesystem path to the generated output file.
 
RealType sampling_rate = 0.0
 Sample rate for this output file in hertz.
 
std::uint64_t total_samples = 0
 Total sample count written to the file.
 
std::uint64_t sample_start = 0
 Inclusive global sample index for the file start.
 
std::uint64_t sample_end_exclusive = 0
 Exclusive global sample index for the file end.
 
std::uint64_t pulse_count = 0
 Number of pulses represented in the file.
 
std::uint64_t min_pulse_length_samples = 0
 Minimum pulse length in samples.
 
std::uint64_t max_pulse_length_samples = 0
 Maximum pulse length in samples.
 
bool uniform_pulse_length = true
 True when every pulse has the same sample length.
 
std::vector< PulseChunkMetadatachunks = {}
 Pulsed output chunks written to the file.
 
std::vector< StreamingSegmentMetadatastreaming_segments = {}
 Streaming segments written to the file.
 
std::optional< FmcwMetadatafmcw = std::nullopt
 Optional FMCW metadata for streaming outputs.
 
std::vector< FmcwSourceMetadatafmcw_sources = {}
 FMCW illuminators represented in the output.
 
std::optional< SfcwMetadatasfcw = std::nullopt
 Optional SFCW metadata for streaming outputs.
 
std::vector< SfcwSourceMetadatasfcw_sources = {}
 SFCW illuminators represented in the output.
 
std::string fmcw_dechirp_mode = "none"
 Receiver dechirp mode for FMCW streaming outputs.
 
std::string fmcw_dechirp_reference_source = "none"
 Receiver dechirp reference source.
 
std::optional< SimIdfmcw_dechirp_reference_transmitter_id = std::nullopt
 Referenced LO transmitter ID.
 
std::optional< std::string > fmcw_dechirp_reference_transmitter_name = std::nullopt
 LO transmitter name.
 
std::optional< SimIdfmcw_dechirp_reference_waveform_id = std::nullopt
 Custom LO waveform ID.
 
std::optional< std::string > fmcw_dechirp_reference_waveform_name = std::nullopt
 Custom LO waveform name.
 
std::optional< FmcwMetadatafmcw_dechirp_reference_waveform = std::nullopt
 Custom LO waveform parameters.
 
bool fmcw_if_decimation_enabled = false
 True when IF-rate resampling is used.
 
bool fmcw_if_legacy_full_rate = false
 True for legacy full-rate dechirped IF output.
 
std::optional< RealTypefmcw_if_requested_sample_rate = std::nullopt
 Requested IF ADC rate in hertz.
 
std::optional< RealTypefmcw_if_sample_rate = std::nullopt
 Realized IF output sample rate in hertz.
 
std::optional< RealTypefmcw_if_input_sample_rate = std::nullopt
 Input simulation sample rate in hertz.
 
std::optional< unsignedfmcw_if_resample_numerator = std::nullopt
 Reduced rational P.
 
std::optional< unsignedfmcw_if_resample_denominator = std::nullopt
 Reduced rational Q.
 
std::optional< RealTypefmcw_if_decimation_factor = std::nullopt
 Input/output sample-rate ratio.
 
std::optional< RealTypefmcw_if_filter_bandwidth = std::nullopt
 One-sided IF passband in hertz.
 
std::optional< RealTypefmcw_if_filter_transition_width = std::nullopt
 IF transition width in hertz.
 
std::optional< RealTypefmcw_if_filter_stopband = std::nullopt
 IF stopband attenuation in dB.
 
std::optional< RealTypefmcw_if_filter_group_delay_seconds = std::nullopt
 Total filter delay.
 
std::optional< std::uint64_t > fmcw_if_compensated_integer_delay_samples
 Integer output-delay compensation.
 
std::optional< RealTypefmcw_if_compensated_fractional_delay_samples
 Fractional output-delay compensation.
 
std::optional< std::uint64_t > fmcw_if_warmup_discard_samples
 Startup outputs discarded by the sink.
 
std::optional< unsignedfmcw_if_phase_refinement = std::nullopt
 Polyphase refinement factor.
 
std::optional< RealTypefmcw_if_timing_error_seconds = std::nullopt
 Estimated timing error.
 
std::optional< RealTypefmcw_if_phase_error_radians = std::nullopt
 Estimated IF edge phase error.
 
std::optional< RealTypefmcw_if_noise_variance = std::nullopt
 Post-resampling complex noise variance.
 
bool fmcw_if_group_delay_compensated = false
 True when IF output timestamps are aligned to t_start.
 

Detailed Description

Metadata for one receiver output file.

Definition at line 131 of file output_metadata.h.

Member Data Documentation

◆ chunks

std::vector<PulseChunkMetadata> core::OutputFileMetadata::chunks = {}

Pulsed output chunks written to the file.

Definition at line 145 of file output_metadata.h.

145{}; ///< Pulsed output chunks written to the file.

◆ fmcw

std::optional<FmcwMetadata> core::OutputFileMetadata::fmcw = std::nullopt

Optional FMCW metadata for streaming outputs.

Definition at line 147 of file output_metadata.h.

◆ fmcw_dechirp_mode

std::string core::OutputFileMetadata::fmcw_dechirp_mode = "none"

Receiver dechirp mode for FMCW streaming outputs.

Definition at line 151 of file output_metadata.h.

◆ fmcw_dechirp_reference_source

std::string core::OutputFileMetadata::fmcw_dechirp_reference_source = "none"

Receiver dechirp reference source.

Definition at line 152 of file output_metadata.h.

◆ fmcw_dechirp_reference_transmitter_id

std::optional<SimId> core::OutputFileMetadata::fmcw_dechirp_reference_transmitter_id = std::nullopt

Referenced LO transmitter ID.

Definition at line 153 of file output_metadata.h.

◆ fmcw_dechirp_reference_transmitter_name

std::optional<std::string> core::OutputFileMetadata::fmcw_dechirp_reference_transmitter_name = std::nullopt

LO transmitter name.

Definition at line 154 of file output_metadata.h.

◆ fmcw_dechirp_reference_waveform

std::optional<FmcwMetadata> core::OutputFileMetadata::fmcw_dechirp_reference_waveform = std::nullopt

Custom LO waveform parameters.

Definition at line 157 of file output_metadata.h.

◆ fmcw_dechirp_reference_waveform_id

std::optional<SimId> core::OutputFileMetadata::fmcw_dechirp_reference_waveform_id = std::nullopt

Custom LO waveform ID.

Definition at line 155 of file output_metadata.h.

◆ fmcw_dechirp_reference_waveform_name

std::optional<std::string> core::OutputFileMetadata::fmcw_dechirp_reference_waveform_name = std::nullopt

Custom LO waveform name.

Definition at line 156 of file output_metadata.h.

◆ fmcw_if_compensated_fractional_delay_samples

std::optional<RealType> core::OutputFileMetadata::fmcw_if_compensated_fractional_delay_samples
Initial value:
=
std::nullopt

Fractional output-delay compensation.

Definition at line 172 of file output_metadata.h.

◆ fmcw_if_compensated_integer_delay_samples

std::optional<std::uint64_t> core::OutputFileMetadata::fmcw_if_compensated_integer_delay_samples
Initial value:
=
std::nullopt

Integer output-delay compensation.

Definition at line 170 of file output_metadata.h.

◆ fmcw_if_decimation_enabled

bool core::OutputFileMetadata::fmcw_if_decimation_enabled = false

True when IF-rate resampling is used.

Definition at line 158 of file output_metadata.h.

◆ fmcw_if_decimation_factor

std::optional<RealType> core::OutputFileMetadata::fmcw_if_decimation_factor = std::nullopt

Input/output sample-rate ratio.

Definition at line 165 of file output_metadata.h.

◆ fmcw_if_filter_bandwidth

std::optional<RealType> core::OutputFileMetadata::fmcw_if_filter_bandwidth = std::nullopt

One-sided IF passband in hertz.

Definition at line 166 of file output_metadata.h.

◆ fmcw_if_filter_group_delay_seconds

std::optional<RealType> core::OutputFileMetadata::fmcw_if_filter_group_delay_seconds = std::nullopt

Total filter delay.

Definition at line 169 of file output_metadata.h.

◆ fmcw_if_filter_stopband

std::optional<RealType> core::OutputFileMetadata::fmcw_if_filter_stopband = std::nullopt

IF stopband attenuation in dB.

Definition at line 168 of file output_metadata.h.

◆ fmcw_if_filter_transition_width

std::optional<RealType> core::OutputFileMetadata::fmcw_if_filter_transition_width = std::nullopt

IF transition width in hertz.

Definition at line 167 of file output_metadata.h.

◆ fmcw_if_group_delay_compensated

bool core::OutputFileMetadata::fmcw_if_group_delay_compensated = false

True when IF output timestamps are aligned to t_start.

Definition at line 180 of file output_metadata.h.

◆ fmcw_if_input_sample_rate

std::optional<RealType> core::OutputFileMetadata::fmcw_if_input_sample_rate = std::nullopt

Input simulation sample rate in hertz.

Definition at line 162 of file output_metadata.h.

◆ fmcw_if_legacy_full_rate

bool core::OutputFileMetadata::fmcw_if_legacy_full_rate = false

True for legacy full-rate dechirped IF output.

Definition at line 159 of file output_metadata.h.

◆ fmcw_if_noise_variance

std::optional<RealType> core::OutputFileMetadata::fmcw_if_noise_variance = std::nullopt

Post-resampling complex noise variance.

Definition at line 179 of file output_metadata.h.

◆ fmcw_if_phase_error_radians

std::optional<RealType> core::OutputFileMetadata::fmcw_if_phase_error_radians = std::nullopt

Estimated IF edge phase error.

Definition at line 178 of file output_metadata.h.

◆ fmcw_if_phase_refinement

std::optional<unsigned> core::OutputFileMetadata::fmcw_if_phase_refinement = std::nullopt

Polyphase refinement factor.

Definition at line 176 of file output_metadata.h.

◆ fmcw_if_requested_sample_rate

std::optional<RealType> core::OutputFileMetadata::fmcw_if_requested_sample_rate = std::nullopt

Requested IF ADC rate in hertz.

Definition at line 160 of file output_metadata.h.

◆ fmcw_if_resample_denominator

std::optional<unsigned> core::OutputFileMetadata::fmcw_if_resample_denominator = std::nullopt

Reduced rational Q.

Definition at line 164 of file output_metadata.h.

◆ fmcw_if_resample_numerator

std::optional<unsigned> core::OutputFileMetadata::fmcw_if_resample_numerator = std::nullopt

Reduced rational P.

Definition at line 163 of file output_metadata.h.

◆ fmcw_if_sample_rate

std::optional<RealType> core::OutputFileMetadata::fmcw_if_sample_rate = std::nullopt

Realized IF output sample rate in hertz.

Definition at line 161 of file output_metadata.h.

◆ fmcw_if_timing_error_seconds

std::optional<RealType> core::OutputFileMetadata::fmcw_if_timing_error_seconds = std::nullopt

Estimated timing error.

Definition at line 177 of file output_metadata.h.

◆ fmcw_if_warmup_discard_samples

std::optional<std::uint64_t> core::OutputFileMetadata::fmcw_if_warmup_discard_samples
Initial value:
=
std::nullopt

Startup outputs discarded by the sink.

Definition at line 174 of file output_metadata.h.

◆ fmcw_sources

std::vector<FmcwSourceMetadata> core::OutputFileMetadata::fmcw_sources = {}

FMCW illuminators represented in the output.

Definition at line 148 of file output_metadata.h.

148{}; ///< FMCW illuminators represented in the output.

◆ max_pulse_length_samples

std::uint64_t core::OutputFileMetadata::max_pulse_length_samples = 0

Maximum pulse length in samples.

Definition at line 143 of file output_metadata.h.

◆ min_pulse_length_samples

std::uint64_t core::OutputFileMetadata::min_pulse_length_samples = 0

Minimum pulse length in samples.

Definition at line 142 of file output_metadata.h.

◆ mode

std::string core::OutputFileMetadata::mode

Output mode label, such as pulsed or streaming.

Definition at line 135 of file output_metadata.h.

◆ path

std::string core::OutputFileMetadata::path

Filesystem path to the generated output file.

Definition at line 136 of file output_metadata.h.

Referenced by serial::Hdf5OutputSink::Impl::closeStreamingStream().

◆ pulse_count

std::uint64_t core::OutputFileMetadata::pulse_count = 0

Number of pulses represented in the file.

Definition at line 141 of file output_metadata.h.

◆ receiver_id

SimId core::OutputFileMetadata::receiver_id = 0

Receiver SimId that owns the output file.

Definition at line 133 of file output_metadata.h.

Referenced by serial::Hdf5OutputSink::Impl::closeStreamingStream(), and serial::Hdf5OutputSink::Impl::registerStream().

◆ receiver_name

std::string core::OutputFileMetadata::receiver_name

Receiver display name.

Definition at line 134 of file output_metadata.h.

◆ sample_end_exclusive

std::uint64_t core::OutputFileMetadata::sample_end_exclusive = 0

Exclusive global sample index for the file end.

Definition at line 140 of file output_metadata.h.

Referenced by serial::Hdf5OutputSink::Impl::closeStreamingStream().

◆ sample_start

std::uint64_t core::OutputFileMetadata::sample_start = 0

Inclusive global sample index for the file start.

Definition at line 139 of file output_metadata.h.

Referenced by serial::Hdf5OutputSink::Impl::closeStreamingStream().

◆ sampling_rate

RealType core::OutputFileMetadata::sampling_rate = 0.0

Sample rate for this output file in hertz.

Definition at line 137 of file output_metadata.h.

Referenced by serial::Hdf5OutputSink::Impl::closeStreamingStream().

◆ sfcw

std::optional<SfcwMetadata> core::OutputFileMetadata::sfcw = std::nullopt

Optional SFCW metadata for streaming outputs.

Definition at line 149 of file output_metadata.h.

◆ sfcw_sources

std::vector<SfcwSourceMetadata> core::OutputFileMetadata::sfcw_sources = {}

SFCW illuminators represented in the output.

Definition at line 150 of file output_metadata.h.

150{}; ///< SFCW illuminators represented in the output.

◆ streaming_segments

std::vector<StreamingSegmentMetadata> core::OutputFileMetadata::streaming_segments = {}

Streaming segments written to the file.

Definition at line 146 of file output_metadata.h.

146{}; ///< Streaming segments written to the file.

◆ total_samples

std::uint64_t core::OutputFileMetadata::total_samples = 0

Total sample count written to the file.

Definition at line 138 of file output_metadata.h.

Referenced by serial::Hdf5OutputSink::Impl::closeStreamingStream().

◆ uniform_pulse_length

bool core::OutputFileMetadata::uniform_pulse_length = true

True when every pulse has the same sample length.

Definition at line 144 of file output_metadata.h.


The documentation for this struct was generated from the following file: