Skip to content

Pulse XML Definition

David Young edited this page Apr 30, 2025 · 1 revision

Description

This capability allows defining a radar pulse waveform within the FERS XML scenario file. It uses the <pulse> element, identified by a unique name attribute. Key child elements include <power> (specifying signal power, likely before antenna gain/loss effects) and <carrier> (specifying the carrier frequency). The configuration requires the type attribute to be set to "file" and a filename attribute pointing to the external waveform file. This XML definition is parsed and used to configure a corresponding RadarSignal object internally, which holds the waveform metadata.

Assumptions

  • Assumes the XML structure within the <pulse> element conforms to the expected format (e.g., required attributes name, type, filename and child elements like <power>, <carrier> are present).
  • Assumes the type attribute is present and set to "file".
  • Assumes the values provided for filename, power, and carrier are valid strings/numerals and are physically meaningful within the simulation context (e.g., power likely in Watts or dBm - requires verification, carrier frequency in Hz).
  • Assumes the name attribute uniquely identifies this pulse definition within the simulation configuration, allowing it to be referenced by other components (like a Transmitter).

Limitations

  • File-Based Only: Currently, only type="file" is supported for the <pulse> element. Pulse waveforms must be defined in external files and cannot be generated procedurally based on parameters within the XML itself.
  • No Procedural Generation: FERS cannot generate standard pulse waveforms (e.g., rectangular, simple sinusoids) internally based solely on parameters defined in the XML. All waveforms must be pre-generated and stored in a supported file format.
  • Basic Error Handling: If required elements or attributes (like name, filename, <power>, <carrier>) are missing or malformed (e.g., non-numeric power), the parser typically throws an XmlException. The clarity of the error message may depend on the specific parsing failure point.

Related Components

  • xml_parser.cpp::parsePulse (Primary C++ parsing function)
  • RadarSignal class (The object configured by this XML)
  • Pulse File Loading (General) (Handles the actual file reading based on filename)
  • XML Parsing (Overall category dealing with XML interpretation)

Validation Status

  • Needs Verification: Yes
  • Key Areas for Validation:
    • Correct parsing of all required attributes (name, type, filename) and child elements (<power>, <carrier>).
    • Accurate conversion of text values to internal data types (e.g., string for name/filename, double for power/carrier) and correct units interpretation (if implicit).
    • Robust error handling (e.g., throwing XmlException or similar) when required attributes/elements are missing or malformed.
    • Correct behavior if an unsupported type attribute value is provided (should ideally reject the configuration cleanly).
    • Verification that the parsed values are correctly used to populate the corresponding fields in the RadarSignal object.
  • Priority: High (Fundamental for defining any transmitted waveform)

Clone this wiki locally