Zatvaranje povratne sprege, primer

za početak, da učitamo toolbox

In [1]:
pkg load control

da prebacimo slike na vektorsku grafiku, ovo nije Octave komanda, jupyter je!

In [2]:
%plot inline -f "svg"

ovo je objekt upravljanja, njegova funkcija prenosa

In [3]:
T0 = tf([1],[1, 3, 3, 1])
Transfer function 'T0' from input 'u1' to output ...

                1          
 y1:  ---------------------
      s^3 + 3 s^2 + 3 s + 1

Continuous-time model.
In [4]:
bode(T0)
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 -120 -100 -80 -60 -40 -20 0 10-2 10-1 100 101 102 Magnitude [dB] Bode Diagram gnuplot_plot_1a -250 -200 -150 -100 -50 0 10-2 10-1 100 101 102 Phase [deg] Frequency [rad/s] T0 T0

funkcija prenosa ima malo pojačanje, nema čak ni crossover frequency (ako izuzmemo DC), stalno je manja od 1 po amplitudi; moramo da podignemo pojačanje i postavimo crossover frequency; zvuči jednostavno, čak i jeste, ali je problem gde postaviti crossover frequency? možda se zbog toga vratimo u drugom prolazu na ovo mesto, ako velik propusni opseg suviše zahteva od sistema (napona, struja, duty ratio van opsega $0 \le d \le 1$, . . . ); postavimo crossover frequency na $\omega_C = 10$ radijana u sekundi, $k = 1000$

In [5]:
T1 = 1000 * T0
Transfer function 'T1' from input 'u1' to output ...

              1000         
 y1:  ---------------------
      s^3 + 3 s^2 + 3 s + 1

Continuous-time model.
In [6]:
bode(T1)
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 -60 -40 -20 0 20 40 60 10-2 10-1 100 101 102 Magnitude [dB] Bode Diagram gnuplot_plot_1a -250 -200 -150 -100 -50 0 10-2 10-1 100 101 102 Phase [deg] Frequency [rad/s] T1 T1
In [7]:
nyquist(T1)
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 -500 0 500 -200 0 200 400 600 800 1000 Imaginary Axis Real Axis Nyquist Diagram T1 T1 gnuplot_plot_2a gnuplot_plot_3a

liči na nestabilno, ali čik razaznajte šta je oko (-1, 0) sa ove slike? detaljnije je dole prikazano, zoom je česta komanda kada se radi nyquist()

In [8]:
nyquist(T1)
axis([-1, 1, -1, 1])
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 -1 -0.5 0 0.5 1 -1 -0.5 0 0.5 1 Imaginary Axis Real Axis Nyquist Diagram T1 T1 gnuplot_plot_2a gnuplot_plot_3a

vrlo nestabilno, ali treba da se tumači; da probamo sa mojom kompresiojom?

In [9]:
compressed(T1)
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 -2 -1 0 1 2 -2 -1 0 1 2 gnuplot_plot_1a gnuplot_plot_2a gnuplot_plot_3a gnuplot_plot_4a gnuplot_plot_5a

a sada najava nečeg što sledi, da dodamo obilaznice i brojanje obuhvata kritične take:

In [10]:
dodato_nestabilnih_polova = pypass(T1)
dodato_nestabilnih_polova = 2
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 -2 -1 0 1 2 -2 -1 0 1 2 gnuplot_plot_1a gnuplot_plot_2a gnuplot_plot_3a gnuplot_plot_4a gnuplot_plot_5a

krajnje očigledno nestabilno, obuhvata kritičnu tačku; da napravimo lead kompenzator da popravimo faznu marginu? ovde je glavno da kompenzator ne pokvari $\omega_C$, tako se pravi funkcija prenosa lead kompenzatora, da na $\omega_C$ ima pojačanje 1, odnosno 0 dB

In [11]:
H1 = feedback(T1)
Transfer function 'H1' from input 'u1' to output ...

                1000          
 y1:  ------------------------
      s^3 + 3 s^2 + 3 s + 1001

