Tu-154B2 version 3.1:
[fg:toms-fgdata.git] / Aircraft / tu154b / Systems / nvu.xml
1 <?xml version="1.0"?>
2 <!--
3
4   Author:   Yurik V. Nikiforoff, yurik@megasignal.com
5   Date:     nov 2008
6   Function: NVU navigation system TU-154B
7   License:  GPL
8 -->
9 <system name="NVU">
10
11   <property>instrumentation/nvu/source</property>
12   <property>instrumentation/diss/sensitivity</property>
13   <property>instrumentation/svs/serviceable</property>
14   <property>instrumentation/nvu/mode-in</property>
15   <property>instrumentation/nvu/mode-out</property>
16
17   <property>instrumentation/nvu/wind-speed-svs</property>
18   <property>instrumentation/nvu/wind-azimuth-svs</property>
19
20   <property>instrumentation/nvu/S-base-active</property>
21   <property>instrumentation/nvu/Z-base-active</property>
22   <property>instrumentation/nvu/S-active</property>
23   <property>instrumentation/nvu/Z-active</property>
24   <property>instrumentation/nvu/S-inactive</property>
25   <property>instrumentation/nvu/Z-inactive</property>
26   <property>instrumentation/nvu/Spm-inactive</property>
27   <property>instrumentation/nvu/Zpm-inactive</property>
28   <property>instrumentation/nvu/ZPU-active</property>
29   <property>instrumentation/nvu/ZPU-inactive</property>
30   <property>instrumentation/nvu/LUR-2km</property>
31   <property>instrumentation/nvu/LUR-vicinity-out</property>
32
33 <channel name="nvu">
34
35   <fcs_function name="instrumentation/nvu/wind-angle-svs">
36     <description>Wind angle in radians</description>
37     <function>
38       <toradians>
39         <difference>
40           <property>instrumentation/nvu/wind-azimuth-svs</property>
41           <property>instrumentation/tks-heading</property>
42         </difference>
43       </toradians>
44     </function>
45   </fcs_function>
46   <fcs_function name="instrumentation/nvu/U-wind-fps-svs">
47     <description>Wind speed along U axis in fps</description>
48     <function>
49       <product>
50         <property>instrumentation/nvu/wind-speed-svs</property>
51         <value>0.9113444152814</value>
52         <cos><property>instrumentation/nvu/wind-angle-svs</property></cos>
53       </product>
54     </function>
55   </fcs_function>
56   <fcs_function name="instrumentation/nvu/V-wind-fps-svs">
57     <description>Wind speed along V axis in fps</description>
58     <function>
59       <product>
60         <property>instrumentation/nvu/wind-speed-svs</property>
61         <value>0.9113444152814</value>
62         <sin><property>instrumentation/nvu/wind-angle-svs</property></sin>
63       </product>
64     </function>
65   </fcs_function>
66
67   <switch name="instrumentation/svs/TAS-fps">
68     <default value="0"/>
69     <test value="velocities/vtrue-fps">
70       instrumentation/svs/serviceable == 1
71     </test>
72   </switch>
73
74   <summer name="instrumentation/nvu/U-fps-svs">
75     <input>instrumentation/svs/TAS-fps</input>
76     <input>instrumentation/nvu/U-wind-fps-svs</input>
77   </summer>
78
79   <switch name="instrumentation/diss/serviceable">
80     <default value="0"/>
81     <test value="1">
82       instrumentation/diss/sensitivity ge 0.2
83       velocities/vg-fps gt 164 <!-- ~180 km/h -->
84       velocities/vg-fps lt 1185 <!-- ~1300 km/h -->
85       position/h-agl-ft gt 49 <!-- ~15m -->
86       attitude/pitch-rad gt -0.1745329 <!-- ~10 degrees -->
87       attitude/pitch-rad lt 0.1745329
88       attitude/roll-rad gt -0.3490659 <!-- ~20 degrees -->
89       attitude/roll-rad lt 0.3490659
90     </test>
91   </switch>
92
93   <switch name="instrumentation/nvu/mode">
94     <output>instrumentation/nvu/mode-out</output>
95     <default value="0"/>
96     <test value="1">
97       instrumentation/nvu/active != 0
98       instrumentation/nvu/source == 0
99       instrumentation/diss/sensitivity gt 0
100     </test>
101     <test value="2">
102       instrumentation/nvu/source == 2
103       instrumentation/diss/serviceable == 1
104     </test>
105     <test value="3">
106       instrumentation/nvu/active != 0
107       instrumentation/svs/serviceable == 1
108     </test>
109   </switch>
110
111   <switch name="instrumentation/nvu/U-fps">
112     <default value="0"/>
113     <test value="647"><!-- ~710 km/h in fps -->
114       instrumentation/nvu/mode-in == 1
115     </test>
116     <test value="velocities/u-fps">
117       instrumentation/nvu/mode-in == 2
118     </test>
119     <test value="instrumentation/nvu/U-fps-svs">
120       instrumentation/nvu/mode-in == 3
121     </test>
122   </switch>
123   <switch name="instrumentation/nvu/V-fps">
124     <default value="0"/>
125     <test value="17"><!-- ~19 km/h == ~1.5 degrees drift -->
126       instrumentation/nvu/mode-in == 1
127     </test>
128     <test value="velocities/v-fps">
129       instrumentation/nvu/mode-in == 2
130     </test>
131     <test value="instrumentation/nvu/V-wind-fps-svs">
132       instrumentation/nvu/mode-in == 3
133     </test>
134   </switch>
135
136   <fcs_function name="instrumentation/nvu/GS-fps">
137     <description>Ground speed in fps</description>
138     <function>
139       <pow>
140         <sum>
141           <product>
142             <property>instrumentation/nvu/U-fps</property>
143             <property>instrumentation/nvu/U-fps</property>
144           </product>
145           <product>
146             <property>instrumentation/nvu/V-fps</property>
147             <property>instrumentation/nvu/V-fps</property>
148           </product>
149         </sum>
150         <value>0.5</value>
151       </pow>
152     </function>
153   </fcs_function>
154
155   <summer name="instrumentation/nvu/U-wind-fps-diss">
156     <input>instrumentation/nvu/U-fps</input>
157     <input>-instrumentation/svs/TAS-fps</input>
158   </summer>
159
160   <fcs_function name="instrumentation/nvu/wind-speed-diss">
161     <description>Wind speed in km/h rounded to nearest 0.25</description>
162     <function>
163       <product>
164         <integer>
165           <sum>
166             <product>
167               <pow>
168                 <sum>
169                   <product>
170                     <property>instrumentation/nvu/U-wind-fps-diss</property>
171                     <property>instrumentation/nvu/U-wind-fps-diss</property>
172                   </product>
173                   <product>
174                     <property>instrumentation/nvu/V-fps</property>
175                     <property>instrumentation/nvu/V-fps</property>
176                   </product>
177                 </sum>
178                 <value>0.5</value>
179               </pow>
180               <value>4.38912</value>
181             </product>
182             <value>0.5</value>
183           </sum>
184         </integer>
185         <value>0.25</value>
186       </product>
187     </function>
188   </fcs_function>
189   <fcs_function name="instrumentation/nvu/wind-azimuth-diss">
190     <description>Wind angle in degrees rounded to nearest 0.25</description>
191     <function>
192       <product>
193         <integer>
194           <product>
195             <sum>
196               <todegrees>
197                 <atan2>
198                   <property>instrumentation/nvu/V-fps</property>
199                   <property>instrumentation/nvu/U-wind-fps-diss</property>
200                 </atan2>
201               </todegrees>
202               <property>instrumentation/tks-heading</property>
203               <value>360.125</value>
204             </sum>
205             <value>4</value>
206           </product>
207         </integer>
208         <value>0.25</value>
209       </product>
210     </function>
211   </fcs_function>
212   <fcs_function name="instrumentation/nvu/drift-angle">
213     <description>Drift angle in degrees</description>
214     <function>
215       <todegrees>
216         <atan2>
217           <property>instrumentation/nvu/V-fps</property>
218           <property>instrumentation/nvu/U-fps</property>
219         </atan2>
220       </todegrees>
221     </function>
222     <clipto>
223       <min>-30</min>
224       <max>30</max>
225     </clipto>
226   </fcs_function>
227
228   <fcs_function name="instrumentation/nvu/deviation-angle">
229     <description>Course deviation angle in radians</description>
230     <function>
231       <toradians>
232         <difference>
233           <property>instrumentation/nvu/ZPU-active</property>
234           <property>instrumentation/tks-heading</property>
235         </difference>
236       </toradians>
237     </function>
238   </fcs_function>
239   <fcs_function name="instrumentation/nvu/deviation-sin">
240     <description>Sine of course deviation angle</description>
241     <function>
242       <sin><property>instrumentation/nvu/deviation-angle</property></sin>
243     </function>
244   </fcs_function>
245   <fcs_function name="instrumentation/nvu/deviation-cos">
246     <description>Cosine of course deviation angle</description>
247     <function>
248       <cos><property>instrumentation/nvu/deviation-angle</property></cos>
249     </function>
250   </fcs_function>
251
252   <fcs_function name="instrumentation/nvu/S-fps">
253     <description>Speed along S axis in fps</description>
254     <function>
255       <sum>
256         <product>
257           <property>instrumentation/nvu/U-fps</property>
258           <property>instrumentation/nvu/deviation-cos</property>
259         </product>
260         <product>
261           <property>instrumentation/nvu/V-fps</property>
262           <property>instrumentation/nvu/deviation-sin</property>
263         </product>
264       </sum>
265     </function>
266   </fcs_function>
267   <fcs_function name="instrumentation/nvu/Z-fps">
268     <description>Speed along Z axis in fps</description>
269     <function>
270       <sum>
271         <product>
272           <property>instrumentation/nvu/U-fps</property>
273           <difference>
274             <value>0</value>
275             <property>instrumentation/nvu/deviation-sin</property>
276           </difference>
277         </product>
278         <product>
279           <property>instrumentation/nvu/V-fps</property>
280           <property>instrumentation/nvu/deviation-cos</property>
281         </product>
282       </sum>
283     </function>
284   </fcs_function>
285
286   <integrator name="instrumentation/nvu/S-integrator">
287     <input>instrumentation/nvu/S-fps</input>
288     <c1>0.3048</c1>
289     <trigger>instrumentation/nvu/stopped</trigger>
290   </integrator>
291   <integrator name="instrumentation/nvu/Z-integrator">
292     <input>instrumentation/nvu/Z-fps</input>
293     <c1>0.3048</c1>
294     <trigger>instrumentation/nvu/stopped</trigger>
295   </integrator>
296
297   <summer name="instrumentation/nvu/S-active-in">
298     <output>instrumentation/nvu/S-active</output>
299     <input>instrumentation/nvu/S-base-active</input>
300     <input>instrumentation/nvu/S-integrator</input>
301   </summer>
302   <summer name="instrumentation/nvu/Z-active-in">
303     <output>instrumentation/nvu/Z-active</output>
304     <input>instrumentation/nvu/Z-base-active</input>
305     <input>instrumentation/nvu/Z-integrator</input>
306   </summer>
307
308   <fcs_function name="instrumentation/nvu/transform-angle">
309     <description>Affine transform angle in radians</description>
310     <function>
311       <toradians>
312         <difference>
313           <property>instrumentation/nvu/ZPU-inactive</property>
314           <property>instrumentation/nvu/ZPU-active</property>
315         </difference>
316       </toradians>
317     </function>
318   </fcs_function>
319   <fcs_function name="instrumentation/nvu/transform-sin">
320     <description>Sine of affine transform angle</description>
321     <function>
322       <sin><property>instrumentation/nvu/transform-angle</property></sin>
323     </function>
324   </fcs_function>
325   <fcs_function name="instrumentation/nvu/transform-cos">
326     <description>Cosine of affine transform angle</description>
327     <function>
328       <cos><property>instrumentation/nvu/transform-angle</property></cos>
329     </function>
330   </fcs_function>
331
332   <fcs_function name="instrumentation/nvu/S-transform">
333     <description>S coordinate affine transform</description>
334     <function>
335       <sum>
336         <property>instrumentation/nvu/Spm-inactive</property>
337         <product>
338           <property>instrumentation/nvu/S-active</property>
339           <property>instrumentation/nvu/transform-cos</property>
340         </product>
341         <product>
342           <property>instrumentation/nvu/Z-active</property>
343           <property>instrumentation/nvu/transform-sin</property>
344         </product>
345       </sum>
346     </function>
347   </fcs_function>
348   <fcs_function name="instrumentation/nvu/Z-transform">
349     <description>Z coordinate affine transform</description>
350     <function>
351       <sum>
352         <property>instrumentation/nvu/Zpm-inactive</property>
353         <product>
354           <property>instrumentation/nvu/S-active</property>
355           <difference>
356             <value>0</value>
357             <property>instrumentation/nvu/transform-sin</property>
358           </difference>
359         </product>
360         <product>
361           <property>instrumentation/nvu/Z-active</property>
362           <property>instrumentation/nvu/transform-cos</property>
363         </product>
364       </sum>
365     </function>
366   </fcs_function>
367
368   <switch name="instrumentation/nvu/transform">
369     <default value="0"/>
370     <test value="1">
371       instrumentation/nvu/active != 0
372       instrumentation/nvu/mode != 0
373       instrumentation/nvu/stopped == 0
374       instrumentation/nvu/S-active ge -80000
375       instrumentation/nvu/S-active le 80000
376     </test>
377   </switch>
378   <switch name="instrumentation/nvu/S-inact">
379     <output>instrumentation/nvu/S-inactive</output>
380     <default value="instrumentation/nvu/S-inactive"/>
381     <test value="instrumentation/nvu/S-transform">
382       instrumentation/nvu/transform == 1
383     </test>
384   </switch>
385   <switch name="instrumentation/nvu/Z-inact">
386     <output>instrumentation/nvu/Z-inactive</output>
387     <default value="instrumentation/nvu/Z-inactive"/>
388     <test value="instrumentation/nvu/Z-transform">
389       instrumentation/nvu/transform == 1
390     </test>
391   </switch>
392
393   <summer name="instrumentation/nvu/LUR-2km-neg">
394     <input>-instrumentation/nvu/LUR-2km</input>
395   </summer>
396   <switch name="instrumentation/nvu/LUR-vicinity">
397     <output>instrumentation/nvu/LUR-vicinity-out</output>
398     <default value="0"/>
399     <test value="1">
400       instrumentation/nvu/active != 0
401       instrumentation/nvu/mode != 0
402       instrumentation/nvu/stopped == 0
403       instrumentation/nvu/S-active ge instrumentation/nvu/LUR-2km-neg
404       instrumentation/nvu/S-active le instrumentation/nvu/LUR-2km
405     </test>
406   </switch>
407
408   <pure_gain name="instrumentation/nvu/Z-deflection">
409     <input>instrumentation/nvu/Z-active</input>
410     <gain>-0.00025</gain>
411     <clipto>
412       <min>-1</min>
413       <max>1</max>
414     </clipto>
415   </pure_gain>
416
417 </channel>
418
419 </system>