Add analysis about effect of 10uF load
This commit is contained in:
parent
447ea1b6fb
commit
08cb2b8daa
39
index.org
39
index.org
@ -547,6 +547,7 @@ Three measurements are done:
|
|||||||
pi_sr_min = load('mat/pi_slew_rate_min.mat');
|
pi_sr_min = load('mat/pi_slew_rate_min.mat');
|
||||||
pi_sr_max = load('mat/pi_slew_rate_max.mat');
|
pi_sr_max = load('mat/pi_slew_rate_max.mat');
|
||||||
pi_sr_max_notch = load('mat/pi_slew_rate_max_notch_high.mat');
|
pi_sr_max_notch = load('mat/pi_slew_rate_max_notch_high.mat');
|
||||||
|
pi_sr_load = load('mat/pi_slew_rate_max_notch_high_2stacks.mat');
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
#+begin_src matlab
|
#+begin_src matlab
|
||||||
@ -556,6 +557,7 @@ Three measurements are done:
|
|||||||
[tf_sr_min, f] = tfestimate(pi_sr_min.V_in, pi_sr_min.V_out, win, [], [], 1/Ts);
|
[tf_sr_min, f] = tfestimate(pi_sr_min.V_in, pi_sr_min.V_out, win, [], [], 1/Ts);
|
||||||
[tf_sr_max, ~] = tfestimate(pi_sr_max.V_in, pi_sr_max.V_out, win, [], [], 1/Ts);
|
[tf_sr_max, ~] = tfestimate(pi_sr_max.V_in, pi_sr_max.V_out, win, [], [], 1/Ts);
|
||||||
[tf_sr_max_notch, ~] = tfestimate(pi_sr_max_notch.V_in, pi_sr_max_notch.V_out, win, [], [], 1/Ts);
|
[tf_sr_max_notch, ~] = tfestimate(pi_sr_max_notch.V_in, pi_sr_max_notch.V_out, win, [], [], 1/Ts);
|
||||||
|
[tf_sr_load, ~] = tfestimate(pi_sr_load.V_in, pi_sr_load.V_out, win, [], [], 1/Ts);
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
#+begin_src matlab
|
#+begin_src matlab
|
||||||
@ -569,6 +571,7 @@ Three measurements are done:
|
|||||||
plot(f, abs(tf_sr_min), 'DisplayName', 'Slew Rate - Min')
|
plot(f, abs(tf_sr_min), 'DisplayName', 'Slew Rate - Min')
|
||||||
plot(f, abs(tf_sr_max), 'DisplayName', 'Slew Rate - Max')
|
plot(f, abs(tf_sr_max), 'DisplayName', 'Slew Rate - Max')
|
||||||
plot(f, abs(tf_sr_max_notch), 'DisplayName', 'Remove Notch')
|
plot(f, abs(tf_sr_max_notch), 'DisplayName', 'Remove Notch')
|
||||||
|
plot(f, abs(tf_sr_load), 'DisplayName', 'With Load')
|
||||||
set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'log');
|
set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'log');
|
||||||
ylabel('Amplitude'); xlabel('Frequency [Hz]');
|
ylabel('Amplitude'); xlabel('Frequency [Hz]');
|
||||||
hold off;
|
hold off;
|
||||||
@ -579,6 +582,7 @@ Three measurements are done:
|
|||||||
plot(f, 180/pi*unwrap(angle(tf_sr_min))-angle_delay)
|
plot(f, 180/pi*unwrap(angle(tf_sr_min))-angle_delay)
|
||||||
plot(f, 180/pi*unwrap(angle(tf_sr_max))-angle_delay)
|
plot(f, 180/pi*unwrap(angle(tf_sr_max))-angle_delay)
|
||||||
plot(f, 180/pi*unwrap(angle(tf_sr_max_notch))-angle_delay)
|
plot(f, 180/pi*unwrap(angle(tf_sr_max_notch))-angle_delay)
|
||||||
|
plot(f, 180/pi*unwrap(angle(tf_sr_load))-angle_delay)
|
||||||
set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'lin');
|
set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'lin');
|
||||||
ylabel('Phase'); xlabel('Frequency [Hz]');
|
ylabel('Phase'); xlabel('Frequency [Hz]');
|
||||||
hold off;
|
hold off;
|
||||||
@ -630,3 +634,38 @@ The identified transfer function still seems to match the one of a notch filter
|
|||||||
linkaxes([ax1,ax2], 'x');
|
linkaxes([ax1,ax2], 'x');
|
||||||
xlim([10, 5e3]);
|
xlim([10, 5e3]);
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
** With Load
|
||||||
|
#+begin_src matlab
|
||||||
|
R = 2.78; % Output Impedance [Ohm]
|
||||||
|
C = 9e-6; % Load capacitance [F]
|
||||||
|
|
||||||
|
G_amp = 10/(1 + s*R*C);
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src matlab :exports none
|
||||||
|
figure;
|
||||||
|
ax1 = subplot(2, 1, 1);
|
||||||
|
hold on;
|
||||||
|
plot(f, abs(tf_sr_max_notch), 'DisplayName', 'No load')
|
||||||
|
plot(f, abs(tf_sr_load), 'DisplayName', '$10\mu F$ load')
|
||||||
|
plot(f, abs(squeeze(freqresp(G_amp, f, 'Hz'))), 'k--', 'DisplayName', 'Model')
|
||||||
|
set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'log');
|
||||||
|
ylabel('Amplitude'); xlabel('Frequency [Hz]');
|
||||||
|
hold off;
|
||||||
|
legend('location', 'southwest');
|
||||||
|
|
||||||
|
ax2 = subplot(2, 1, 2);
|
||||||
|
hold on;
|
||||||
|
plot(f, 180/pi*unwrap(angle(tf_sr_max_notch))-angle_delay)
|
||||||
|
plot(f, 180/pi*unwrap(angle(tf_sr_load))-angle_delay)
|
||||||
|
plot(f, 180/pi*unwrap(angle(squeeze(freqresp(G_amp, f, 'Hz')))), 'k--')
|
||||||
|
set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'lin');
|
||||||
|
ylabel('Phase'); xlabel('Frequency [Hz]');
|
||||||
|
hold off;
|
||||||
|
ylim([-180, 45]);
|
||||||
|
yticks(-360:45:90)
|
||||||
|
|
||||||
|
linkaxes([ax1,ax2], 'x');
|
||||||
|
xlim([10, 5e3]);
|
||||||
|
#+end_src
|
||||||
|
Loading…
Reference in New Issue
Block a user