FERS 1.0.0
The Flexible Extensible Radar Simulator
Loading...
Searching...
No Matches
fers-xml.dtd
Go to the documentation of this file.
1<!--
2 FERS XML simulation script Document Type Definition (DTD).
3
4 Copyright (C) 2006-2008 Marc Brooker.
5 Copyright (C) 2008-present FERS contributors (see AUTHORS.md).
6
7 This file is part of FERS. FERS is free software, licensed under the GPLv2.
8-->
9 <!-- Note: DTD cannot enforce the XSD's implicit requirement of "at least one of each" of waveform, timing, etc. in any order. -->
10 <!-- This model enforces that parameters is present, followed by at least one of the other main elements, preserving flexible ordering. -->
11 <!ELEMENT simulation (parameters, (waveform | timing | antenna | platform | include)+)>
12 <!ATTLIST simulation name CDATA #REQUIRED>
13
14 <!-- Simulation Parameters -->
15 <!ELEMENT parameters (starttime,endtime,rate,c?,simSamplingRate?,randomseed?,adc_bits?,oversample?,origin?,coordinatesystem?)>
16 <!-- Start time of simulation -->
17 <!ELEMENT starttime (#PCDATA)>
18 <!-- End time of simulation -->
19 <!ELEMENT endtime (#PCDATA)>
20 <!-- Propagation speed -->
21 <!ELEMENT c (#PCDATA)>
22 <!-- Fidelity of the underlying physics simulation (Hz) -->
23 <!ELEMENT simSamplingRate (#PCDATA)>
24 <!-- Override the rendering sample rate with the specified one (Hz) -->
25 <!ELEMENT rate (#PCDATA)>
26 <!-- Random seed for noise -->
27 <!ELEMENT randomseed (#PCDATA)>
28 <!-- ADC bits for resolution -->
29 <!ELEMENT adc_bits (#PCDATA)>
30 <!-- Oversampling factor -->
31 <!ELEMENT oversample (#PCDATA)>
32 <!-- Geodetic Origin for the simulation coordinate system (used for ENU frame) -->
33 <!ELEMENT origin EMPTY>
34 <!ATTLIST origin
35 latitude CDATA #REQUIRED
36 longitude CDATA #REQUIRED
37 altitude CDATA "0"
38 >
39 <!-- Coordinate System for the simulation input coordinates -->
40 <!ELEMENT coordinatesystem EMPTY>
41 <!ATTLIST coordinatesystem
42 frame (ENU|UTM|ECEF) #REQUIRED
43 zone CDATA #IMPLIED
44 hemisphere (N|S) #IMPLIED
45 >
46
47 <!-- Waveform definition -->
48 <!ELEMENT waveform (power, carrier_frequency, (pulsed_from_file | cw))>
49 <!ATTLIST waveform name CDATA #REQUIRED>
50
51 <!-- Waveform power and carrier frequency -->
52 <!-- Pulse power (Watts) -->
53 <!ELEMENT power (#PCDATA)>
54 <!-- Carrier frequency (Hz) -->
55 <!ELEMENT carrier_frequency (#PCDATA)>
56
57 <!-- Waveform types -->
58 <!ELEMENT pulsed_from_file EMPTY>
59 <!ATTLIST pulsed_from_file filename CDATA #REQUIRED>
60 <!ELEMENT cw EMPTY>
61
62 <!-- Timing Source -->
63 <!ELEMENT timing (frequency,freq_offset?,random_freq_offset_stdev?,phase_offset?,random_phase_offset_stdev?,noise_entry*)>
64 <!-- Timing source. Sets frequency -->
65 <!ATTLIST timing name CDATA #REQUIRED
66 synconpulse (true|false) "false">
67
68 <!-- Frequency (Hz) -->
69 <!ELEMENT frequency (#PCDATA)>
70
71 <!-- Noise Entry for timing -->
72 <!ELEMENT noise_entry (alpha,weight)>
73 <!-- Noise category alpha -->
74 <!ELEMENT alpha (#PCDATA)>
75 <!-- Weighting of noise in the category -->
76 <!ELEMENT weight (#PCDATA)>
77 <!-- Offset from system frequency -->
78 <!ELEMENT freq_offset (#PCDATA)>
79 <!-- Random frequency offset standard deviation -->
80 <!ELEMENT random_freq_offset_stdev (#PCDATA)>
81 <!-- Phase offset -->
82 <!ELEMENT phase_offset (#PCDATA)>
83 <!-- Random phase offset standard deviation -->
84 <!ELEMENT random_phase_offset_stdev (#PCDATA)>
85
86 <!-- Antenna -->
87 <!ELEMENT antenna (alpha?,beta?,gamma?,diameter?,azscale?,elscale?,efficiency?)>
88 <!ATTLIST antenna name CDATA #REQUIRED
89 pattern CDATA #REQUIRED
90 filename CDATA #IMPLIED>
91
92 <!-- Parameters of antenna model -->
93 <!-- Element for beta -->
94 <!ELEMENT beta (#PCDATA)>
95 <!-- Element for gamma -->
96 <!ELEMENT gamma (#PCDATA)>
97 <!-- Diameter of the antenna -->
98 <!ELEMENT diameter (#PCDATA)>
99 <!-- Azimuth scale for a Gaussian pattern -->
100 <!ELEMENT azscale (#PCDATA)>
101 <!-- Elevation scale for Gaussian pattern -->
102 <!ELEMENT elscale (#PCDATA)>
103 <!-- The antenna efficiency factor -->
104 <!ELEMENT efficiency (#PCDATA)>
105
106 <!-- Platform -->
107 <!ELEMENT platform (motionpath,(rotationpath|fixedrotation),(monostatic|transmitter|receiver|target)*)>
108 <!ATTLIST platform name CDATA #REQUIRED>
109
110 <!-- Motion paths and Position Waypoints -->
111 <!ELEMENT motionpath (positionwaypoint+)>
112 <!ATTLIST motionpath interpolation (static|linear|cubic) "static">
113
114 <!-- Position Waypoints -->
115 <!ELEMENT positionwaypoint (x,y,altitude,time)>
116 <!-- x position of waypoint -->
117 <!ELEMENT x (#PCDATA)>
118 <!-- y position of waypoint -->
119 <!ELEMENT y (#PCDATA)>
120 <!-- z (altitude) position of waypoint -->
121 <!ELEMENT altitude (#PCDATA)>
122 <!-- Time the platform is at the waypoint -->
123 <!ELEMENT time (#PCDATA)>
124
125 <!-- Constant Rate Rotation -->
126 <!ELEMENT fixedrotation (startazimuth,startelevation,azimuthrate,elevationrate)>
127 <!-- Azimuth at time 0 -->
128 <!ELEMENT startazimuth (#PCDATA)>
129 <!-- Elevation at time 0 -->
130 <!ELEMENT startelevation (#PCDATA)>
131 <!-- Rate of change of azimuth -->
132 <!ELEMENT azimuthrate (#PCDATA)>
133 <!-- Rate of change of elevation -->
134 <!ELEMENT elevationrate (#PCDATA)>
135
136 <!-- Rotation Paths and Waypoints -->
137 <!ELEMENT rotationpath (rotationwaypoint+)>
138 <!ATTLIST rotationpath interpolation (static|linear|cubic) #REQUIRED>
139 <!ELEMENT rotationwaypoint (azimuth,elevation,time)>
140 <!ELEMENT azimuth (#PCDATA)>
141 <!ELEMENT elevation (#PCDATA)>
142
143 <!-- Elements for defining radar operational modes -->
144 <!ELEMENT pulsed_mode (prf, window_skip?, window_length?)>
145 <!ELEMENT cw_mode EMPTY>
146
147 <!ELEMENT schedule (period+)>
148 <!ELEMENT period EMPTY>
149 <!ATTLIST period
150 start CDATA #REQUIRED
151 end CDATA #REQUIRED
152 >
153
154 <!-- Monostatic radar installations -->
155 <!ELEMENT monostatic ((pulsed_mode | cw_mode), noise_temp?, schedule?)>
156 <!ATTLIST monostatic
157 name CDATA #REQUIRED
158 antenna CDATA #REQUIRED
159 waveform CDATA #REQUIRED
160 timing CDATA #REQUIRED
161 nodirect (true|false) "false"
162 nopropagationloss (true|false) "false">
163 <!ELEMENT prf (#PCDATA)>
164 <!ELEMENT noise_temp (#PCDATA)>
165
166 <!-- Standalone Transmitter -->
167 <!ELEMENT transmitter ((pulsed_mode | cw_mode), schedule?)>
168 <!ATTLIST transmitter
169 name CDATA #REQUIRED
170 waveform CDATA #REQUIRED
171 antenna CDATA #REQUIRED
172 timing CDATA #REQUIRED>
173
174 <!-- Standalone Receiver -->
175 <!ELEMENT receiver ((pulsed_mode | cw_mode), noise_temp?, schedule?)>
176 <!ATTLIST receiver
177 name CDATA #REQUIRED
178 antenna CDATA #REQUIRED
179 timing CDATA #REQUIRED
180 nodirect (true|false) "false"
181 nopropagationloss (true|false) "false">
182 <!-- Time to skip after start of pulse before starting receiving (seconds) -->
183 <!ELEMENT window_skip (#PCDATA)>
184 <!-- Length of the range gate (seconds) -->
185 <!ELEMENT window_length (#PCDATA)>
186
187 <!-- Target -->
188 <!ELEMENT target (rcs,model?)>
189 <!ATTLIST target name CDATA #REQUIRED>
190
191 <!-- RCS can either have a 'value' element or a 'filename' attribute -->
192 <!-- Target RCS -->
193 <!ELEMENT rcs (value?)>
194 <!ATTLIST rcs type CDATA #REQUIRED
195 filename CDATA #IMPLIED>
196
197 <!-- RCS value -->
198 <!ELEMENT value (#PCDATA)>
199
200 <!-- Model element with 'type' as an attribute and optional k element -->
201 <!ELEMENT model (k?)>
202 <!ATTLIST model type CDATA #REQUIRED>
203 <!ELEMENT k (#PCDATA)>
204
205 <!-- Include another XML file -->
206 <!ELEMENT include (#PCDATA)>