test-bench-pd200/test-bench-pd200.org

74 KiB

Voltage Amplifier PD200 - Test Bench


This report is also available as a pdf.


Introduction   ignore

The goal of this test bench is to characterize the Voltage amplifier PD200 from PiezoDrive.

The documentation of the PD200 is accessible here.

This document is organized as follows:

  • Section sec:requirements: the requirements for the amplifiers and the characteristics of the PD200 amplifiers as advertise in the datasheet are listed.
  • Section sec:amplifier_model: a very simple amplifier model consisting of a transfer function and a noise source is described.
  • Section sec:tf_meas: the transfer function from input voltage to output voltage is identified.
  • Section sec:noise_meas: the power spectral density of the amplifier's noise is measured
  • Section sec:comp_pi_cedrat: the characteristics of the PD200 amplifier are compared to the E.505 amplifier from PI and to the LA75 from cedrat
  • Section sec:conclusion: the measured characteristics of the PD200 amplifier are compared with the requirements

Requirements PD200 Expected characteristics

<<sec:requirements>>

A picture of the PD200 amplifier is shown in Figure fig:amplifier_PD200.

/tdehaeze/test-bench-pd200/media/commit/820f343169204a54bb5e9635c20120898f240a99/figs/amplifier_PD200.png

The specifications as well as the amplifier characteristics as shown in the datasheet are summarized in Table tab:pd200_characteristics.

Characteristics Manual Specification
Input Voltage Range +/- 10 [V] +/- 10 [V]
Output Voltage Range -50/150 [V] -20/150 [V]
Gain 20 [V/V]
Maximum RMS current 0.9 [A] > 50 [mA]
Maximum Pulse current 10 [A]
Slew Rate 150 [V/us]
Noise (10uF load) 0.7 [mV RMS] < 2 [mV rms]
Small Signal Bandwidth (10uF load) 7.4 [kHz] > 5 [kHz]
Large Signal Bandwidth (150V, 10uF) 300 [Hz]

The most important characteristics are the large (small signal) bandwidth > 5 [kHz] and the small noise (< 2 [mV RMS]).

For a load capacitance of $10\,\mu F$, the expected $-3\,dB$ bandwidth is $6.4\,kHz$ (Figure fig:pd200_expected_small_signal_bandwidth) and the low frequency noise is $650\,\mu V\,\text{rms}$ (Figure fig:pd200_expected_noise).

These two characteristics are respectively measured in Section sec:tf_meas and Section sec:noise_meas.

#+caption:Expected small signal bandwidth

/tdehaeze/test-bench-pd200/media/commit/820f343169204a54bb5e9635c20120898f240a99/figs/pd200_expected_small_signal_bandwidth.png

/tdehaeze/test-bench-pd200/media/commit/820f343169204a54bb5e9635c20120898f240a99/figs/pd200_expected_noise.png

Voltage Amplifier Model

<<sec:amplifier_model>>

The Amplifier is characterized by its dynamics $G_p(s)$ from voltage inputs $V_{in}$ to voltage output $V_{out}$. Ideally, the gain from $V_{in}$ to $V_{out}$ is constant over a wide frequency band with very small phase drop.

It is also characterized by its input noise $n$.

The objective is therefore to determine the transfer function $G_p(s)$ from the input voltage to the output voltage as well as the Power Spectral Density $S_n(\omega)$ of the amplifier input noise.

As $G_p$ depends on the load capacitance, it should be measured when loading the amplifier with a $10\,\mu F$ capacitor.

  \begin{tikzpicture}
    \node[addb] (add) at (0,0) {};
    \node[block, right=0.8 of add] (G) {$G_p(s)$};

    \draw[<-] (add.west) -- ++(-1.2, 0) node[above right]{$V_{in}$};
    \draw[->] (add.east) -- (G.west);
    \draw[<-] (add.north) -- ++(0, 0.6) node[below right](n){$n$};
    \draw[->] (G.east) -- ++(1.2, 0) node[above left]{$V_{out}$};

    \begin{scope}[on background layer]
      \node[fit={(G.south-|add.west) (n.north-|G.east)}, inner sep=8pt, draw, dashed, fill=black!20!white] (P) {};
      \node[below] at (P.north) {PD-200};
    \end{scope}
  \end{tikzpicture}

