How to hack tfest/oe identification algorithm in order to set constraints during estimation

2 views (last 30 days)
Good morning community,
I would like to hack into the estimation algorithm for system identification using the commands tfest(...) or oe(...). From the documentation it seems they use the same algorithm under the hood, specifically it is said:
"For discrete-time data, tfest uses the same algorithm as oe to determine the numerator and denominator polynomial coefficients. In this algorithm, the initialization is performed using arx, followed by nonlinear least-squares search-based updates to minimize a weighted prediction error norm."
I'm actually using discrete time-domain data for a MISO systems, specifically with two inputs. The structure of the model is the following
I would like to impose the constraints
How can I do this?
Thanks, Luca

Answers (1)

Khaled Aljanaideh
Khaled Aljanaideh on 24 Feb 2021
If the coloring of the noise term (e) in the model structure is not important, then this can be done by using the ARMAX or ARX model structures. Note that the arx model structure, for example, can be written as , which is equivalent to , where the model structure shown in the question is
Khaled Aljanaideh
Khaled Aljanaideh on 5 Mar 2021
In this case, ssest would be the best option. After estimating a state space model using ssest, a polynomial model can be constructed, which will have a model structure similar to the one shown in the question. Also, the noise term in this case is not colored. Please note that most functions in the system identification toolbox such as (oe, arx, armax, ssest, and many more) are based on prediction error methods (pem) under the hood.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by