Need ability to change Digital Filters On the Fly for Loop Design / Systematic Error Studies
As we push forward with understanding the "cross-overs" between actuation stages (e.g. Issue #77), and wish to change them for the better, it would behoove us to build in the pyDARM functionality to change, e.g. the LOCK or DRIVALIGN filters "on the fly." I'm imagining the following work flow:
- after instantiating a DARMmodel object in a design script, we sub in a new filter (preferably in some easy to use format, rather than having to involve foton), and then all the upper level Actuation functions get recomputed automatically.
- then we have an unmodified DARMmodel object, and we compare "the answer" transfer functions like the "cross-overs" and "relative contributions" via plots.
@louis.dartez suspects that the easiest way to do this is to
- pull computation of the individual filters out of functions like
sus_digital_filters_response
into their own methods. - then use [some python wizardry that @jeffrey-kissel even know the language for] to have the method output be "replaceable"
This has other added benefits as well in terms of code clean up, since the exact same operation done in sus_digital_filters_response
is done later in drivealign_to_longitudinal_displacement
.
Edited by Louis Dartez