/tdehaeze/test-bench-pd200/media/commit/820f343169204a54bb5e9635c20120898f240a99/figs/pd200-model-schematic.png

Model of the voltage amplifier

The input noise of the amplifier $n$ can be further modeled by shaping a white noise with unitary PSD $\tilde{n}$ with a transfer function $G_n(s)$ as shown in Figure fig:setup-dynamics-measurement.

The Amplitude Spectral Density $\Gamma_n$ is then:

\begin{equation} \Gamma_n(\omega) = |G_n(j\omega)| \Gamma_{\tilde{n}}(\omega) \end{equation}

with $\Gamma_{\tilde{n}}(\omega) = 1$.

  \begin{tikzpicture}
    \node[addb] (add) at (0,0) {};
    \node[block, above=0.5 of add] (Gn) {$G_n(s)$};
    \node[block, right=0.8 of add] (G) {$G_p(s)$};

    \draw[<-] (add.west) -- ++(-1.2, 0) node[above right]{$V_{in}$};
    \draw[->] (add.east) -- (G.west);
    \draw[->] (Gn.south) -- (add.north) node[above right]{$n$};
    \draw[<-] (Gn.north) -- ++(0, 0.6) node[below right](n){$\tilde{n}$};
    \draw[->] (G.east) -- ++(1.2, 0) node[above left]{$V_{out}$};

    \begin{scope}[on background layer]
      \node[fit={(G.south east) (n.north-|Gn.west)}, inner sep=8pt, draw, dashed, fill=black!20!white] (P) {};
      \node[below] at (P.north) {PD-200};
    \end{scope}
  \end{tikzpicture}

/tdehaeze/test-bench-pd200/media/commit/820f343169204a54bb5e9635c20120898f240a99/figs/pd200-model-schematic-normalized.png

Transfer Function measurement

<<sec:tf_meas>>

Introduction   ignore

In this section, the transfer function of the PD200 amplifier is measured:

Setup

<<sec:tf_meas_setup>>

In order to measure the transfer function from the input voltage $V_{in}$ to the output voltage $V_{out}$, the test bench shown in Figure fig:setup-dynamics-measurement is used.

Here are the documentation of the equipment used for this test bench:

For this measurement, the sampling frequency of the Speedgoat ADC should be as high as possible.

/tdehaeze/test-bench-pd200/media/commit/820f343169204a54bb5e9635c20120898f240a99/figs/setup-dynamics-measurement.png
Schematic of the test bench to estimate the dynamics from voltage input $V_{in}$ to voltage output $V_{out}$

Maximum Frequency/Voltage to not overload the amplifier

<<sec:tf_meas_w_max>>

Then the maximum output current of the amplifier is reached, the amplifier automatically shuts down itself. We should then make sure that the output current does not reach this maximum specified current.

The maximum current is 1A [rms] which corresponds to 0.7A in amplitude of the sin wave.

The impedance of the capacitance is: \[ Z_C(\omega) = \frac{1}{jC\omega} \]

Therefore the relation between the output current amplitude and the output voltage amplitude for sinusoidal waves of frequency $\omega$: \[ V_{out} = \frac{1}{C\omega} I_{out} \]

Moreover, there is a gain of 20 between the input voltage and the output voltage: \[ 20 V_{in} = \frac{1}{C\omega} I_{out} \]

For a specified voltage input amplitude $V_{in}$, the maximum frequency at which the output current reaches its maximum value is:

\begin{equation} \boxed{\omega_{\text{max}} = \frac{1}{20 C V_{in}} I_{out,\text{max}}} \end{equation}

with:

  • $\omega_{\text{max}}$ the maximum input sinusoidal frequency in Radians per seconds
  • $C$ the load capacitance in Farads
  • $V_{in}$ the input voltage sinusoidal amplitude in Volts
  • $I_{out,\text{max}}$ the specified maximum output current in Amperes

$\omega_{\text{max}}/2\pi$ as a function of $V_{in}$ is shown in Figure fig:max_frequency_voltage.

