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::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 89 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 103 of file output_metadata.h.

103{}; ///< 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 105 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 107 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 108 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 109 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 110 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 113 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 111 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 112 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 128 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 126 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 114 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 121 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 122 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 125 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 124 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 123 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 136 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 118 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 115 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 135 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 134 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 132 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 116 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 120 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 119 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 117 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 133 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 130 of file output_metadata.h.

◆ fmcw_sources

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

FMCW illuminators represented in the output.

Definition at line 106 of file output_metadata.h.

106{}; ///< 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 101 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 100 of file output_metadata.h.

◆ mode

std::string core::OutputFileMetadata::mode

Output mode label, such as pulsed or streaming.

Definition at line 93 of file output_metadata.h.

◆ path

std::string core::OutputFileMetadata::path

Filesystem path to the generated output file.

Definition at line 94 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 99 of file output_metadata.h.

◆ receiver_id

SimId core::OutputFileMetadata::receiver_id = 0

Receiver SimId that owns the output file.

Definition at line 91 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 92 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 98 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 97 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 95 of file output_metadata.h.

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

◆ streaming_segments

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

Streaming segments written to the file.

Definition at line 104 of file output_metadata.h.

104{}; ///< 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 96 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 102 of file output_metadata.h.


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