J'utilise beaucoup MATLAB pour l'analyse de circuits. Parfois, je le préfère aux épices, d'autres fois je préfère les épices, cela dépend de mon humeur et de mes besoins.
Ce sont les étapes suivantes:
- 1: prenez la transformée de Laplace du circuit
- 2: obtenir la fonction de transfert
- 3: tracer / analyser en utilisant les fonctions MATLAB. augurer, impulsion, freqresp et ainsi de suite.
La partie la plus délicate que je trouve est de prendre la transformée de Laplace et de dériver votre équation de fonction de transfert.
Il existe de nombreux exemples et manuels sur la prise d'un Laplace sur Internet. En bref, le but ici est d'obtenir l'équation sous la forme de
H( s ) = a s2+ b s + crés2+ e s + f
où à c est le numérateur et d à funecréF le dénominateur dans l'exemple présenté ci-dessous.
Pour ce faire, convertissez tous vos éléments passifs en impédances complexes. C'est
Dérivez ensuite une équation pour votre circuit sous la forme de Vout / Vin.
Pour un simple filtre passe-bas sous la forme de:
Vin -------R-------------- Vout
|
C
|
------------------------------
cela donnerait:
Vo u tVje n= s CR + s C
Écrivez l'équation ci-dessus sous la forme de num et den pour MATLAB:
num = [C 0];
den = [C R];
Ensuite, continuez à utiliser n'importe quelle fonction matlab que vous aimez pour analyser la fonction de transfert (bode), le diagramme de pôle zéro, etc.
Voici un exemple de filtre avec lequel je jouais récemment et essayais de régler les valeurs:
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