Uso MATLAB abbastanza per l'analisi dei circuiti. A volte preferisco le spezie, altre volte preferisco le spezie, dipende dal mio umore e dalle mie esigenze.
Questi sono i seguenti passaggi:
- 1: accetta la trasformata di Laplace del circuito
- 2: ottenere la funzione di trasferimento
- 3: tracciare / analizzare usando le funzioni MATLAB. bode, impulse, freqresp e così via.
La parte più difficile che trovo è prendere la trasformazione di Laplace e derivare l'equazione della funzione di trasferimento.
Ci sono molti esempi e libri di testo su come prendere un Laplace su Internet. In breve lo scopo qui è quello di ottenere l'equazione sotto forma di
H(s)=as2+bs+cds2+es+f
dove a c è il numeratore e d a f il denominatore nell'esempio presentato di seguito.acdf
Per fare ciò, converti tutti gli elementi passivi in impedenze complesse. Questo è
Successivamente deriva un'equazione per il tuo circuito sotto forma di Vout / Vin.
Per un semplice filtro passa basso sotto forma di:
Vin -------R-------------- Vout
|
C
|
------------------------------
questo produrrebbe:
VoutVin=sCR+sC
Scrivi l'equazione sopra sotto forma di num e den per MATLAB:
num = [C 0];
den = [C R];
Quindi continua a utilizzare qualsiasi funzione matlab che ti piace per analizzare la funzione di trasferimento (bode), il diagramma zero poli e così via.
Di seguito è riportato un esempio di filtro con cui stavo giocando di recente e cercando di ottimizzare i valori:
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