Am calculat o funcție de transfer pentru un anumit sistem (un filtru low-pass):
$$ H (j \ omega) = \ frac {1} {RCj \ omega +1} $$
Mi se pare că modul standard de reprezentare a răspunsului în frecvență al filtrului este utilizarea unui grafic Bode. Prin urmare, vreau să știu cum să fac asta în Matlab.
Există o funcție bodeplot în Matlab care, de exemplu, ia un argument calculat cu tf
, care la rândul său ia un numărător și un numitor.
De fapt, nu înțeleg cum ar trebui să folosesc acele funcții cu formula mea deja calculată de mai sus. Am calculat deja o parte care ar putea fi făcută cu funcțiile Matlab menționate mai sus?
Deci, cum fac un grafic Bode din funcția mea de transfer, în Matlab?
Iată graficul meu actual Matlab, care reprezintă graficul răspunsului în frecvență (dar nu cu dB pe 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));
Comentarii
- Nu ' nu știu matlab, dar un grafic de bode este pe o scară log – log. Jurnalul răspunsului amplitudinii față de jurnalul frecvenței.
Răspuns
Apelați tf
cu vectori ai coeficienților pentru numărător și numitor (sau derivat de la cea mai mare putere la cea mai mică):
H = tf([1],[RC 1]);
unde RC
este \ $ RC \ $ constantă de timp.
Apoi apelați bode(H)
.
Consultați Documentație Matlab (în special exemplele).
Comentarii
- Acest lucru funcționează dacă aveți setul de instrumente pentru semnale. ' înseamnă mai mult dacă nu.