Ho calcolato una funzione di trasferimento per un sistema specifico (un filtro passa basso):
$$ H (j \ omega) = \ frac {1} {RCj \ omega +1} $$
Mi sembra che il modo standard di tracciare la risposta in frequenza del filtro sia usare un diagramma di Bode. Quindi voglio sapere come farlo in Matlab.
Esiste una funzione bodeplot in Matlab che ad esempio accetta un argomento calcolato con tf
, che a sua volta prende un numeratore e un denominatore.
In realtà non capisco come dovrei usare quelle funzioni con la mia formula già calcolata sopra. Ho già calcolato qualche parte che potrebbe essere fatta con le funzioni Matlab sopra menzionate?
Quindi, come faccio a creare un diagramma di Bode dalla mia funzione di trasferimento, in Matlab?
Ecco il mio diagramma Matlab corrente, che traccia la risposta in frequenza (ma non con dB sulla y -scale):
f = 0:100000; R = 33e3; C = 220e-12; w = 2*pi*f; H_w = 1./(R.*C.*j.*w+1); xaxis = 0:100000; figure; semilogx(xaxis,abs(H_w));
Commenti
- Non ' so matlab, ma un diagramma di bode è su una scala log-log. Log della risposta in ampiezza vs log della frequenza.
Risposta
Chiama tf
con i vettori dei coefficienti per numeratore e denominatore (o derivato dalla potenza più alta alla più bassa):
H = tf([1],[RC 1]);
dove RC
è il tuo \ $ RC \ $ costante di tempo.
Quindi chiama bode(H)
.
Vedi il Documentazione Matlab (in particolare gli esempi).
Commenti
- Funziona se hai il toolbox dei segnali. ' è più una cosa da fare se non lo fai.