%% Simulation / Modélisation d'un système de photodétection % Module : Ingénierie Electronique % pour le Traitement de l'Information %-------------------------------------------------------------- % TD_10 : Photodétection - Modélisation / Correction TD %-------------------------------------------------------------- % Auteur : Julien VILLEMEJANE % Date : 27/08/2020 %-------------------------------------------------------------- clear all; close all; %% Constantes RT = 1e5; % resistance de contre-reaction Cphd1 = 75e-12; % capacité de la photodiode Cphd2 = 10e-12; % capacité de la photodiode wc1 = 1/(RT*Cphd1) % pulsation de coupure RT Cphd wc2 = 1/(RT*Cphd2) % pulsation de coupure RT Cphd fc1 = wc1/(2*pi) fc2 = wc2/(2*pi) A0 = 2e5; wGBP = 2*pi*3e6; wT1 = sqrt(wc1*wGBP) fT1 = wT1 / 2 / pi mT1 = sqrt(wc1/wGBP)*0.5 wT2 = sqrt(wc2*wGBP) fT2 = wT2 / 2 / pi mT2 = sqrt(wc2/wGBP)*0.5 f = logspace(2,8,1001); w = 2*pi.*f; t = linspace(0, 0.00002, 1001); %% Systèmes sys1 = tf([RT],[(1/wT1)*(1/wT1) 2*mT1/wT1 1]); [mag1, phase1, wo1] = bode(sys1, w); sys2 = tf([RT],[(1/wT2)*(1/wT2) 2*mT2/wT2 1]); [mag2, phase2, wo2] = bode(sys2, w); figure; subplot(2,1,1); semilogx(f, 20*log10(squeeze(mag1)), f, 20*log10(squeeze(mag2))); xlabel('Frequence (Hz)'); ylabel('Gain (dB)'); legend('Système 1','Système 2'); grid on; subplot(2,1,2); semilogx(f, squeeze(phase1), f, squeeze(phase2)); ylabel('Phase (deg)'); grid on; figure; subplot(2,1,1); semilogx(f, 20*log10(squeeze(mag1)), f, 20*log10(squeeze(mag2))); xlabel('Frequence (Hz)'); ylabel('Gain (dB)'); legend('Cphd = 75pF','Cphd = 10pF'); grid on; subplot(2,1,2); semilogx(f, squeeze(phase1), f, squeeze(phase2)); ylabel('Phase (deg)'); grid on; % step [y1, t1] = step(sys1,t); [y2, t1] = step(sys2,t); figure; subplot(2,1,1); plot(t, y2); grid on; xlabel('Temps (s)'); title('Systeme A'); subplot(2,1,2); plot(t, y1); grid on; xlabel('Temps (s)'); title('Systeme B');