risultato della simulazione : (visualizzo Vu)

 

 

 


 

OSCILLATORE A SFASAMENTO DAL PUNTO DI VISTA MATEMATICO :

 

 

 

 

 

 

si assume R1 = R2 = R3 = R , C1 = C2 = C3 = C

 


 

ANALISI DI T(p) CON MATLAB

 

segue il codice sorgente di un programma per visuaLizzare modulo, fase e diagramma di Nyquist di T(p) :

 

% OSCILLATORE A SFASAMENTO - www.eln.it clear all; % cancella tutte le variabili & funzioni precedenti clf; % cancella tutte le figure precedenti % traccia il MODULO e la FASE di T : % ********************************************************************************** w=logspace(-5,5,100); % vettore per diagr. mod & fase : 100 punti da 10^-5 a 10^5 p=w.*i; f=2*pi; Rf=200e3; R=2e3; C=10e-6; A=-Rf/R; H=(p*R*C).^3./((p*R*C).^3+6*(p*R*C).^2+5*(p*R*C)+1); T=-H*A; % *********************************************************************************** % disegna il modulo nella prima finestra figure(1); % crea la finestra grafica y=20*log10(abs(T)); % calcola il modulo della T in dB semilogx(w,y,'y'); % traccia il grafico p,y di colore giallo con asse x in scala log e asse y in scala lineare grid on; % mostra la griglia zoom on; % attiva la T di zoom ( per cui cliccando su un punto del grafico, questo viene zoommato) set(gca,'FontSize',14); % assegna al grafico corrente (gca) una dimensione del testo pari a 14 titolo=sprintf('modulo di T(p)'); title(titolo); xlabel('p=jw'); ylabel('|T(p)| [dB]'); % disegna la fase nella seconda finestra figure(2); % crea la finestra grafica y=360/f*angle(T); % calcola la fase della T in gradi semilogx(w,y,'y'); % traccia il grafico p,y di colore giallo con asse x in scala log e asse y in scala lineare grid on; % mostra la griglia zoom on; % attiva la T di zoom ( per cui cliccando su un punto del grafico, questo viene zoommato) set(gca,'FontSize',14); % assegna al grafico corrente (gca) una dimensione del testo pari a 14 titolo=sprintf('fase di T(p)'); title(titolo); xlabel('p=jw'); ylabel('fase(T(p)) [gradi]'); % traccia il DIAGRAMMA DI NYQUIST di T : % ******************************************************************************** w=linspace(-1e4,1e4,1e4); % vettore per diagr. di Nyquist : 10000 punti da -10000 a +10000 p=w.*i; f=2*pi; Rf=200e3; R=2e3; C=10e-6; A=-Rf/R; H=(p*R*C).^3./((p*R*C).^3+6*(p*R*C).^2+5*(p*R*C)+1); T=-H*A; % *********************************************************************************** % routine di tracciamento della curva figure(3); % crea la finestra grafica x=real(T); y=imag(T); plot(x,y,'y'); % traccia il grafico p,y di colore giallo con asse x in scala log e asse y in scala lineare grid on; % mostra la griglia zoom on; % attiva la funzione di zoom ( per cui cliccando su un punto del grafico, questo viene zoommato) set(gca,'FontSize',14); % assegna al grafico corrente (gca) una dimensione del testo pari a 14 titolo=sprintf('diagramma di Nyquist'); title(titolo); xlabel('Re [ T ]'); ylabel('Im [ T ]');

 

da cui :

 

 

il circuito oscilla quando T=-1 cio quando la sua fase vale 180

e dal grafico sopra si nota che ci avviene solo per w=20 circa

tale valore coincide esattamente con la omega di oscillazione