Diagrammi di Bode e criterio di Nyquist, approfondimento: regole, risonanza, criterio dimostrato e margini
Asintoti ed errori dei diagrammi di Bode, risonanza del secondo ordine dimostrata, fase minima, ritardi e zeri instabili, principio dell'argomento e criterio di Nyquist dimostrati, margini di guadagno, fase e ritardo, esempi in MATLAB e Python.
https://www.electronics-engineering.com/bode-nyquist-approfondimento-criterio-dimostrato-margini-matlab-python
Questa pagina approfondisce la lezione sul criterio di Nyquist e sui margini di stabilità. Ricava le regole per disegnare i diagrammi di Bode a mano (asintoti, errori, risonanza del secondo ordine, ritardi, zeri a fase non minima), dimostra il criterio di Nyquist a partire dal principio dell’argomento, spiega come si tratta un integratore o un processo instabile, e lega margini di guadagno, di fase e di ritardo alle prestazioni. In fondo ci sono gli esempi in MATLAB e in Python, con il codice verificato.
Perché i diagrammi di Bode si disegnano sommando
Una funzione di trasferimento razionale si scrive come prodotto di fattori elementari:
![Rendered by QuickLaTeX.com \[ L(s) = K\,\frac{\prod_i(1 + s/z_i)\cdot\prod_k\left(1 + 2\zeta_k\frac{s}{\omega_k} + \frac{s^2}{\omega_k^2}\right)}{s^h\prod_j(1 + s/p_j)\cdot\prod_l\left(1 + 2\zeta_l\frac{s}{\omega_l} + \frac{s^2}{\omega_l^2}\right)} \]](https://www.electronics-engineering.com/wp-content/ql-cache/quicklatex.com-0db6b6611178a95abf41157e17f2e7b6_l3.png)
Con
, il logaritmo trasforma il prodotto in somma:
e
. Basta quindi conoscere i diagrammi dei fattori elementari e sommarli.
Il polo semplice
: modulo
dB.
- Per
vale circa 0 dB; per
vale
: una retta con pendenza −20 dB per decade che passa per 0 dB in
. Le due rette sono gli asintoti. - L’errore massimo è nel punto di rottura:
dB. A un’ottava di distanza (
o
) l’errore è
dB. - La fase
vale
in
e va da 0 a
; l’approssimazione a tratti la fa scendere linearmente tra
e
, con un errore massimo di circa 5,7°.
Lo zero dà gli stessi diagrammi con il segno opposto; l’integratore
è una retta a −20 dB per decade per tutte le frequenze, con fase costante
.

La risonanza del secondo ordine
Teorema. Il sistema
, con
, ha un picco di risonanza alla pulsazione
, di ampiezza
![Rendered by QuickLaTeX.com \[ M_r = \frac{1}{2\zeta\sqrt{1 - \zeta^2}} \]](https://www.electronics-engineering.com/wp-content/ql-cache/quicklatex.com-cd2b37044fe7d2e41c47cba479a09005_l3.png)
Per
il modulo è decrescente e non c’è picco.
Dimostrazione. Con
:
. Si cerca il minimo di questa funzione di
:
,
,
, accettabile solo se positivo. Lì
, e
. ∎
Con
il picco è
, cioè 14 dB; con
, 8,1 dB; con
, 2,7 dB. In
la fase vale sempre
. L’errore dell’asintoto (che ha un angolo a 0 dB in
e poi scende di 40 dB per decade) può essere grande: per sistemi poco smorzati non si può disegnare Bode solo con le rette.

Fase minima, ritardi, zeri instabili
Un sistema senza poli e zeri nel semipiano destro e senza ritardi si dice a fase minima. Per questi sistemi la fase è determinata dal modulo (relazione di Bode): dove il modulo scende con pendenza costante di
dB per decade, la fase si avvicina a
gradi. Per questo, in un progetto, si cerca di far attraversare lo 0 dB con pendenza −20 dB per decade: la fase è allora intorno a
, lontana da
.
Due eccezioni importanti:
- un ritardo
ha modulo 1 e fase
(in radianti), che cresce senza limite: non cambia il modulo ma toglie margine di fase, tanto più quanto più è alta la frequenza di attraversamento; - uno zero nel semipiano destro, come
, ha lo stesso modulo dello zero stabile ma fase che scende invece di salire. Il sistema
ha modulo 1 a tutte le frequenze e fase da 0 a
. Nel tempo, uno zero instabile fa partire la risposta al gradino nella direzione sbagliata (sottoelongazione): succede nei convertitori boost, nella dinamica di beccheggio degli aerei, nel livello del corpo cilindrico di una caldaia.

Il criterio di Nyquist, dimostrato
Principio dell’argomento. Sia
una funzione razionale e
una curva chiusa, percorsa in senso orario, che non passa per zeri o poli di
. Se dentro
ci sono
zeri e
poli di
(contati con la molteplicità), la curva immagine
gira attorno all’origine
volte in senso orario.
Dimostrazione. Scrivendo
, si ha
. Quando
percorre
una volta in senso orario, il vettore
ruota di
se
è dentro la curva e torna allo stesso angolo (variazione nulla) se è fuori. Quindi la variazione totale dell’argomento di
è
:
giri in senso orario. In forma integrale è
(con la curva percorsa in senso antiorario), conseguenza diretta del teorema dei residui, perché
ha residuo
in ogni zero semplice e
in ogni polo semplice. ∎
Il criterio. Si applica il principio a
, con
il percorso di Nyquist: l’asse immaginario da
a
e una semicirconferenza di raggio
nel semipiano destro, che quindi racchiude tutto il semipiano destro. Gli zeri di
sono i poli dell’anello chiuso; i poli di
sono quelli di
. Girare attorno all’origine con
equivale a girare attorno a
con
. Sulla semicirconferenza grande
(sistemi propri), e l’immagine si riduce a un punto: basta disegnare
. Ne viene
![]()
con
i giri in senso orario attorno a
,
i poli di
nel semipiano destro,
i poli dell’anello chiuso nel semipiano destro. ∎
Poli sull’asse immaginario. Se
ha poli sull’asse (per esempio un integratore in 0), il percorso li aggira con piccole semicirconferenze di raggio
verso destra, lasciandoli fuori. Per un polo semplice in 0,
e su
, con
da
a
, l’immagine è
: una semicirconferenza di raggio infinito percorsa in senso orario, che chiude il diagramma “dall’infinito”.

Margini e robustezza
Con
la pulsazione di attraversamento (
) e
quella in cui la fase vale
:
- margine di guadagno
: il fattore per cui si può moltiplicare il guadagno prima dell’instabilità; - margine di fase
: lo sfasamento in più tollerabile; - margine di ritardo
(con
in radianti): il ritardo puro che porterebbe all’instabilità. È il margine più significativo nei sistemi controllati da un processore o attraverso una rete; - picco di sensibilità
: l’inverso della distanza minima del diagramma di Nyquist da
. Valori tipici di progetto:
(6 dB), che garantisce
e
.
Esempio. Per
:
,
,
(3,5 dB);
rad/s,
, margine di ritardo 0,17 s. Il sistema è stabile ma fragile: la risposta al gradino ha una sovraelongazione del 70 %.


Bode e Nyquist in MATLAB e in Python
MATLAB:
L = tf(4, [1 3 2 0]); % L(s) = 4/(s(s+1)(s+2))
margin(L) % Bode con i margini scritti sul grafico
[Gm, Pm, Wpc, Wgc] = margin(L)
nyquist(L)
step(feedback(L, 1))Python (numpy e python-control):
import numpy as np
import control as ct
L = ct.tf([4], [1, 3, 2, 0]) # L(s) = 4/(s(s+1)(s+2))
gm, pm, wpc, wgc = ct.margin(L)
print(f"Gm = {gm:.2f} ({20*np.log10(gm):.1f} dB) a {wpc:.3f} rad/s")
print(f"PM = {pm:.1f} gradi a {wgc:.3f} rad/s")
print(f"margine di ritardo = {np.radians(pm)/wgc:.3f} s")
T = ct.feedback(L, 1)
print(f"sovraelongazione = {ct.step_info(T)['Overshoot']:.0f} %")L’esecuzione stampa
(3,5 dB) a 1,414 rad/s,
a 1,143 rad/s, margine di ritardo 0,174 s e sovraelongazione del 70 %. I grafici si ottengono con ct.bode_plot(L, dB=True, margins=True) e ct.nyquist_plot(L), che usano matplotlib.
Gli esercizi, con il disegno a mano dei diagrammi, i margini, i ritardi e i sistemi instabili in anello aperto, sono nella pagina degli esercizi collegata in cima.






Ciao, sono l'autore di «Diagrammi di Bode e criterio di Nyquist, approfondimento: regole, risonanza, criterio dimostrato e margini». Domande, dubbi, segnalazioni di errori o richieste di approfondimento sono benvenuti: scriveteli qui sotto e vi rispondo io. Potete anche votare la pagina con le stelle all'inizio dell'articolo.Hi, I am the author of “Bode plots and the Nyquist criterion in depth: rules, resonance, criterion proved and margins”. Questions, doubts, error reports and requests for more detail are all welcome: write them below and I will answer. You can also rate the page with the stars at the top of the article.