forked from stpaine/FERS
-
Notifications
You must be signed in to change notification settings - Fork 1
Pulse XML Definition
David Young edited this page Apr 30, 2025
·
1 revision
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.
- Assumes the XML structure within the
<pulse>element conforms to the expected format (e.g., required attributesname,type,filenameand child elements like<power>,<carrier>are present). - Assumes the
typeattribute is present and set to"file". - Assumes the values provided for
filename,power, andcarrierare 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
nameattribute uniquely identifies this pulse definition within the simulation configuration, allowing it to be referenced by other components (like aTransmitter).
-
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 anXmlException. The clarity of the error message may depend on the specific parsing failure point.
-
xml_parser.cpp::parsePulse(Primary C++ parsing function) -
RadarSignalclass (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)
- 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
XmlExceptionor similar) when required attributes/elements are missing or malformed. - Correct behavior if an unsupported
typeattribute value is provided (should ideally reject the configuration cleanly). - Verification that the parsed values are correctly used to populate the corresponding fields in the
RadarSignalobject.
- Correct parsing of all required attributes (
- Priority: High (Fundamental for defining any transmitted waveform)