Analyze new measurements

This commit is contained in:
Thomas Dehaeze 2021-02-16 13:12:24 +01:00
parent bbbe665505
commit 6580a81f30
12 changed files with 786 additions and 743 deletions

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

After

Width:  |  Height:  |  Size: 112 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 186 KiB

After

Width:  |  Height:  |  Size: 186 KiB

BIN
figs/comp_amp_noise_asd.pdf Normal file

Binary file not shown.

BIN
figs/comp_amp_noise_asd.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

BIN
figs/comp_amp_tf.pdf Normal file

Binary file not shown.

BIN
figs/comp_amp_tf.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

View File

@ -1180,7 +1180,12 @@ And it is verified that the Amplitude Spectral Density of $n_{da}$ is much large
#+begin_src matlab :exports none
%% DAC Output Voltage Noise
dac = load('mat/noise_preamp_5113_dac.mat', 't', 'Vn', 'notes');
dac = load('mat/noise_dac_1.mat', 't', 'Vn', 'notes');
#+end_src
#+begin_src matlab :exports none
%% DAC Output Voltage Noise
dac = load('mat/noise_dac_2.mat', 't', 'Vn', 'notes');
#+end_src
#+begin_src matlab :exports none
@ -2288,7 +2293,7 @@ addpath('./mat/');
<<sec:tf_comp>>
#+begin_src matlab
la75 = load('tf_la75_10uF_small_signal.mat', 't', 'Vin', 'Vout');
la75 = load('tf_la75b_10uF_small_signal.mat', 't', 'Vin', 'Vout');
pd200 = load('tf_pd200_1_10uF_small_signal.mat', 't', 'Vin', 'Vout', 'notes');
#+end_src
@ -2304,6 +2309,7 @@ win = hanning(ceil(0.5*Fs)); % Hannning Windows
[tf_pd200, f] = tfestimate(pd200.Vin, 20*pd200.Vout, win, [], [], 1/Ts);
[tf_la75, ~] = tfestimate(la75.Vin, la75.Vout, win, [], [], 1/Ts);
f_max = 2.6e3;
#+end_src
#+begin_src matlab :exports none
@ -2313,7 +2319,7 @@ tiledlayout(2, 1, 'TileSpacing', 'None', 'Padding', 'None');
ax1 = nexttile;
hold on;
plot(f, abs(tf_pd200))
plot(f(f<900), abs(tf_la75(f<900)))
plot(f(f<f_max), abs(tf_la75(f<f_max)))
hold off;
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
ylabel('Amplitude $V_{out}/V_{in}$ [V/V]'); set(gca, 'XTickLabel',[]);
@ -2323,32 +2329,47 @@ ylim([10, 30]);
ax2 = nexttile;
hold on;
plot(f, 180/pi*angle(tf_pd200), 'DisplayName', 'PD200')
plot(f(f<900), 180/pi*angle(tf_la75(f<900)), 'DisplayName', 'LA75')
plot(f(f<f_max), 180/pi*angle(tf_la75(f<f_max)), 'DisplayName', 'LA75')
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin');
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
hold off;
yticks(-360:2:360);
ylim([-12, 2]);
yticks(-360:5:360);
ylim([-25, 5]);
legend('location', 'southwest');
linkaxes([ax1,ax2],'x');
xlim([1, 5e3]);
#+end_src
#+begin_src matlab :tangle no :exports results :results file replace
exportFig('figs/comp_amp_tf.pdf', 'width', 'wide', 'height', 'tall');
#+end_src
#+name: fig:comp_amp_tf
#+caption: Comparison of the identified transfer function from input voltage to output voltage
#+RESULTS:
[[file:figs/comp_amp_tf.png]]
** Noise Characteristics
<<sec:noise_comp>>
#+begin_src matlab :exports none
#+begin_src matlab
pd200 = load('mat/noise_PD200_1_10uF.mat', 't', 'Vout', 'notes');
la75 = load('mat/noise_la75_10uF.mat', 't', 'Vout', 'notes');
#+end_src
#+begin_src matlab
pd200.gain = 20;
la75.gain = 20;
#+end_src
#+begin_src matlab :exports none
pd200.Vout = pd200.Vout/pd200.notes.pre_amp.gain;
la75.Vout = la75.Vout/la75.notes.pre_amp.gain;
#+end_src
#+begin_src matlab
#+begin_src matlab :exports none
figure;
hold on;
plot(pd200.t, 1e3*pd200.Vout)
@ -2359,6 +2380,16 @@ ylabel('Voltage [mV]');
% ylim([-3, 3]);
#+end_src
#+begin_src matlab :tangle no :exports results :results file replace
exportFig('figs/comp_amp_noise_time.pdf', 'width', 'wide', 'height', 'normal');
#+end_src
#+name: fig:comp_amp_noise_time
#+caption: Measured Output voltage noise
#+RESULTS:
[[file:figs/comp_amp_noise_time.png]]
#+begin_src matlab :exports none
% Sampling time / frequency
Ts = (pd200.t(end) - pd200.t(1))/(length(pd200.t) - 1);
@ -2377,12 +2408,10 @@ la75.f = f;
#+end_src
#+begin_src matlab :exports none
colors = get(gca,'colororder');
figure;
hold on;
plot(pd200.f, sqrt(pd200.pxx), 'DisplayName', 'PD200');
plot(la75.f, sqrt(la75.pxx), 'DisplayName', 'LA75');
plot(pd200.f, sqrt(pd200.pxx)/pd200.gain, 'DisplayName', 'PD200');
plot(la75.f, sqrt(la75.pxx)/la75.gain, 'DisplayName', 'LA75');
hold off;
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
xlabel('Frequency [Hz]'); ylabel('ASD [$V/\sqrt{Hz}$]');
@ -2390,6 +2419,15 @@ legend('location', 'southeast');
xlim([1, Fs/2]);
#+end_src
#+begin_src matlab :tangle no :exports results :results file replace
exportFig('figs/comp_amp_noise_asd.pdf', 'width', 'wide', 'height', 'tall');
#+end_src
#+name: fig:comp_amp_noise_asd
#+caption: Comparison of the amplifier input noise ASD
#+RESULTS:
[[file:figs/comp_amp_noise_asd.png]]
* Conclusion
<<sec:conclusion>>