Vypočítal jsem přenosovou funkci pro konkrétní systém (dolní propust):
$$ H (j \ omega) = \ frac {1} {RCj \ omega +1} $$
Zdá se mi, že standardním způsobem vykreslování frekvenční odezvy filtru je použití Bodeho grafu. Proto chci vědět, jak to udělat v Matlabu.
V Matlabu je funkce bodeplot, která například bere argument vypočítaný pomocí tf
, což zase bere čitatele a jmenovatele.
Nerozumím tomu, jak bych měl tyto funkce používat s výše uvedeným již vypočítaným vzorcem. Už jsem vypočítal nějakou část, která by mohla být provedena výše uvedenými funkcemi Matlabu? / p>
Takže, jak vytvořím Bodeův graf z mé přenosové funkce v Matlabu?
Tady je můj aktuální Matlabův graf, který vykresluje frekvenční charakteristiku (ale ne s dB na 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));
Komentáře
- Nemám ' nevím matlab, ale bodový graf je na stupnici log – log. Log amplitudové odezvy vs log frekvence.
Odpověď
Volejte tf
s vektory koeficientů pro čitatele a jmenovatele (nebo odvozeno od nejvyššího výkonu po nejnižší):
H = tf([1],[RC 1]);
kde RC
je váš \ $ RC \ $ časová konstanta.
Poté volejte bode(H)
.
Viz Dokumentace Matlab (zejména příklady).
Komentáře
- Toto funguje, pokud máte sadu nástrojů pro signály. Je to ' více věcí, pokud nechcete.