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.
    graph.PNG
     
  2. Papabravo

    Expert

    Feb 24, 2006
    10,136
    1,786
    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... :p
     
  4. Papabravo

    Expert

    Feb 24, 2006
    10,136
    1,786
    I think the TS just had an AHHAAAH moment!
     
Loading...