/tdehaeze/test-bench-pd200/media/commit/820f343169204a54bb5e9635c20120898f240a99/figs/max_frequency_voltage.png

Maximum frequency as a function of the excitation voltage amplitude

When doing sweep sine excitation, we make sure not to reach this maximum excitation frequency.

TODO Small Signal Bandwidth

<<sec:meas_small_signal_bandwidth>> Load Data

Compute Transfer Functions

Compare

Model

Save Model

TODO Bandwidth for multiple excitation signals

<<sec:bandwidth_amplitude>>

Several identifications using sweep sin were performed with input voltage amplitude ranging from 0.1V to 4V.

Iout_max = 0.57; % Maximum output current [A]
C = 10e-6; % Load Capacitance [F]

V_in = [0.1, 0.5, 1, 2, 4];
f_max = 0.8*Iout_max./(20*C*V_in/sqrt(2))/2/pi;
for i = 1:length(Vin_ampl)
    pd200{i}.notes.pd200.f_max = f_max(i);
    pd200{i}.notes.pd200.Vin = V_in(i);
end

Noise measurement

<<sec:noise_meas>>

Introduction   ignore

In section sec:noise_setup, the measurement setup is described and a model (block diagram) of the setup is given in section sec:noise_model.

Then, the noise contribution of each element is measured:

  • Section sec:noise_quantization: the quantization noise of the ADC is estimated
  • Sections sec:noise_egg and sec:noise_femto: the noise of the low-noise amplifiers are estimated
  • Section sec:noise_pd200: the input voltage noise of the PD200 amplifier is estimated
  • Section sec:noise_dac: the output noise of the DAC is measured
  • Section sec:noise_full_measurement: the noise of the full measurement chain (DAC to PD200 to pre-amplifier to ADC) is measured and it is found that the DAC is the main source of noise
  • Section sec:noise_ssi2v: the noise of an 20bits DAC is measured and it is shown if it could lowering the overall noise of the setup

Finally in section sec:pd200_noise_model, a model of the PD200 amplifier's noise is developed.

Measurement Setup

<<sec:noise_setup>>

Here are the documentation of the equipment used for this test bench:

The output noise of the voltage amplifier PD200 is foreseen to be around 1mV rms in a bandwidth from DC to 1MHz. If we suppose a white noise, this correspond to an amplitude spectral density:

\begin{equation} \Gamma_{n}(\omega) \approx \frac{1\,mV}{\sqrt{1\,MHz}} = 1 \frac{\mu V}{\sqrt{Hz}} \end{equation}

The RMS noise being very small compare to the ADC resolution, we must amplify this noise before digitizing the signal.

The added noise of the instrumentation amplifier should be much smaller than the noise of the PD200. We use either the amplifier EG&G 5113 that has a noise of $\approx 4 nV/\sqrt{Hz}$ referred to its input which is much smaller than the noise induced by the PD200.

The gain of the low-noise amplifier can be increased until the full range of the ADC is used. This gain should be around 1000 (60dB).

/tdehaeze/test-bench-pd200/media/commit/820f343169204a54bb5e9635c20120898f240a99/figs/setup-noise-measurement.png

A low pass filter at 10kHz can be included in the EG&G amplifier in order to limit aliasing. An high pass filter at low frequency can be added if there is a problem of large offset.

Model of the setup

<<sec:noise_model>>

As shown in Figure fig:noise_meas_procedure, there are 4 equipment involved in the measurement:

  • a Digital to Analog Convert (DAC)
  • the Voltage amplifier to be measured with a gain of 20 (PD200)
  • a low noise voltage amplifier with a variable gain and integrated low pass filters and high pass filters
  • an Analog to Digital Converter (ADC)

Each of these equipment has some noise:

  • $q_{da}$: quantization noise of the DAC
  • $n_{da}$: output noise of the DAC
  • $n_p$: input noise of the PD200 (what we wish to characterize)
  • $n_a$: input noise of the pre amplifier
  • $q_{ad}$: quantization noise of the ADC
