Ich benutze MATLAB ziemlich oft für die Schaltungsanalyse. Manchmal bevorzuge ich es zu würzen, andere Male bevorzuge ich Würze, hängt von meiner Stimmung und Anforderungen ab.
Dies sind die folgenden Schritte:
- 1: Nehmen Sie die Laplace-Transformation der Schaltung
- 2: erhalten Sie die Übertragungsfunktion
- 3: Zeichnen / Analysieren mit MATLAB-Funktionen. bode, impulse, freqresp und so weiter.
Der schwierigste Teil, den ich finde, besteht darin, die Laplace-Transformation durchzuführen und Ihre Übertragungsfunktionsgleichung abzuleiten.
Es gibt viele Beispiele und Lehrbücher zum Thema Laplace im Internet. Kurz gesagt ist das Ziel hier, die Gleichung in Form von zu bekommen
H( s ) = a s2+ b s + cds2+ E s + f
eincdf
Dazu wandeln Sie alle Ihre passiven Elemente in komplexe Impedanzen um. Das ist es
Leiten Sie als nächstes eine Gleichung für Ihre Schaltung in Form von Vout / Vin ab.
Für ein einfaches Tiefpassfilter in Form von:
Vin -------R-------------- Vout
|
C
|
------------------------------
das würde ergeben:
VoutVin=sCR+sC
Schreiben Sie die obige Gleichung in Form von num und den für MATLAB:
num = [C 0];
den = [C R];
Verwenden Sie anschließend eine beliebige Matlab-Funktion, um die Übertragungsfunktion (Bode), das Pol-Null-Diagramm usw. zu analysieren.
Unten sehen Sie ein Beispiel für einen Filter, mit dem ich kürzlich gespielt und versucht habe, die Werte zu optimieren:
R1 = 20e3;
C1 = 235e-9;
R2 = 2e3;
C2 = 22e-9;
num = [2*R2*C1 0];
den = [C1*R1*C2*R2*2 (2*C1*R1 + C2*2*R2) 2];
g = tf(num,den);
P = bodeoptions; % Set phase visiblity to off and frequency units to Hz in options
P.FreqUnits = 'Hz'; % Create plot with the options specified by P
bode(g,P);
%[num,den] = eqtflength(num,den); % Make lengths equal
%[z,p,k] = tf2zp(num,den) % Obtain zero-pole-gain form