forked from stpaine/FERS
-
Notifications
You must be signed in to change notification settings - Fork 1
Timing Configuration (XML)
David Young edited this page Apr 30, 2025
·
1 revision
This capability covers the definition and parsing of timing source characteristics from the FERS XML simulation configuration file. Timing sources are essential for defining the clock references and associated noise properties (like phase noise) for radar transmitters and receivers.
The configuration is done within a <timing> XML element, which typically includes:
- A unique
nameattribute to identify the timing source. - A
<frequency>element specifying the nominal clock frequency (e.g., in Hz). - Optional elements for constant phase (
<phaseoffset>) and frequency (<freqoffset>) offsets. - Optional elements for random phase (
<randomphaseoffset>) and frequency (<randomfreqoffset>) offsets (specified as standard deviations). - One or more
<noise_entry>elements, each containing<alpha>and<weight>sub-elements, used to define the parameters for the phase noise model (related to a 1/f^alpha type model withFAlphaBranch).
The parser reads this information and stores it, typically within a PrototypeTiming object, making it available for later instantiation into a runtime Timing model.
- Assumes the provided XML structure within the
<timing>element adheres to the expected format (correct element names, nesting, and attribute usage). - Assumes the specified
alphaandweightvalues within<noise_entry>elements are meaningful and correctly interpretable by the downstreamClockModelGenerator. - Assumes frequency and offset units used in the XML (e.g., Hz for frequency, radians for phase offset) are consistent with the expectations of the parsing code and the subsequent
Timingmodel.
-
Optional Parameter Handling: The parser often uses try-catch blocks or similar mechanisms to handle optional parameters (like offsets). If these are missing in the XML, specific default values (often zero) are assumed, and warnings may be logged. The exact behavior depends on the implementation within the
parseTimingfunction. Users must rely on these implicit defaults or logged warnings if optional parameters are omitted. -
Downstream Error Handling (Noise Parameters): The XML parsing step primarily checks for the presence and basic type of configured values. Validation of the semantic correctness or acceptable range for parameters like
alphaandweightin<noise_entry>is typically deferred until theClockModelGeneratoris instantiated using this configuration. Errors related to invalid noise model parameters might only surface later during simulation setup, not during the initial XML parsing.
-
Code:
-
xml_parser.cpp::parseTiming(Function responsible for parsing the<timing>element) -
prototype_timing.h/.cpp::PrototypeTiming(Class likely used to store the parsed configuration data) -
PrototypeTiming::setAlpha,setPhaseOffset,setFreqOffset,setRandomPhaseOffset,setRandomFreqOffset(Methods used to populate the configuration object)
-
-
Wiki Links:
- Timing Model Instantiation (Uses the configuration parsed here)
- Core Timing and Noise Generation (Relies on the model created from this configuration)
- XML Parsing (General category)
- Needs Verification: The correct parsing of all specified parameters (name, frequency, all offset types, multiple noise entries) under various conditions needs confirmation.
-
Key Areas for Validation:
- Verify correct parsing of mandatory elements (e.g., name, frequency).
- Verify correct parsing and handling of optional elements (offsets) β check default values if omitted and behavior if present.
- Verify parsing of multiple
<noise_entry>elements and correct association of alpha/weight pairs. - Check handling of invalid value types (e.g., non-numeric text where numbers are expected).
- Confirm that logged warnings (e.g., for missing optional elements) are generated as expected.
- Test edge cases like empty elements or unexpected attributes.
- Priority: High (Incorrect timing configuration parsing can fundamentally break the simulation setup or lead to incorrect noise modeling).