\begin{tikzpicture}
  % DAC
  \node[DAC] (DAC) at (0,0) {DAC};
  \node[addb, right=0.4 of DAC] (addqda){};
  \node[addb, right=0.4 of addqda] (addnda){};

  % PD200
  \node[addb, right=1.2 of addnda] (addnp){};
  \node[block, right=0.4 of addnp] (Gp){$G_p(s)$};

  % Pre Amp
  \node[addb, right=1.2 of Gp] (addna){};
  \node[block, right=0.4 of addna] (Ga) {$G_a(s)$};

  % ADC
  \node[addb, right=1.2 of Ga] (addqad){};
  \node[ADC, right=0.4 of addqad] (ADC) {ADC};

  % \draw[->] (const.east) -- node[sloped]{$/$} (DAC.west);
  \draw[<-] (DAC.west) -- node[sloped]{$/$} ++(-1.0, 0);
  \draw[->] (DAC.east) -- (addqda.west);
  \draw[->] (addqda.east) -- (addnda.west);
  \draw[->] (addnda.east) -- (addnp.west);
  \draw[->] (addnp.east) -- (Gp.west);
  \draw[->] (Gp.east) -- (addna.west);
  \draw[->] (addna.east) -- (Ga.west);
  \draw[->] (Ga.east) -- (addqad.west);
  \draw[->] (addqad.east) -- (ADC.west);
  \draw[->] (ADC.east) -- node[sloped]{$/$} ++(1.0, 0) node[above left]{$n$};

  \draw[<-] (addnda.north) -- ++(0, 0.6) node[below right](nda){$n_{da}$};
  \draw[<-] (addqda.north) -- ++(0, 0.6) node[below right](qda){$q_{da}$};

  \draw[<-] (addnp.north) -- ++(0, 0.6) node[below right](np){$n_{p}$};
  \draw[<-] (addna.north) -- ++(0, 0.6) node[below right](na){$n_{a}$};

  \draw[<-] (addqad.north) -- ++(0, 0.6) node[below right](qad){$q_{ad}$};

  \coordinate[] (top) at (nda.north);
  \coordinate[] (bot) at (Ga.south);

  % DAC
  \begin{scope}[on background layer]
    \node[fit={(DAC.west|-bot) (addnda.east|-top)}, inner sep=10pt, draw, dashed, fill=black!20!white] (P) {};
    \node[above] at (P.north) {DAC};
  \end{scope}

  % PD200
  \begin{scope}[on background layer]
    \node[fit={(addnp.west|-bot) (Gp.east|-top)}, inner sep=10pt, draw, dashed, fill=black!20!white] (P) {};
    \node[above] at (P.north) {PD200};
  \end{scope}

  % 5113
  \begin{scope}[on background layer]
    \node[fit={(addna.west|-bot) (Ga.east|-top)}, inner sep=10pt, draw, dashed, fill=black!20!white] (P) {};
    \node[above] at (P.north) {Pre Amp};
  \end{scope}

  % ADC
  \begin{scope}[on background layer]
    \node[fit={(addqad.west|-bot) (ADC.east|-top)}, inner sep=10pt, draw, dashed, fill=black!20!white] (P) {};
    \node[above] at (P.north) {ADC};
  \end{scope}
\end{tikzpicture}

/tdehaeze/test-bench-pd200/media/commit/820f343169204a54bb5e9635c20120898f240a99/figs/noise_meas_procedure.png

Sources of noise in the experimental setup

Quantization Noise

<<sec:noise_quantization>>

The quantization noise is something that can be predicted. The Amplitude Spectral Density of the quantization noise of an ADC/DAC is equal to:

\begin{equation} \Gamma_q(\omega) = \frac{q}{\sqrt{12 f_s}} \end{equation}

with:

  • $q = \frac{\Delta V}{2^n}$ the quantization in [V], which is the corresponding value in [V] of the least significant bit
  • $\Delta V$ is the full range of the ADC in [V]
  • $n$ is the number of bits
  • $f_s$ is the sample frequency in [Hz]
adc = struct();
adc.Delta_V = 20; % [V]
adc.n = 16; % number of bits
adc.Fs = 20e3; % [Hz]
adc.Gamma_q = adc.Delta_V/2^adc.n/sqrt(12*adc.Fs); % [V/sqrt(Hz)]

The obtained Amplitude Spectral Density is