Continuous-time model.
In [12]:
pzmap(H1)
legend('location', 'northwest')
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 -10 -5 0 5 10 -15 -10 -5 0 5 Imaginary Axis Real Axis Pole-Zero Map H1 H1

tačno tako, dodata dva nestabilna pola, tj. dva pola premeštena u desnu kompleksnu poluravan; igorišite ružnu oznaku u legendi, tu nije pol već oznaka za pol

In [13]:
Hlead = 0.1 * tf([1, 1], [0.01, 1])
Transfer function 'Hlead' from input 'u1' to output ...

      0.1 s + 0.1
 y1:  -----------
      0.01 s + 1 

Continuous-time model.
In [14]:
bode(Hlead)
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 -20 -10 0 10 20 10-1 100 101 102 103 Magnitude [dB] Bode Diagram gnuplot_plot_1a 20 40 60 80 10-1 100 101 102 103 Phase [deg] Frequency [rad/s] Hlead Hlead

na $\omega_C$ je amplituda lead kompenzatora 0 dB; neće uticati na $\omega_C$

In [15]:
T2 = series(T1, Hlead) # overloaded operator? ranije rešavano množenjem
Transfer function 'T2' from input 'u1' to output ...

                      100 s + 100                
 y1:  -------------------------------------------
      0.01 s^4 + 1.03 s^3 + 3.03 s^2 + 3.01 s + 1

Continuous-time model.

ovde je popravljena faza; uočite kako red sistema raste! nažalost, to će nas pratiti do kraja

In [16]:
bode(T2)
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 -100 -80 -60 -40 -20 0 20 40 10-2 10-1 100 101 102 103 Magnitude [dB] Bode Diagram gnuplot_plot_1a -250 -200 -150 -100 -50 0 10-2 10-1 100 101 102 103 Phase [deg] Frequency [rad/s] T2 T2

i, šta kaže Nyquist? čik razaznajte odavde!

In [17]:
nyquist(T2)
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 -60 -40 -20 0 20 40 60 0 20 40 60 80 100 Imaginary Axis Real Axis Nyquist Diagram T2 T2 gnuplot_plot_2a gnuplot_plot_3a

jedan zoom . . .

In [18]:
nyquist(T2)
axis([-5 5 -5 5])
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 -4 -2 0 2 4 -4 -2 0 2 4 Imaginary Axis Real Axis Nyquist Diagram T2 T2 gnuplot_plot_2a gnuplot_plot_3a

i još jedan . . .

In [19]:
nyquist(T2)
axis([-1 1 -1 1])
axis square
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 -1 -0.5 0 0.5 1 -1 -0.5 0 0.5 1 Imaginary Axis Real Axis Nyquist Diagram T2 T2 gnuplot_plot_2a gnuplot_plot_3a

uz zoom se vidi da je jedva stabilno; da probamo kompresiju?

In [20]:
compressed(T2)
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 -2 -1 0 1 2 -2 -1 0 1 2 gnuplot_plot_1a gnuplot_plot_2a gnuplot_plot_3a gnuplot_plot_4a gnuplot_plot_5a

lako i jasno se vidi da je stabilno, ali i mala margina faze; da probamo step response u zatvorenoj sprezi?

još jedan osvrt na ono što sledi . . .

In [21]:
dodato_nestabilnih_polova = pypass(T2)
dodato_nestabilnih_polova = 0
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 -2 -1 0 1 2 -2 -1 0 1 2 gnuplot_plot_1a gnuplot_plot_2a gnuplot_plot_3a gnuplot_plot_4a gnuplot_plot_5a
In [22]:
# nekad minreal(T2 / (1 + T2)), dakle nije overload
H2 = feedback(T2)
Transfer function 'H2' from input 'u1' to output ...

                      100 s + 100                 
 y1:  --------------------------------------------
      0.01 s^4 + 1.03 s^3 + 3.03 s^2 + 103 s + 101

Continuous-time model.

