Diagramma di Bode MATLAB
Questo tutorial discuterà come tracciare il diagramma di bode della risposta in frequenza di un sistema usando la funzione bode()
in MATLAB.
Tracciare il diagramma di Bode della risposta in frequenza di un sistema utilizzando la funzione bode()
in MATLAB
Se si desidera tracciare la risposta in frequenza o i dati di ampiezza e fase di un modello di sistema, è possibile utilizzare la funzione bode()
, che riporterà sia l’ampiezza che la fase della risposta in frequenza di un dato sistema. Per esempio, creiamo un bode plot di un sistema dinamico assegnando la sua funzione di trasferimento alla funzione bode()
. Vedi il codice qui sotto.
t_fun = tf([1 2 0.5],[9 1 0]);
bode(t_fun)
Produzione:
Nel codice sopra, usiamo i coefficienti della funzione di trasferimento e la funzione tf()
per definire la funzione dinamica. Il primo argomento della funzione tf()
è il vettore che contiene i coefficienti del numeratore, e il secondo argomento è il vettore che contiene i coefficienti del denominatore, e la sequenza va dalla potenza maggiore a quella minore. Se manca la potenza, verrà utilizzato 0 come coefficiente.
Come puoi vedere nell’output, la funzione bod()
fornisce automaticamente il titolo e le etichette della trama. Se vuoi modificare queste impostazioni, devi salvare la grandezza e la fase in una variabile separata e poi tracciarla usando la funzione plot()
e successivamente puoi dare il titolo e le etichette desiderati alla trama. Ad esempio, creiamo il bode plot sopra usando le funzioni subplot()
e plot()
e cambiamo il suo titolo usando la funzione title()
. Vedi il codice qui sotto.
t_fun = tf([1 2 0.5],[9 1 0]);
[magn,phas,w] = bode(t_fun);
figure
subplot(1,2,1)
plot(w,20*log10(magn(:)))
set(gca, 'XScale', 'log')
title('Magnitude')
subplot(1,2,2)
plot(w,phas(:))
set(gca, 'XScale', 'log')
title('Phase')
Produzione:
Come puoi vedere nell’output, i grafici sono gli stessi ma con un titolo diverso. Puoi anche modificare altre proprietà come le etichette, gli stili di linea, il colore del grafico usando la proprietà Color
, ecc. Controlla questo link per maggiori dettagli sulla funzione bode()
.