Step response in MATLAB not oscillating around 1.

Discussion in 'Programmer's Corner' started by Suyash Shandilya, Oct 4, 2016.

1. Suyash Shandilya Thread Starter New Member

Sep 14, 2016
7
0
Hello everyone!

I am very new here. I am very new to MATLAB. And new to Control System engineering as well.

[a,b]=ord2(10,0.1);
step(a,b);

Above is my code and I am attatching the ouptut for the same.
In all my Control system engg. lectures the second order step response was somehow normalised and always around one.
I tried for different frequency value but that lead to drastic amplitude diminishing.
I want to know why is my code around 0.01 and how do I normalise it other than simply multiplying the a vector with 100.

2. Papabravo Expert

Feb 24, 2006
10,021
1,757
The 0.01 represents the steady state value as t →∞, and all the first and second order terms have died out. What do you think the ord2 function does? So what is the transfer function of a system with a natural frequency of 10 radians per second and a damping factor of 0.1? It is:

$\frac{1}{s^2+0.2s+100}$

Question: What is the magnitude of the transfer function as t→∞, which is the same as s→0?

To normalize the amplitude at 1 you need to have the natural frequency be 1, so:

[a,b]=ord2(1, 0.1);

Also the normalized transfer function for any natural frequency is just

$\frac{\omega_n^2}{s^2+2\zeta\omega_n+\omega_n^2}\;,\;\; \text where \zeta\; \text is the damping ratio, and \omega_n \text is the natural frequency$

Last edited: Oct 4, 2016
3. Suyash Shandilya Thread Starter New Member

Sep 14, 2016
7
0

Damn it! Yes!!!
You are absolutely right. What was I thinking...

4. Papabravo Expert

Feb 24, 2006
10,021
1,757
I think the TS just had an AHHAAAH moment!