sistem je ostao četvrtog reda, nije postao sistem sedmog reda zbog konačne dužine reči, tzv. numeričke greške! dakle, imamo funkciju feedback() koja lepo radi!

In [23]:
step(H2)
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 0 0.5 1 1.5 0 2 4 6 8 10 y1 Time [s] Step Response H2 H2

uh, suvise oscilatorno! nema smisla sa ovim ići dalje, bolje da još popravimo marginu faze, još jedan lead kompenzator dodajemo na red!

odziv je isti! naravoučenije: zaboravite na minreal ako baš ne mora; biće još reči o ovome!

In [24]:
T22 = series(T2, Hlead)
Transfer function 'T22' from input 'u1' to output ...

                          10 s^2 + 20 s + 10                    
 y1:  ----------------------------------------------------------
      0.0001 s^5 + 0.0203 s^4 + 1.06 s^3 + 3.06 s^2 + 3.02 s + 1

Continuous-time model.

sada je sistem petog reda; takav nam je postupak, stalno povećavamo red sistema; rešavamo jedne probleme, a pravimo druge!

In [25]:
bode(T22)
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 -80 -60 -40 -20 0 20 10-2 10-1 100 101 102 103 Magnitude [dB] Bode Diagram gnuplot_plot_1a -250 -200 -150 -100 -50 0 10-2 10-1 100 101 102 103 Phase [deg] Frequency [rad/s] T22 T22

i tako dođosmo do sistema petog reda; šta kaže Nyquist?

In [26]:
nyquist(T22)
axis([-1 1 -1 1])
axis square
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 -1 -0.5 0 0.5 1 -1 -0.5 0 0.5 1 Imaginary Axis Real Axis Nyquist Diagram T22 T22 gnuplot_plot_2a gnuplot_plot_3a

ok, stabilno, čak prevelika margina faze, možda bude presporo, ali rešićemo kasnije, bolje je za sada da bude stabilnije; da probamo kompresiju?

In [27]:
compressed(T22)
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 -2 -1 0 1 2 -2 -1 0 1 2 gnuplot_plot_1a gnuplot_plot_2a gnuplot_plot_3a gnuplot_plot_4a gnuplot_plot_5a

vrlo jasno sta je, margina faze skoro $90^\circ$, nalik na sistem prvog reda; da probamo odziv na step pobudu u zatvorenoj sprezi?

još jedna digresija u budućnost:

In [28]:
dodato_nestabilnih_polova = pypass(T22)
dodato_nestabilnih_polova = 0
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 -2 -1 0 1 2 -2 -1 0 1 2 gnuplot_plot_1a gnuplot_plot_2a gnuplot_plot_3a gnuplot_plot_4a gnuplot_plot_5a

usput, uočite kako je pojačanje na niskim frekvencijama palo, tracking neće biti dobar! rešili smo marginu faze, ali smo spustili pojačanje; u skladu sa najavom: rešavanje jednog problema je napravilo drugi!

In [29]:
H22 = minreal(T22 / (1 + T22))
H22 = feedback(T22)
Transfer function 'H22' from input 'u1' to output ...

                                1e+05 s^5 + 5e+05 s^4 + 1e+06 s^3 + 1e+06 s^2 + 5e+05 s + 1e+05                          
 y1:  -------------------------------------------------------------------------------------------------------------------
      s^8 + 206 s^7 + 1.122e+04 s^6 + 1.63e+05 s^5 + 6.54e+05 s^4 + 1.203e+06 s^3 + 1.151e+06 s^2 + 5.602e+05 s + 1.1e+05

Continuous-time model.

Transfer function 'H22' from input 'u1' to output ...

                           10 s^2 + 20 s + 10                      
 y1:  -------------------------------------------------------------
      0.0001 s^5 + 0.0203 s^4 + 1.06 s^3 + 13.06 s^2 + 23.02 s + 11

Continuous-time model.

NEKAD: peti red sistema posta osmi, optimizacija ili skracivanje (minreal) nije baš sjajno odradila posao SAD: ostao je peti red; drugi metod je zaobišao problem numeričke greške

