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?,rotationangleunit?,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 <!-- Rotation angle unit for external interfaces -->
33 <!ELEMENT rotationangleunit (#PCDATA)>
34 <!-- Geodetic Origin for the simulation coordinate system (used for ENU frame) -->
35 <!ELEMENT origin EMPTY>
36 <!ATTLIST origin
37 latitude CDATA #REQUIRED
38 longitude CDATA #REQUIRED
39 altitude CDATA "0"
40 >
41 <!-- Coordinate System for the simulation input coordinates -->
42 <!ELEMENT coordinatesystem EMPTY>
43 <!ATTLIST coordinatesystem
44 frame (ENU|UTM|ECEF) #REQUIRED
45 zone CDATA #IMPLIED
46 hemisphere (N|S) #IMPLIED
47 >
48
49 <!-- Waveform definition -->
50 <!ELEMENT waveform (power, carrier_frequency, (pulsed_from_file | cw))>
51 <!ATTLIST waveform
52 name CDATA #REQUIRED>
53
54 <!-- Waveform power and carrier frequency -->
55 <!-- Pulse power (Watts) -->
56 <!ELEMENT power (#PCDATA)>
57 <!-- Carrier frequency (Hz) -->
58 <!ELEMENT carrier_frequency (#PCDATA)>
59
60 <!-- Waveform types -->
61 <!ELEMENT pulsed_from_file EMPTY>
62 <!ATTLIST pulsed_from_file filename CDATA #REQUIRED>
63 <!ELEMENT cw EMPTY>
64
65 <!-- Timing Source -->
66 <!ELEMENT timing (frequency,freq_offset?,random_freq_offset_stdev?,phase_offset?,random_phase_offset_stdev?,noise_entry*)>
67 <!-- Timing source. Sets frequency -->
68 <!ATTLIST timing
69 name CDATA #REQUIRED
70 synconpulse (true|false) "false">
71
72 <!-- Frequency (Hz) -->
73 <!ELEMENT frequency (#PCDATA)>
74
75 <!-- Noise Entry for timing -->
76 <!ELEMENT noise_entry (alpha,weight)>
77 <!-- Noise category alpha -->
78 <!ELEMENT alpha (#PCDATA)>
79 <!-- Weighting of noise in the category -->
80 <!ELEMENT weight (#PCDATA)>
81 <!-- Offset from system frequency -->
82 <!ELEMENT freq_offset (#PCDATA)>
83 <!-- Random frequency offset standard deviation -->
84 <!ELEMENT random_freq_offset_stdev (#PCDATA)>
85 <!-- Phase offset -->
86 <!ELEMENT phase_offset (#PCDATA)>
87 <!-- Random phase offset standard deviation -->
88 <!ELEMENT random_phase_offset_stdev (#PCDATA)>
89
90 <!-- Antenna -->
91 <!ELEMENT antenna (alpha?,beta?,gamma?,diameter?,azscale?,elscale?,efficiency?)>
92 <!ATTLIST antenna
93 name CDATA #REQUIRED
94 pattern CDATA #REQUIRED
95 filename CDATA #IMPLIED>
96
97 <!-- Parameters of antenna model -->
98 <!-- Element for beta -->
99 <!ELEMENT beta (#PCDATA)>
100 <!-- Element for gamma -->
101 <!ELEMENT gamma (#PCDATA)>
102 <!-- Diameter of the antenna -->
103 <!ELEMENT diameter (#PCDATA)>
104 <!-- Azimuth scale for a Gaussian pattern -->
105 <!ELEMENT azscale (#PCDATA)>
106 <!-- Elevation scale for Gaussian pattern -->
107 <!ELEMENT elscale (#PCDATA)>
108 <!-- The antenna efficiency factor -->
109 <!ELEMENT efficiency (#PCDATA)>
110
111 <!-- Platform -->
112 <!ELEMENT platform (motionpath,(rotationpath|fixedrotation),(monostatic|transmitter|receiver|target)*)>
113 <!ATTLIST platform
114 name CDATA #REQUIRED>
115
116 <!-- Motion paths and Position Waypoints -->
117 <!ELEMENT motionpath (positionwaypoint+)>
118 <!ATTLIST motionpath interpolation (static|linear|cubic) "static">
119
120 <!-- Position Waypoints -->
121 <!ELEMENT positionwaypoint (x,y,altitude,time)>
122 <!-- x position of waypoint -->
123 <!ELEMENT x (#PCDATA)>
124 <!-- y position of waypoint -->
125 <!ELEMENT y (#PCDATA)>
126 <!-- z (altitude) position of waypoint -->
127 <!ELEMENT altitude (#PCDATA)>
128 <!-- Time the platform is at the waypoint -->
129 <!ELEMENT time (#PCDATA)>
130
131 <!-- Constant Rate Rotation -->
132 <!ELEMENT fixedrotation (startazimuth,startelevation,azimuthrate,elevationrate)>
133 <!-- Azimuth at time 0 -->
134 <!ELEMENT startazimuth (#PCDATA)>
135 <!-- Elevation at time 0 -->
136 <!ELEMENT startelevation (#PCDATA)>
137 <!-- Rate of change of azimuth -->
138 <!ELEMENT azimuthrate (#PCDATA)>
139 <!-- Rate of change of elevation -->
140 <!ELEMENT elevationrate (#PCDATA)>
141
142 <!-- Rotation Paths and Waypoints -->
143 <!ELEMENT rotationpath (rotationwaypoint+)>
144 <!ATTLIST rotationpath interpolation (static|linear|cubic) #REQUIRED>
145 <!ELEMENT rotationwaypoint (azimuth,elevation,time)>
146 <!ELEMENT azimuth (#PCDATA)>
147 <!ELEMENT elevation (#PCDATA)>
148
149 <!-- Elements for defining radar operational modes -->
150 <!ELEMENT pulsed_mode (prf, window_skip?, window_length?)>
151 <!ELEMENT cw_mode EMPTY>
152
153 <!ELEMENT schedule (period+)>
154 <!ELEMENT period EMPTY>
155 <!ATTLIST period
156 start CDATA #REQUIRED
157 end CDATA #REQUIRED
158 >
159
160 <!-- Monostatic radar installations -->
161 <!ELEMENT monostatic ((pulsed_mode | cw_mode), noise_temp?, schedule?)>
162 <!ATTLIST monostatic
163 name CDATA #REQUIRED
164 antenna CDATA #REQUIRED
165 waveform CDATA #REQUIRED
166 timing CDATA #REQUIRED
167 nodirect (true|false) "false"
168 nopropagationloss (true|false) "false">
169 <!ELEMENT prf (#PCDATA)>
170 <!ELEMENT noise_temp (#PCDATA)>
171
172 <!-- Standalone Transmitter -->
173 <!ELEMENT transmitter ((pulsed_mode | cw_mode), schedule?)>
174 <!ATTLIST transmitter
175 name CDATA #REQUIRED
176 waveform CDATA #REQUIRED
177 antenna CDATA #REQUIRED
178 timing CDATA #REQUIRED>
179
180 <!-- Standalone Receiver -->
181 <!ELEMENT receiver ((pulsed_mode | cw_mode), noise_temp?, schedule?)>
182 <!ATTLIST receiver
183 name CDATA #REQUIRED
184 antenna CDATA #REQUIRED
185 timing CDATA #REQUIRED
186 nodirect (true|false) "false"
187 nopropagationloss (true|false) "false">
188 <!-- Time to skip after start of pulse before starting receiving (seconds) -->
189 <!ELEMENT window_skip (#PCDATA)>
190 <!-- Length of the range gate (seconds) -->
191 <!ELEMENT window_length (#PCDATA)>
192
193 <!-- Target -->
194 <!ELEMENT target (rcs,model?)>
195 <!ATTLIST target
196 name CDATA #REQUIRED>
197
198 <!-- RCS can either have a 'value' element or a 'filename' attribute -->
199 <!-- Target RCS -->
200 <!ELEMENT rcs (value?)>
201 <!ATTLIST rcs type CDATA #REQUIRED
202 filename CDATA #IMPLIED>
203
204 <!-- RCS value -->
205 <!ELEMENT value (#PCDATA)>
206
207 <!-- Model element with 'type' as an attribute and optional k element -->
208 <!ELEMENT model (k?)>
209 <!ATTLIST model type CDATA #REQUIRED>
210 <!ELEMENT k (#PCDATA)>
211
212 <!-- Include another XML file -->
213 <!ELEMENT include (#PCDATA)>