How to estimate the parameter in a customized transfer function

22 次查看(过去 30 天)
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

回答(2 个)

Robert U
Robert U 2020-7-24
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,
Robert
  1 个评论
Lihao Zheng
Lihao Zheng 2020-7-24
Hi, thank you for your response!
Yes, I can indeed convert my G(s) in the form of . If we assume:
and
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.

请先登录,再进行评论。


Rajiv Singh
Rajiv Singh 2020-7-24
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:

类别

Help CenterFile Exchange 中查找有关 Linear Model Identification 的更多信息

产品


版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by