Electronic – Determine Transfer Function from Step Response with Non-Zero Initial Condition

transfer function

I saw in this forum a way to determine a transfer function from a step graph. I wanted to know how it is done when the initial condition is non-zero, like the following step response below.

enter image description here

How can I estimate the transfer function of the system from this data?

Best Answer

Estimating transfer functions is called system identification. The order of the transfer function needs to be known or guessed (there are also tools for that, but it's better if you know what the order of the physical system is before fitting. (the above system looks 2nd order).

If you don't want to learn a bunch of matrix algebra and coding, then find a tool to do the solving for you. Matlab has the system identification toolbox which could apply an estimation to this easily. There are other options that I haven't tried.

The last thing is this may be difficult to give you the answer you want since it looks like the initial condition could be around 1, but this may not be a complete picture. The best way to estimate the whole system is to start from a known state where the system states are zero, then apply a step input. Another way is to do a frequency sweep on the input (you have to know the inputs and the outputs to know how the controller is transforming them and then estimate the controller).