In [30]:
step(H22)
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 0 0.2 0.4 0.6 0.8 0 1 2 3 4 5 6 y1 Time [s] Step Response H22 H22

očekivano, smirene oscilacije, usporen sistem; samo, vidite li da je pojačanje na niskim frekvencijama malo, imate grešku ustaljenog stanja! Da bi to popravili dodajemo lag kompenzator; on fazu kvari, pa ga postavljamo tako da je ne pokvari puno; $\omega_C$ isto ne sme da pokvari!

In [31]:
Hlag = tf([1, 1], [1 0])
Transfer function 'Hlag' from input 'u1' to output ...

      s + 1
 y1:  -----
        s  

Continuous-time model.
In [32]:
bode(Hlag)
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 0 10 20 30 40 10-2 10-1 100 101 102 Magnitude [dB] Bode Diagram gnuplot_plot_1a -80 -60 -40 -20 0 10-2 10-1 100 101 102 Phase [deg] Frequency [rad/s] Hlag Hlag

na $\omega_C$ pojačanje je blisko 1, ne kvari se crossover frequency

In [33]:
T3 = series(T22, Hlag)
Transfer function 'T3' from input 'u1' to output ...

                      10 s^3 + 30 s^2 + 30 s + 10                 
 y1:  ------------------------------------------------------------
      0.0001 s^6 + 0.0203 s^5 + 1.06 s^4 + 3.06 s^3 + 3.02 s^2 + s

Continuous-time model.

eto sistema šestog reda!

In [34]:
bode(T3)
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 -80 -60 -40 -20 0 20 40 60 10-2 10-1 100 101 102 103 Magnitude [dB] Bode Diagram gnuplot_plot_1a -250 -200 -150 -100 10-2 10-1 100 101 102 103 Phase [deg] Frequency [rad/s] T3 T3

šta kaže Nyquist? razaznajte iz slike, ako možete . . .

In [35]:
nyquist(T3)
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 -300 -200 -100 0 100 200 300 -1 -0.8 -0.6 -0.4 -0.2 0 Imaginary Axis Real Axis Nyquist Diagram T3 T3 gnuplot_plot_2a gnuplot_plot_3a

da probamo kompresiju? bolje, ali ne sjajno, nema obilaznice, ovo je samo komprimovan dijagram koji daje nyquist() funkcija iz paketa control za octave; naša funkcija prenosa u otvorenoj sprezi sada ima pol u koordinatnom početku (nuli, (0, 0))

In [36]:
compressed(T3)
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 -2 -1 0 1 2 -2 -1 0 1 2 gnuplot_plot_1a gnuplot_plot_2a gnuplot_plot_3a gnuplot_plot_4a gnuplot_plot_5a

a da probamo nešto bolje, pyquist funkciju koja ima i obilaznicu?

In [37]:
pyquist(T3)
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 -2 -1 0 1 2 -2 -1 0 1 2 gnuplot_plot_1a gnuplot_plot_2a gnuplot_plot_3a gnuplot_plot_4a gnuplot_plot_5a
In [38]:
dodato_nestabilnih_polova = pypass(T3)
dodato_nestabilnih_polova = 0
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 -2 -1 0 1 2 -2 -1 0 1 2 gnuplot_plot_1a gnuplot_plot_2a gnuplot_plot_3a gnuplot_plot_4a gnuplot_plot_5a

closed loop funkcija prenosa i njen step odziv?

In [39]:
H3 = minreal(T3 / (1 + T3))
H3 = feedback(T3)
Transfer function 'H3' from input 'u1' to output ...

                             1e+05 s^6 + 6e+05 s^5 + 1.5e+06 s^4 + 2e+06 s^3 + 1.5e+06 s^2 + 6e+05 s + 1e+05                        
 y1:  ------------------------------------------------------------------------------------------------------------------------------
      s^9 + 206 s^8 + 1.122e+04 s^7 + 1.63e+05 s^6 + 7.54e+05 s^5 + 1.703e+06 s^4 + 2.151e+06 s^3 + 1.56e+06 s^2 + 6.1e+05 s + 1e+05

