MATLAB: How to fit a transfer function from the measured data with an uncertainty using System Identification Toolbox R2019a

System Identification Toolbox

I have two questions in this regard:
1.) Can I use the hinfstruct directly on the datatype idfrd without using tfest first?
2.) I want to fit a transfer function from my measured data with an uncertainty, which I can then process further. How can this be done?

Best Answer

Structured H-inf requires a parametric plant model. So you need to create dynamic model first. Once such a model is identified (say using tfest or ssest), you have a few options:
  • You can use parameter covariance matrix to derive an upper bound on individual parameter uncertainties. An example can be sqrt(getcov(model)). Such bounds can be quite conservative since they ignore cross-covariance.
  • You can create an LTI array representing a random sample set from the identified model using the "rsample" function. You can then do your control design against this LTI array.
  • You can create frequency response uncertainty bounds (see bode, freqresp functions in System Identification Toolbox). You can then use ultidyn functionality from Robust Control toolbox to create uncertain LTI dynamics which can then be used in global H-inf approaches for control design.