Ik heb een overdrachtsfunctie berekend voor een specifiek systeem (een laagdoorlaatfilter):
$$ H (j \ omega) = \ frac {1} {RCj \ omega +1} $$
Het lijkt mij dat de standaardmanier om de frequentierespons van het filter te plotten is om een Bode-plot te gebruiken. Daarom wil ik weten hoe ik dat in Matlab moet doen.
Er is een functie bodeplot in Matlab die bijvoorbeeld een argument neemt dat is berekend met tf
, die op zijn beurt neemt een teller en een noemer.
Ik begrijp eigenlijk niet hoe ik die functies moet gebruiken met mijn reeds berekende formule hierboven. Heb ik al een deel berekend dat zou kunnen worden gedaan met de bovengenoemde Matlab-functies?
Dus, hoe maak ik een Bode-plot van mijn overdrachtsfunctie, in Matlab?
Hier is mijn huidige Matlab-plot, die de frequentierespons uitzet (maar niet met dB op de 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));
Reacties
- Ik don ' weet matlab niet, maar een bode-plot is op een log-log-schaal. Log van de amplituderespons versus log van de frequentie.
Antwoord
Bel tf
met vectoren van de coëfficiënten voor de teller en de noemer (of afgeleid van hoogste vermogen naar laagste):
H = tf([1],[RC 1]);
waarbij RC
uw \ $ RC \ $ tijdconstante.
Roep vervolgens bode(H)
aan.
Bekijk de Matlab-documentatie (vooral de voorbeelden).
Reacties
- Dit werkt als je de signalen toolbox hebt. Het ' is meer een taak als je dat niet doet.