Continuous-time model.

Transfer function 'H3' from input 'u1' to output ...

                           10 s^3 + 30 s^2 + 30 s + 10                      
 y1:  ----------------------------------------------------------------------
      0.0001 s^6 + 0.0203 s^5 + 1.06 s^4 + 13.06 s^3 + 33.02 s^2 + 31 s + 10

Continuous-time model.

vidite razliku? Funkcije prenosa su u osnovi iste! deveti red i šesti red, ima razlike!

In [40]:
step(H3)
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 0 0.2 0.4 0.6 0.8 1 0 1 2 3 4 5 6 y1 Time [s] Step Response H3 H3

step odziv je ok, nema premašenje, sve je očekivano i dobro; a da probamo da cedimo suvu drenovinu i još malo proširimo frekvencijski opseg velikih kružnih pojačanja, tj. da proširimo opseg frekvencija u kome je kružno pojačanje veliko?

In [41]:
Hlag2 = tf([1, 10], [1 0])
Transfer function 'Hlag2' from input 'u1' to output ...

      s + 10
 y1:  ------
        s   

Continuous-time model.
In [42]:
bode(Hlag2)
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 0 10 20 30 40 10-1 100 101 102 103 Magnitude [dB] Bode Diagram gnuplot_plot_1a -80 -60 -40 -20 0 10-1 100 101 102 103 Phase [deg] Frequency [rad/s] Hlag2 Hlag2

na $\omega = 10$ nije baš pojačanje 0 dB!

In [43]:
T32 = series(T22, Hlag2)
Transfer function 'T32' from input 'u1' to output ...

                     10 s^3 + 120 s^2 + 210 s + 100               
 y1:  ------------------------------------------------------------
      0.0001 s^6 + 0.0203 s^5 + 1.06 s^4 + 3.06 s^3 + 3.02 s^2 + s

Continuous-time model.
In [44]:
bode(T32)
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 -50 0 50 10-2 10-1 100 101 102 103 Magnitude [dB] Bode Diagram gnuplot_plot_1a -250 -200 -150 -100 10-2 10-1 100 101 102 103 Phase [deg] Frequency [rad/s] T32 T32

crossover frequency je malo podignut; posledica preterivanja u $\omega_L$; šta kaže Nyquist? razaznajte, ovde to još i može

In [45]:
nyquist(T32)
axis([-1, 1, -1, 1])
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 -1 -0.5 0 0.5 1 -1 -0.5 0 0.5 1 Imaginary Axis Real Axis Nyquist Diagram T32 T32 gnuplot_plot_2a gnuplot_plot_3a

da probamo kompresiju?

In [46]:
compressed(T32)
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 -2 -1 0 1 2 -2 -1 0 1 2 gnuplot_plot_1a gnuplot_plot_2a gnuplot_plot_3a gnuplot_plot_4a gnuplot_plot_5a

opet problem sa polom u nuli; da uradimo obilaznicu?

In [47]:
pyquist(T32)
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 -2 -1 0 1 2 -2 -1 0 1 2 gnuplot_plot_1a gnuplot_plot_2a gnuplot_plot_3a gnuplot_plot_4a gnuplot_plot_5a

potpuno jasno, margina faze oko $45^\circ$; closed loop transfer function i jedinični odziv?

još jedan osvrt na budućnost:

