M HYPE SPLASH
// general

Structured transfer function estimation in MATLAB?

By Emma Valentine
$\begingroup$

I have some input-output data for a dynamical system (input = stimulus, output = observation). Assuming that this system is linear time-invariant, I am trying to estimate a transfer function $H(s)$ of this system in MATLAB. I found the function tfest in the System Identification Toolbox. It allows you to define the number of poles, the number of zeros, and even some delay.

However, I am wondering if it is possible to force the transfer function to have a certain structure. For example, $$H(s) = H_1(s) + \alpha \, e^{-\tau s} \, H_2(s).$$

Is there a way to estimate this structured transfer function in Matlab?

Thank you in advance for your help.

$\endgroup$ 1

1 Answer

$\begingroup$

I don't actually know if that is, what you are asking for.

I did the following

alpha = 1;
tau = 1;
s = tf('s');
H1 = 1/(s+2)^2; % arbitrary transfer function
H2 = s/(s+1)^3; % arbitrary transfer function
H = H1 + alpha * exp(-tau*s) * H2 

By this method, you will obtain the state-space model which you can try to fit.

You can also check this answer.

$\endgroup$

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy