Clear Filters
Clear Filters

How to estimate the parameter in a customized transfer function

11 views (last 30 days)
Hey guys
Currently I'm using system identification toolbox to estimte the transfer function of a set of data. However, I want my transfer function in a particular form:
where and are fitting parameters. Both and are known polynomials (unfortunately I cannot provide any details about them). In this case, this transfer function model cannot be written in a standard form as shown below:
The system identification toolbox seems to require my model to be written in the standard form. Therefore, I'm wondering if there's anyway I can find estimation for and ? Thank you

Answers (2)

Robert U
Robert U on 24 Jul 2020
Hi Lihao Zheng,
first of all you can convert the two forms from one to another. Second it is possible to define transfer functions in different forms:
s = tf('s');
K0 = 5;
a0 = 10;
p = 2*s+1;
q = 3*s^2+2*s+1;
G = K0 / (p/q+a0)
As you can see, Matlab returns G in the polynomial form.
If you convert the transfer functions to one another you will see that
Finding the common devider in the numerator of a(s) leads direktly to K_0 and with that you can calculate {\tilde a_0}.
Kind regards,
  1 Comment
Lihao Zheng
Lihao Zheng on 24 Jul 2020
Hi, thank you for your response!
Yes, I can indeed convert my G(s) in the form of . If we assume:
where p_i and q_i are known coefficient. Since a_o is unknown, the aforementioned b(s) will have the form of:
This form of coefficient is problematic since System identification toolbox does not have model like that.

Sign in to comment.

Rajiv Singh
Rajiv Singh on 24 Jul 2020
Grey-box identification is an option. You will need to write a function that takes K0 and a0 as inputs, and returns state-space matrices correspinding to your system. See IDGREY, GREYEST, SSDATA. Some examples:


Find more on Linear Model Identification in Help Center and File Exchange




Community Treasure Hunt

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

Start Hunting!