In [48]:
dodato_nestabilnih_polova = pypass(T32)
dodato_nestabilnih_polova = 0
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 -2 -1 0 1 2 -2 -1 0 1 2 gnuplot_plot_1a gnuplot_plot_2a gnuplot_plot_3a gnuplot_plot_4a gnuplot_plot_5a
In [49]:
H32 = T32 / (1 + T32)
H32 = minreal(T32 / (1 + T32))
H32 = feedback(T32)
Transfer function 'H32' from input 'u1' to output ...

                              0.001 s^9 + 0.215 s^8 + 13.06 s^7 + 162.1 s^6 + 622.1 s^5 + 1121 s^4 + 1060 s^3 + 512 s^2 + 100 s                        
 y1:  -------------------------------------------------------------------------------------------------------------------------------------------------
      1e-08 s^12 + 4.06e-06 s^11 + 0.0006241 s^10 + 0.04466 s^9 + 1.464 s^8 + 19.67 s^7 + 177.9 s^6 + 642.7 s^5 + 1136 s^4 + 1066 s^3 + 513 s^2 + 100 s

Continuous-time model.

Transfer function 'H32' from input 'u1' to output ...

                            1e+05 s^6 + 1.5e+06 s^5 + 6e+06 s^4 + 1.1e+07 s^3 + 1.05e+07 s^2 + 5.1e+06 s + 1e+06                       
 y1:  ---------------------------------------------------------------------------------------------------------------------------------
      s^9 + 206 s^8 + 1.122e+04 s^7 + 1.63e+05 s^6 + 1.654e+06 s^5 + 6.203e+06 s^4 + 1.115e+07 s^3 + 1.056e+07 s^2 + 5.11e+06 s + 1e+06

Continuous-time model.

Transfer function 'H32' from input 'u1' to output ...

                          10 s^3 + 120 s^2 + 210 s + 100                    
 y1:  ----------------------------------------------------------------------
      0.0001 s^6 + 0.0203 s^5 + 1.06 s^4 + 13.06 s^3 + 123 s^2 + 211 s + 100

Continuous-time model.

prvo rešenje: sistem dvanaestog reda; drugo rešenje: sistem devetog reda; treće rešenje koje je najbolje: sistem je šestog reda, sve ostalo je izmislila numerička greška! poslednje rešenje je najtačnije i najjednostavnije; toliko o izboru algoritma!

da proverimo?

In [50]:
T32a = - feedback(-H32)
T32
Transfer function 'T32a' from input 'u1' to output ...

                     10 s^3 + 120 s^2 + 210 s + 100               
 y1:  ------------------------------------------------------------
      0.0001 s^6 + 0.0203 s^5 + 1.06 s^4 + 3.06 s^3 + 3.02 s^2 + s

Continuous-time model.

Transfer function 'T32' from input 'u1' to output ...

                     10 s^3 + 120 s^2 + 210 s + 100               
 y1:  ------------------------------------------------------------
      0.0001 s^6 + 0.0203 s^5 + 1.06 s^4 + 3.06 s^3 + 3.02 s^2 + s

Continuous-time model.

izgleda isto, a da li je?

In [51]:
parallel(T32, -T32a)
Transfer function 'ans' from input 'u1' to output ...

                                                 -4.547e-13 s^4 - 9.095e-13 s^3 - 3.411e-13 s^2                                            
 y1:  -------------------------------------------------------------------------------------------------------------------------------------
      1e-08 s^12 + 4.06e-06 s^11 + 0.0006241 s^10 + 0.04366 s^9 + 1.249 s^8 + 6.612 s^7 + 15.81 s^6 + 20.6 s^5 + 15.24 s^4 + 6.04 s^3 + s^2

Continuous-time model.

vidite šta radi numerička greška?

In [52]:
step(H32)
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 0 0.2 0.4 0.6 0.8 1 1.2 1.4 0 1 2 3 4 5 6 y1 Time [s] Step Response H32 H32

očekivano, imamo brzinu, ali i ringing! da uporedimo odzive . . .

In [53]:
step(H3,H32,1.5)
Gnuplot Produced by GNUPLOT 5.2 patchlevel 8 0 0.2 0.4 0.6 0.8 1 1.2 1.4 0 0.2 0.4 0.6 0.8 1 1.2 1.4 y1 Time [s] Step Response H3 H3 H32 H32

"o odzivima ne valja raspravljati"; očigledno je oscilatoran nešto brži, ali da li se to isplati imajući u vidu ringing?