#include <FGFilter.h>
Inherits FGFCSComponent.
<typename name="name"> <input> property </input> <c1> value|property </c1> [<c2> value|property </c2>] [<c3> value|property </c3>] [<c4> value|property </c4>] [<c5> value|property </c5>] [<c6> value|property </c6>] [<clipto> <min> {[-]property name | value} </min> <max> {[-]property name | value} </max> </clipto>] [<output> property </output>] </typename>
For a lag filter of the form,
C1 ------ s + C1
the corresponding filter definition is:
<lag_filter name="name"> <input> property </input> <c1> value|property </c1> [<clipto> <min> {[-]property name | value} </min> <max> {[-]property name | value} </max> </clipto>] [<output> property <output>] </lag_filter>
As an example, for the specific filter:
600 ------ s + 600
the corresponding filter definition could be:
<lag_filter name="Heading Roll Error Lag">
<input> fcs/heading-command </input>
<c1> 600 </c1>
</lag_filter>
For a lead-lag filter of the form:
C1*s + C2 --------- C3*s + C4
The corresponding filter definition is:
<lead_lag_filter name="name"> <input> property </input> <c1> value|property <c/1> <c2> value|property <c/2> <c3> value|property <c/3> <c4> value|property <c/4> [<clipto> <min> {[-]property name | value} </min> <max> {[-]property name | value} </max> </clipto>] [<output> property </output>] </lead_lag_filter>
For a washout filter of the form:
s ------ s + C1
The corresponding filter definition is:
<washout_filter name="name"> <input> property </input> <c1> value </c1> [<clipto> <min> {[-]property name | value} </min> <max> {[-]property name | value} </max> </clipto>] [<output> property </output>] </washout_filter>
For a second order filter of the form:
C1*s^2 + C2*s + C3 ------------------ C4*s^2 + C5*s + C6
The corresponding filter definition is:
<second_order_filter name="name"> <input> property </input> <c1> value|property </c1> <c2> value|property </c2> <c3> value|property </c3> <c4> value|property </c4> <c5> value|property </c5> <c6> value|property </c6> [<clipto> <min> {[-]property name | value} </min> <max> {[-]property name | value} </max> </clipto>] [<output> property </output>] </second_order_filter>
For an integrator of the form:
C1 --- s
The corresponding filter definition is:
<integrator name="name"> <input> property </input> <c1> value|property </c1> [<trigger> property </trigger>] [<clipto> <min> {[-]property name | value} </min> <max> {[-]property name | value} </max> </clipto>] [<output> property </output>] </integrator>
For the integrator, the trigger features the following behavior. If the trigger property value is:
In all the filter specifications above, an <output> element is also seen. This is so that the last component in a "string" can copy its value to the appropriate output, such as the elevator, or speedbrake, etc.
Definition at line 236 of file FGFilter.h.
Public Types | |
| enum | { eLag, eLeadLag, eOrder2, eWashout, eIntegrator, eUnknown } |
Public Member Functions | |
| FGFilter (FGFCS *fcs, Element *element) | |
| void | ResetPastStates (void) |
| bool | Run (void) |
Public Attributes | |
| enum JSBSim::FGFilter:: { ... } | FilterType |
| bool | Initialize |
| When true, causes previous values to be set to current values. | |
| bool Initialize |
This is particularly useful for first pass.
Definition at line 246 of file FGFilter.h.
1.5.5