adc.Gamma_q} {{{results(=6.2294e-07=)}}} $V/\sqrt{Hz
$.

EG&G - Amplifier noise measurement

<<sec:noise_egg>>

First, we wish to measure the noise of the pre-amplifier. To do so, the input of the pre-amplifier is shunted such that there is 0V at its inputs. Then, the gain of the amplifier is increase until the measured signal on the ADC is much larger than the quantization noise.

The Amplitude Spectral Density $\Gamma_n(\omega)$ of the measured signal $n$ is computed. Finally, the Amplitude Spectral Density of $n_a$ can be computed taking into account the gain of the pre-amplifier:

\begin{equation} \Gamma_{n_a}(\omega) \approx \frac{\Gamma_n(\omega)}{|G_a(\omega)|} \end{equation}

This is true if the quantization noise $\Gamma_{q_{ad}}$ is negligible.

\begin{tikzpicture}
  \node[block={0.6cm}{0.6cm}] (const) {$0$};
  % Pre Amp
  \node[addb, right=0.6 of const] (addna) {};
  \node[block, right=0.4 of addna] (Ga) {$G_a(s)$};

  % ADC
  \node[addb, right=1.2 of Ga] (addqad){};
  \node[ADC, right=0.4 of addqad] (ADC) {ADC};

  \draw[->] (const.east) -- (addna.west);
  \draw[->] (addna.east) -- (Ga.west);
  \draw[->] (Ga.east) -- (addqad.west);
  \draw[->] (addqad.east) -- (ADC.west);
  \draw[->] (ADC.east) -- node[sloped]{$/$} ++(1.0, 0) node[above left]{$n$};

  \draw[<-] (addna.north) -- ++(0, 0.6) node[below right](na){$n_{a}$};
  \draw[<-] (addqad.north) -- ++(0, 0.6) node[below right](qad){$q_{ad}$};

  \coordinate[] (top) at (na.north);
  \coordinate[] (bot) at (Ga.south);

  % 5113
  \begin{scope}[on background layer]
    \node[fit={(addna.west|-bot) (Ga.east|-top)}, inner sep=10pt, draw, dashed, fill=black!20!white] (P) {};
    \node[above] at (P.north) {Pre Amp};
  \end{scope}

  % ADC
  \begin{scope}[on background layer]
    \node[fit={(addqad.west|-bot) (ADC.east|-top)}, inner sep=10pt, draw, dashed, fill=black!20!white] (P) {};
    \node[above] at (P.north) {ADC};
  \end{scope}
\end{tikzpicture}

/tdehaeze/test-bench-pd200/media/commit/820f343169204a54bb5e9635c20120898f240a99/figs/noise_measure_setup_preamp.png

Sources of noise in the experimental setup

The gain of the low noise amplifier is set to

ans = egg.notes.pre_amp.gain} {{{results(=50000=)}}
.

The obtained Amplitude Spectral Density of the Low Noise Voltage Amplifier is shown in Figure fig:asd_egg. The obtained noise amplitude is very closed to the one specified in the documentation of $4nV/\sqrt{Hz}$ at 1kHZ.

/tdehaeze/test-bench-pd200/media/commit/820f343169204a54bb5e9635c20120898f240a99/figs/asd_egg.png

Obtained Amplitude Spectral Density of the EG&G Low Noise Voltage Amplifier

Femto - Amplifier noise measurement

<<sec:noise_femto>>

Similarly to Section sec:noise_egg, the noise of the Femto amplifier is identified.

% Hanning window
win = hanning(ceil(0.5/Ts));

% Power Spectral Density
[pxx, f] = pwelch(femto.Vout, win, [], [], Fs);

% Save the results inside the struct
femto.pxx = pxx;
femto.f = f;

/tdehaeze/test-bench-pd200/media/commit/820f343169204a54bb5e9635c20120898f240a99/figs/asd_femto.png

Obtained Amplitude Spectral Density of the Femto Low Noise Voltage Amplifier

PD200 noise measurement

<<sec:noise_pd200>>

The input of the PD200 amplifier is shunted with a 50 Ohm resistor. The gain of the pre-amplifier is increased in order to measure a signal much larger than the quantization noise of the ADC.

The Amplitude Spectral Density of the measured signal $\Gamma_n(\omega)$ is computed. The Amplitude Spectral Density of $n_p$ is then computed taking into account the gain of the pre-amplifier and the can of the PD200 amplifier:

\begin{equation} \Gamma_{n_p}(\omega) = \frac{\Gamma_n(\omega)}{|G_p(j\omega) G_a(j\omega)|} \end{equation}

And we verify that this is indeed the noise of the PD200 and not the noise of the pre-amplifier by checking that:

\begin{equation} \Gamma_{n_p}(\omega) |G_p(j\omega)| \ll \Gamma_{n_a} \end{equation}
\begin{tikzpicture}
  \node[block={0.6cm}{0.6cm}] (const) {$0$};

  % PD200
  \node[addb, right=0.6 of const] (addnp){};
  \node[block, right=0.4 of addnp] (Gp){$G_p(s)$};

  % Pre Amp
  \node[addb, right=1.2 of Gp] (addna) {};
  \node[block, right=0.4 of addna] (Ga) {$G_a(s)$};

  % ADC
  \node[addb, right=1.2 of Ga] (addqad){};
  \node[ADC, right=0.4 of addqad] (ADC) {ADC};

  \draw[->] (const.east) -- (addnp.west);
  \draw[->] (addnp.east) -- (Gp.west);
  \draw[->] (Gp.east) -- (addna.west);
  \draw[->] (addna.east) -- (Ga.west);
  \draw[->] (Ga.east) -- (addqad.west);
  \draw[->] (addqad.east) -- (ADC.west);
  \draw[->] (ADC.east) -- node[sloped]{$/$} ++(1.0, 0) node[above left]{$n$};

  \draw[<-] (addnp.north) -- ++(0, 0.6) node[below right](np){$n_{p}$};
  \draw[<-] (addna.north) -- ++(0, 0.6) node[below right](na){$n_{a}$};
  \draw[<-] (addqad.north) -- ++(0, 0.6) node[below right](qad){$q_{ad}$};

  \coordinate[] (top) at (na.north);
  \coordinate[] (bot) at (Ga.south);

  % PD200
  \begin{scope}[on background layer]
    \node[fit={(addnp.west|-bot) (Gp.east|-top)}, inner sep=10pt, draw, dashed, fill=black!20!white] (P) {};
    \node[above] at (P.north) {PD200};
  \end{scope}

  % 5113
  \begin{scope}[on background layer]
    \node[fit={(addna.west|-bot) (Ga.east|-top)}, inner sep=10pt, draw, dashed, fill=black!20!white] (P) {};
    \node[above] at (P.north) {Pre Amp};
  \end{scope}

  % ADC
  \begin{scope}[on background layer]
    \node[fit={(addqad.west|-bot) (ADC.east|-top)}, inner sep=10pt, draw, dashed, fill=black!20!white] (P) {};
    \node[above] at (P.north) {ADC};
  \end{scope}
\end{tikzpicture}

/tdehaeze/test-bench-pd200/media/commit/820f343169204a54bb5e9635c20120898f240a99/figs/noise_measure_setup_pd200.png

Sources of noise in the experimental setup

The measured low frequency output noise of one of the PD200 amplifiers is shown in Figure fig:pd200_noise_time_lpf. It is very similar to the one specified in the datasheet in Figure fig:pd200_expected_noise.

/tdehaeze/test-bench-pd200/media/commit/820f343169204a54bb5e9635c20120898f240a99/figs/pd200_noise_time_lpf.png

Measured low frequency noise of the PD200 from 0.01Hz to 20Hz

The obtained RMS and peak to peak values of the measured output noise are shown in Table tab:rms_pkp_noise.

RMS [uV] Peak to Peak [mV]
Specification [10uF] 714.0 4.3
PD200_1 565.1 3.7
PD200_2 767.6 3.5
PD200_3 479.9 3.0
PD200_4 615.7 3.5
PD200_5 651.0 2.4
PD200_6 473.2 2.7
PD200_7 423.1 2.3

The Amplitude Spectral Density of the measured input noise is computed and shown in Figure fig:asd_noise_3uF_warmup.

The contribution of the PD200 noise is much larger than the contribution of the pre-amplifier noise of the quantization noise.

/tdehaeze/test-bench-pd200/media/commit/820f343169204a54bb5e9635c20120898f240a99/figs/asd_noise_3uF_warmup.png

Amplitude Spectral Density of the measured noise

DAC noise measurement

<<sec:noise_dac>>

In order not to have any quantization noise, we impose the DAC to output a zero voltage. The gain of the low noise amplifier is adjusted in order to have sufficient voltage going to the ADC.

The Amplitude Spectral Density $\Gamma_n(\omega)$ of the measured signal is computed. The Amplitude Spectral Density of $n_{da}$ can be computed taking into account the gain of the pre-amplifier:

\begin{equation} \Gamma_{n_{da}}(\omega) = \frac{\Gamma_m(\omega)}{|G_a(\omega)|} \end{equation}

And it is verify that the Amplitude Spectral Density of $n_{da}$ is much larger than the one of $n_a$:

\begin{equation} \Gamma_{n_{da}} \gg \Gamma_{n_a} \end{equation}
\begin{tikzpicture}
  \node[block={0.6cm}{0.6cm}] (const) {$0$};

  % DAC
  \node[DAC, right=0.6 of const] (DAC) {DAC};
  \node[addb, right=0.4 of DAC] (addnda){};

  % Pre Amp
  \node[addb, right=1.2 of addnda] (addna) {};
  \node[block, right=0.4 of addna] (Ga) {$G_a(s)$};

  % ADC
  \node[addb, right=1.2 of Ga] (addqad){};
  \node[ADC, right=0.4 of addqad] (ADC) {ADC};

  \draw[->] (const.east) -- node[sloped]{$/$} (DAC.west);
  \draw[->] (DAC.east) -- (addnda.west);
  \draw[->] (addnda.east) -- (addna.west);
  \draw[->] (addna.east) -- (Ga.west);
  \draw[->] (Ga.east) -- (addqad.west);
  \draw[->] (addqad.east) -- (ADC.west);
  \draw[->] (ADC.east) -- node[sloped]{$/$} ++(1.0, 0);

  \draw[<-] (addnda.north) -- ++(0, 0.6) node[below right](nda){$n_{da}$};
  \draw[<-] (addna.north) -- ++(0, 0.6) node[below right](na){$n_{a}$};
  \draw[<-] (addqad.north) -- ++(0, 0.6) node[below right](qad){$q_{ad}$};

  \coordinate[] (top) at (na.north);
  \coordinate[] (bot) at (Ga.south);

  % DAC
  \begin{scope}[on background layer]
    \node[fit={(DAC.west|-bot) (addnda.east|-top)}, inner sep=10pt, draw, dashed, fill=black!20!white] (P) {};
    \node[above] at (P.north) {DAC};
  \end{scope}

  % 5113
  \begin{scope}[on background layer]
    \node[fit={(addna.west|-bot) (Ga.east|-top)}, inner sep=10pt, draw, dashed, fill=black!20!white] (P) {};
    \node[above] at (P.north) {Pre Amp};
  \end{scope}

  % ADC
  \begin{scope}[on background layer]
    \node[fit={(addqad.west|-bot) (ADC.east|-top)}, inner sep=10pt, draw, dashed, fill=black!20!white] (P) {};
    \node[above] at (P.north) {ADC};
  \end{scope}
\end{tikzpicture}

/tdehaeze/test-bench-pd200/media/commit/820f343169204a54bb5e9635c20120898f240a99/figs/noise_measure_setup_dac.png

Sources of noise in the experimental setup

/tdehaeze/test-bench-pd200/media/commit/820f343169204a54bb5e9635c20120898f240a99/figs/asd_noise_dac.png

Total noise measurement

<<sec:noise_full_measurement>>

Let's now analyze the measurement of the setup in Figure fig:noise_meas_procedure_bis.

/tdehaeze/test-bench-pd200/media/commit/820f343169204a54bb5e9635c20120898f240a99/figs/noise_meas_procedure.png

Sources of noise in the experimental setup

The PSD of the measured noise is computed and the ASD is shown in Figure fig:asd_noise_tot.

win = hanning(ceil(0.5/Ts));

for i = 1:7
    [pxx, f] = pwelch(pd200dac{i}.Vn, win, [], [], Fs);
    pd200dac{i}.f = f;
    pd200dac{i}.pxx = pxx;
end

/tdehaeze/test-bench-pd200/media/commit/820f343169204a54bb5e9635c20120898f240a99/figs/asd_noise_tot.png

Amplitude Spectral Density of the measured noise and of the individual sources of noise

The output noise of the PD200 amplifier is limited by the noise of the DAC. Having a DAC with lower noise could lower the output noise of the PD200. SSI2V DACs will be used to verify that.

TODO 20bits DAC noise measurement

<<sec:noise_ssi2v>>

Let's now measure the noise of another DAC called the "SSI2V" (doc). It is a 20bits DAC with an output of +/-10.48 V and a very low output noise.

The measurement setup is the same as the one in Figure fig:noise_measure_setup_dac.

win = hanning(ceil(0.5/Ts));

[pxx, f] = pwelch(ssi2v.Vn, win, [], [], Fs);
ssi2v.pxx = pxx;
ssi2v.f = f;

The obtained noise of the SSI2V DAC is shown in Figure fig:asd_ssi2v_noise and compared with the noise of the 16bits DAC. It is shown to be much smaller (~1 order of magnitude).

/tdehaeze/test-bench-pd200/media/commit/820f343169204a54bb5e9635c20120898f240a99/figs/asd_ssi2v_noise.png

Amplitude Spectral Density of the SSI2V DAC's noise

Using the SSI2V as the DAC with the PD200 should give much better noise output than using the 16bits DAC. The limiting factor should then be the noise of the PD200 itself.

TODO PD200 Amplifier noise model

<<sec:pd200_noise_model>>

Let's design a transfer function whose norm represent the Amplitude Spectral Density of the input voltage noise of the PD200 amplifier.

Gn = 2.5e-5 * ((1 + s/2/pi/30)/(1 + s/2/pi/2))^2 /(1 + s/2/pi/5e3);

The comparison between the measured ASD of the modeled ASD is done in Figure

/tdehaeze/test-bench-pd200/media/commit/820f343169204a54bb5e9635c20120898f240a99/figs/pd200_asd_noise_model.png

ASD of the measured input voltage noise and modeled noise using $G_n(s)$

Let's now compute the Cumulative Amplitude Spectrum corresponding to the measurement and the model and compare them.

The integration from low to high frequency and from high to low frequency are both shown in Figure

/tdehaeze/test-bench-pd200/media/commit/820f343169204a54bb5e9635c20120898f240a99/figs/pd200_cas_noise_model.png

Cumulative Amplitude Spectrum of the measured input voltage noise and modeled noise using $G_n(s)$

The obtained RMS noise of the model is

ans = 1e6*20*sqrt(CPS_Gn(1))} {{{results(=650.77=)}}
uV RMS which is the same as advertise.

TODO Comparison to other commercial amplifiers

<<sec:comp_pi_cedrat>>

Transfer functions

Noise Characteristics

pd200.Vout = pd200.Vout/pd200.notes.pre_amp.gain;
la75.Vout  = la75.Vout/la75.notes.pre_amp.gain;
figure;
hold on;
plot(pd200.t, 1e3*pd200.Vout)
plot(la75.t, 1e3*la75.Vout)
hold off;
xlabel('Time [s]');
ylabel('Voltage [mV]');
% ylim([-3, 3]);

Conclusion

<<sec:conclusion>>

Characteristics Measurement Manual Specification
Input Voltage Range - +/- 10 [V] +/- 10 [V]
Output Voltage Range - -50/150 [V] -20/150 [V]
Gain 20 [V/V] -
Maximum RMS current 0.9 [A] > 50 [mA]
Maximum Pulse current 10 [A] -
Slew Rate 150 [V/us] -
Noise (10uF load) 0.7 [mV RMS] < 2 [mV rms]
Small Signal Bandwidth (10uF load) 7.4 [kHz] > 5 [kHz]
Large Signal Bandwidth (150V, 10uF) 300 [Hz] -