Thanks for looking at my code.
Yes – there is already an integrator in the PI and PID filters. But the same can be said for derivative and gain. Min/max clamping via u-max and u-min appears to be working correctly in my integrator. Having a specific integrator filter makes the resultant XML file easier to read than hiding it inside a PI filter. It is also possible to make a washout filter from the existing gain and exponential filters.
I see nothing wrong with extending the exponential filter, if that improves the code. High-pass and low pass-are just different flavours of the same thing. I coded the high-pass filter separately as it seemed the easiest way for me to implement such a filter.
The aliases reflect the names that are in common usage. Lag and washout are used colloquially in control engineering, whilst high-pass and low-pass are rather more formal. The existing exponential filter name is too vague, and should be deprecated. It is true that a rate-limit can be used as a noise-spike filter, but there are other ways to remove spikes, so noise-spike should also be deprecated.
My overall intention is to make available the same building blocks which were used in analogue and early digital autopilots, and to use the same terminology.
For completeness, there may be a case for adding band-pass and band-stop filters, but these have very few applications in autopilots.
Sent: Sunday, July 28, 2013 12:31 PM
Subject: Re: [Flightgear-devel] Autopilot filters
Hi Alan,

thank you for your patch. I have a few, probably dumb questions:

* Isn't the your new integrator filter the same as a pi-simple-controller with Kp=1 and no min/max clamping?
* What would you think about extending the exponential filter to make it behave like a high-pass or low-pass like
<type>low-pass</type> or <type>high-pass</type>. That would not double existing code.
* What is the purpose for adding alias names for existing filters?


Am 27.07.2013 10:27, schrieb Alan Teeder:
Sent: Saturday, July 27, 2013 8:47 AM
Subject: Re: [Flightgear-devel] Autopilot filters
Post a diff or the modified files or a link to a tarball here and I'll have a look.
Probably a good start for me to get back into the loop after almost two years of absence...


Thanks Torsten.
At some time I will need to add a means of initialising the Integral filter to a  <property>.

See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!

Flightgear-devel mailing list