It would be beneficial for dkpy to include tools for the user to quantify the uncertainty between a nominal model and a set of off-nominal models using various uncertainty characterizations (additive uncertainty, multiplicative input/output uncertainty, etc.). The proposed tools should include:
- The computation of the uncertainty model optimal weights $W_L$ and $W_R$ over a discrete grid of frequencies using the nominal and off-nominal model frequency responses.
- The overbounding fit of a biproper LTI system to the magnitude data of the optimal weight frequency response.
For 1), the computation of the optimal weights $W_L$ and $W_R$ over a grid of frequencies can be posed as a SDP assuming that the off-nominal and nominal frequency responses are given (see this paper). I haven't seen any other methods for obtaining the optimal weights, so I think that this functionality can be implemented in a standalone class/function without the need for abstract base classes.
For 2), there are many approaches to fitting an overbounding transfer function to magnitude response data. For example, there are currently two methods that are used at DECAR (convex log-Chebyshev, nonlinear least-squares). Given that multiple methods can be used, it may be beneficial to use a abstract base class to act as a template for these different strategies.
It would be beneficial for
dkpyto include tools for the user to quantify the uncertainty between a nominal model and a set of off-nominal models using various uncertainty characterizations (additive uncertainty, multiplicative input/output uncertainty, etc.). The proposed tools should include:For 1), the computation of the optimal weights$W_L$ and $W_R$ over a grid of frequencies can be posed as a SDP assuming that the off-nominal and nominal frequency responses are given (see this paper). I haven't seen any other methods for obtaining the optimal weights, so I think that this functionality can be implemented in a standalone class/function without the need for abstract base classes.
For 2), there are many approaches to fitting an overbounding transfer function to magnitude response data. For example, there are currently two methods that are used at DECAR (convex log-Chebyshev, nonlinear least-squares). Given that multiple methods can be used, it may be beneficial to use a abstract base class to act as a template for these different strategies.