Analyze transfer function measurements

This commit is contained in:
Thomas Dehaeze 2021-01-23 15:38:31 +01:00
parent 8f70c1588e
commit 47773665f5
8 changed files with 247 additions and 304 deletions

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

BIN
figs/pd200_tf_voltage.pdf Normal file

Binary file not shown.

BIN
figs/pd200_tf_voltage.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

BIN
figs/tf_pd200_model.pdf Normal file

Binary file not shown.

BIN
figs/tf_pd200_model.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2021-01-22 ven. 23:44 -->
<!-- 2021-01-23 sam. 15:38 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Voltage Amplifier PD200 - Test Bench</title>
<meta name="generator" content="Org mode" />
@ -39,41 +39,36 @@
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org8f2862b">1. Introduction</a></li>
<li><a href="#org103c717">2. Voltage Amplifier Requirements</a></li>
<li><a href="#orgf22ce98">3. PD200 Expected characteristics</a></li>
<li><a href="#orge04c2d5">4. Voltage Amplifier Model</a></li>
<li><a href="#org5986efd">5. Noise measurement</a>
<li><a href="#orge14df81">1. Introduction</a></li>
<li><a href="#orgd794d0c">2. Voltage Amplifier Requirements</a></li>
<li><a href="#org79cd976">3. PD200 Expected characteristics</a></li>
<li><a href="#org3265b9b">4. Voltage Amplifier Model</a></li>
<li><a href="#orgf27cdb1">5. Noise measurement</a>
<ul>
<li><a href="#org1515801">5.1. Setup</a></li>
<li><a href="#orgf67652b">5.2. Model of the setup</a></li>
<li><a href="#org109d4fe">5.3. Quantization Noise</a></li>
<li><a href="#org3e7c8ba">5.4. Pre Amplifier noise measurement</a></li>
<li><a href="#orgdd4cdcb">5.5. PD200 noise measurement</a></li>
<li><a href="#org77f4d34">5.6. DAC noise measurement</a></li>
<li><a href="#orgb297da3">5.7. Total noise measurement</a></li>
<li><a href="#org41977eb">5.8. 20bits DAC noise measurement</a></li>
<li><a href="#orgaaa2a30">5.1. Setup</a></li>
<li><a href="#org959d7aa">5.2. Model of the setup</a></li>
<li><a href="#org8283055">5.3. Quantization Noise</a></li>
<li><a href="#orga8ab614">5.4. Pre Amplifier noise measurement</a></li>
<li><a href="#orge67a27a">5.5. PD200 noise measurement</a></li>
<li><a href="#orgc9e047f">5.6. DAC noise measurement</a></li>
<li><a href="#orgd156ba1">5.7. Total noise measurement</a></li>
<li><a href="#org802b093">5.8. 20bits DAC noise measurement</a></li>
</ul>
</li>
<li><a href="#org311b8b4">6. Transfer Function measurement</a>
<li><a href="#orga87a250">6. Transfer Function measurement</a>
<ul>
<li><a href="#org032d612">6.1. Setup</a></li>
<li><a href="#orgcaa9498">6.2. Maximum Frequency/Voltage to not overload the amplifier</a></li>
<li><a href="#org2323f70">6.3. Results</a>
<ul>
<li><a href="#orge73cc45">6.3.1. First test</a></li>
<li><a href="#orgeb520e4">6.3.2. Results</a></li>
<li><a href="#org2b82bca">6.1. Setup</a></li>
<li><a href="#orgdf952ce">6.2. Maximum Frequency/Voltage to not overload the amplifier</a></li>
<li><a href="#org05f8a88">6.3. Obtained Transfer Functions</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#orgad3a328">7. Conclusion</a></li>
<li><a href="#org5f03b6e">7. Conclusion</a></li>
</ul>
</div>
</div>
<div id="outline-container-org8f2862b" class="outline-2">
<h2 id="org8f2862b"><span class="section-number-2">1</span> Introduction</h2>
<div id="outline-container-orge14df81" class="outline-2">
<h2 id="orge14df81"><span class="section-number-2">1</span> Introduction</h2>
<div class="outline-text-2" id="text-1">
<p>
The goal of this test bench is to characterize the Voltage amplifier <a href="https://www.piezodrive.com/drivers/pd200-60-watt-voltage-amplifier/">PD200</a> from PiezoDrive.
@ -84,7 +79,7 @@ The documentation of the PD200 is accessible <a href="doc/PD200-V7-R1.pdf">here<
</p>
<div id="org7aea75d" class="figure">
<div id="orgea7d2e1" class="figure">
<p><img src="figs/amplifier_PD200.png" alt="amplifier_PD200.png" />
</p>
<p><span class="figure-number">Figure 1: </span>Picture of the PD200 Voltage Amplifier</p>
@ -92,10 +87,10 @@ The documentation of the PD200 is accessible <a href="doc/PD200-V7-R1.pdf">here<
</div>
</div>
<div id="outline-container-org103c717" class="outline-2">
<h2 id="org103c717"><span class="section-number-2">2</span> Voltage Amplifier Requirements</h2>
<div id="outline-container-orgd794d0c" class="outline-2">
<h2 id="orgd794d0c"><span class="section-number-2">2</span> Voltage Amplifier Requirements</h2>
<div class="outline-text-2" id="text-2">
<table id="orgf1fdf95" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgfc689c5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<caption class="t-above"><span class="table-number">Table 1:</span> Requirements for the Voltage Amplifier</caption>
<colgroup>
@ -139,10 +134,10 @@ The documentation of the PD200 is accessible <a href="doc/PD200-V7-R1.pdf">here<
</div>
</div>
<div id="outline-container-orgf22ce98" class="outline-2">
<h2 id="orgf22ce98"><span class="section-number-2">3</span> PD200 Expected characteristics</h2>
<div id="outline-container-org79cd976" class="outline-2">
<h2 id="org79cd976"><span class="section-number-2">3</span> PD200 Expected characteristics</h2>
<div class="outline-text-2" id="text-3">
<table id="org38f8e47" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org6e26b68" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<caption class="t-above"><span class="table-number">Table 2:</span> Characteristics of the PD200</caption>
<colgroup>
@ -217,18 +212,18 @@ The documentation of the PD200 is accessible <a href="doc/PD200-V7-R1.pdf">here<
</table>
<p>
For a load capacitance of \(10\,\mu F\), the expected \(-3\,dB\) bandwidth is \(6.4\,kHz\) (Figure <a href="#org2190892">2</a>) and the low frequency noise is \(650\,\mu V\,\text{rms}\) (Figure <a href="#orgeaff484">3</a>).
For a load capacitance of \(10\,\mu F\), the expected \(-3\,dB\) bandwidth is \(6.4\,kHz\) (Figure <a href="#orgaa88e71">2</a>) and the low frequency noise is \(650\,\mu V\,\text{rms}\) (Figure <a href="#orgdcb3bab">3</a>).
</p>
<div id="org2190892" class="figure">
<div id="orgaa88e71" class="figure">
<p><img src="./figs/pd200_expected_small_signal_bandwidth.png" alt="pd200_expected_small_signal_bandwidth.png" />
</p>
<p><span class="figure-number">Figure 2: </span>Expected small signal bandwidth</p>
</div>
<div id="orgeaff484" class="figure">
<div id="orgdcb3bab" class="figure">
<p><img src="figs/pd200_expected_noise.png" alt="pd200_expected_noise.png" />
</p>
<p><span class="figure-number">Figure 3: </span>Expected Low frequency noise from 0.03Hz to 20Hz</p>
@ -236,8 +231,8 @@ For a load capacitance of \(10\,\mu F\), the expected \(-3\,dB\) bandwidth is \(
</div>
</div>
<div id="outline-container-orge04c2d5" class="outline-2">
<h2 id="orge04c2d5"><span class="section-number-2">4</span> Voltage Amplifier Model</h2>
<div id="outline-container-org3265b9b" class="outline-2">
<h2 id="org3265b9b"><span class="section-number-2">4</span> Voltage Amplifier Model</h2>
<div class="outline-text-2" id="text-4">
<p>
The Amplifier is characterized by its dynamics \(G_a(s)\) from voltage inputs \(V_{in}\) to voltage output \(V_{out}\).
@ -258,7 +253,7 @@ As both \(G_a\) and \(S_n\) depends on the load capacitance, they should be meas
</p>
<div id="org5d4d3ab" class="figure">
<div id="orgbc3695d" class="figure">
<p><img src="figs/pd200-model-schematic.png" alt="pd200-model-schematic.png" />
</p>
<p><span class="figure-number">Figure 4: </span>Model of the voltage amplifier</p>
@ -266,29 +261,29 @@ As both \(G_a\) and \(S_n\) depends on the load capacitance, they should be meas
</div>
</div>
<div id="outline-container-org5986efd" class="outline-2">
<h2 id="org5986efd"><span class="section-number-2">5</span> Noise measurement</h2>
<div id="outline-container-orgf27cdb1" class="outline-2">
<h2 id="orgf27cdb1"><span class="section-number-2">5</span> Noise measurement</h2>
<div class="outline-text-2" id="text-5">
<ul class="org-ul">
<li>Section <a href="#org975f5ab">5.1</a></li>
<li>Section <a href="#org58a7c02">5.2</a></li>
<li>Section <a href="#orgd6eb89a">5.3</a></li>
<li>Section <a href="#orgd67c98a">5.4</a></li>
<li>Section <a href="#orge02d748">5.5</a></li>
<li>Section <a href="#org30c83b3">5.6</a></li>
<li>Section <a href="#org0d900c3">5.7</a></li>
<li>Section <a href="#org576bf2a">5.8</a></li>
<li>Section <a href="#org9d21c0d">5.1</a></li>
<li>Section <a href="#org6edf2e9">5.2</a></li>
<li>Section <a href="#org7b5a20a">5.3</a></li>
<li>Section <a href="#orge4eb592">5.4</a></li>
<li>Section <a href="#org8909c5d">5.5</a></li>
<li>Section <a href="#org7739514">5.6</a></li>
<li>Section <a href="#org1920758">5.7</a></li>
<li>Section <a href="#orgf336d8b">5.8</a></li>
</ul>
</div>
<div id="outline-container-org1515801" class="outline-3">
<h3 id="org1515801"><span class="section-number-3">5.1</span> Setup</h3>
<div id="outline-container-orgaaa2a30" class="outline-3">
<h3 id="orgaaa2a30"><span class="section-number-3">5.1</span> Setup</h3>
<div class="outline-text-3" id="text-5-1">
<p>
<a id="org975f5ab"></a>
<a id="org9d21c0d"></a>
</p>
<div class="note" id="org0370347">
<div class="note" id="org4394587">
<p>
Here are the documentation of the equipment used for this test bench:
</p>
@ -321,7 +316,7 @@ This gain should be around 1000.
</p>
<div id="org451a2c9" class="figure">
<div id="org7800d75" class="figure">
<p><img src="figs/setup-noise-measurement.png" alt="setup-noise-measurement.png" />
</p>
<p><span class="figure-number">Figure 5: </span>Schematic of the test bench to measure the Power Spectral Density of the Voltage amplifier noise \(n\)</p>
@ -334,15 +329,15 @@ An high pass filter at low frequency can be added if there is a problem of large
</div>
</div>
<div id="outline-container-orgf67652b" class="outline-3">
<h3 id="orgf67652b"><span class="section-number-3">5.2</span> Model of the setup</h3>
<div id="outline-container-org959d7aa" class="outline-3">
<h3 id="org959d7aa"><span class="section-number-3">5.2</span> Model of the setup</h3>
<div class="outline-text-3" id="text-5-2">
<p>
<a id="org58a7c02"></a>
<a id="org6edf2e9"></a>
</p>
<p>
As shown in Figure <a href="#org8801056">6</a>, there are 4 equipment involved in the measurement:
As shown in Figure <a href="#orgb873ca1">6</a>, there are 4 equipment involved in the measurement:
</p>
<ul class="org-ul">
<li>a Digital to Analog Convert (DAC)</li>
@ -363,7 +358,7 @@ Each of these equipment has some noise:
</ul>
<div id="org8801056" class="figure">
<div id="orgb873ca1" class="figure">
<p><img src="figs/noise_meas_procedure.png" alt="noise_meas_procedure.png" />
</p>
<p><span class="figure-number">Figure 6: </span>Sources of noise in the experimental setup</p>
@ -371,11 +366,11 @@ Each of these equipment has some noise:
</div>
</div>
<div id="outline-container-org109d4fe" class="outline-3">
<h3 id="org109d4fe"><span class="section-number-3">5.3</span> Quantization Noise</h3>
<div id="outline-container-org8283055" class="outline-3">
<h3 id="org8283055"><span class="section-number-3">5.3</span> Quantization Noise</h3>
<div class="outline-text-3" id="text-5-3">
<p>
<a id="orgd6eb89a"></a>
<a id="org7b5a20a"></a>
</p>
<p>
@ -410,11 +405,11 @@ The obtained Amplitude Spectral Density is <code>6.2294e-07</code> \(V/\sqrt{Hz}
</div>
</div>
<div id="outline-container-org3e7c8ba" class="outline-3">
<h3 id="org3e7c8ba"><span class="section-number-3">5.4</span> Pre Amplifier noise measurement</h3>
<div id="outline-container-orga8ab614" class="outline-3">
<h3 id="orga8ab614"><span class="section-number-3">5.4</span> Pre Amplifier noise measurement</h3>
<div class="outline-text-3" id="text-5-4">
<p>
<a id="orgd67c98a"></a>
<a id="orge4eb592"></a>
</p>
<p>
@ -436,7 +431,7 @@ This is true if the quantization noise \(\Gamma_{q_{ad}}\) is negligible.
</p>
<div id="org0e8db56" class="figure">
<div id="org5debea0" class="figure">
<p><img src="figs/noise_measure_setup_preamp.png" alt="noise_measure_setup_preamp.png" />
</p>
<p><span class="figure-number">Figure 7: </span>Sources of noise in the experimental setup</p>
@ -460,12 +455,12 @@ preamp.f = f;
</div>
<p>
The obtained Amplitude Spectral Density of the Low Noise Voltage Amplifier is shown in Figure <a href="#org2880354">8</a>.
The obtained Amplitude Spectral Density of the Low Noise Voltage Amplifier is shown in Figure <a href="#org865b855">8</a>.
The obtained noise amplitude is very closed to the one specified in the documentation of \(4nV/\sqrt{Hz}\) at 1kHZ.
</p>
<div id="org2880354" class="figure">
<div id="org865b855" class="figure">
<p><img src="figs/asd_preamp.png" alt="asd_preamp.png" />
</p>
<p><span class="figure-number">Figure 8: </span>Obtained Amplitude Spectral Density of the Low Noise Voltage Amplifier</p>
@ -473,11 +468,11 @@ The obtained noise amplitude is very closed to the one specified in the document
</div>
</div>
<div id="outline-container-orgdd4cdcb" class="outline-3">
<h3 id="orgdd4cdcb"><span class="section-number-3">5.5</span> PD200 noise measurement</h3>
<div id="outline-container-orge67a27a" class="outline-3">
<h3 id="orge67a27a"><span class="section-number-3">5.5</span> PD200 noise measurement</h3>
<div class="outline-text-3" id="text-5-5">
<p>
<a id="orge02d748"></a>
<a id="org8909c5d"></a>
</p>
<p>
@ -498,27 +493,27 @@ And we verify that this is indeed the noise of the PD200 and not the noise of th
\end{equation}
<div id="org5660b1a" class="figure">
<div id="orgcfcd12c" class="figure">
<p><img src="figs/noise_measure_setup_pd200.png" alt="noise_measure_setup_pd200.png" />
</p>
<p><span class="figure-number">Figure 9: </span>Sources of noise in the experimental setup</p>
</div>
<p>
The measured low frequency noise \(n_p\) of one of the amplifiers is shown in Figure <a href="#org99c1c8c">10</a>.
It is very similar to the one specified in the datasheet in Figure <a href="#orgeaff484">3</a>.
The measured low frequency noise \(n_p\) of one of the amplifiers is shown in Figure <a href="#orgb61b700">10</a>.
It is very similar to the one specified in the datasheet in Figure <a href="#orgdcb3bab">3</a>.
</p>
<div id="org99c1c8c" class="figure">
<div id="orgb61b700" class="figure">
<p><img src="figs/pd200_noise_time_lpf.png" alt="pd200_noise_time_lpf.png" />
</p>
<p><span class="figure-number">Figure 10: </span>Measured low frequency noise of the PD200 from 0.01Hz to 20Hz</p>
</div>
<p>
The obtained RMS and peak to peak values of the measured noises are shown in Table <a href="#org904c283">3</a>.
The obtained RMS and peak to peak values of the measured noises are shown in Table <a href="#orgf452b35">3</a>.
</p>
<table id="org904c283" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="orgf452b35" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<caption class="t-above"><span class="table-number">Table 3:</span> RMS and Peak to Peak measured low frequency noise (0.01Hz to 20Hz)</caption>
<colgroup>
@ -587,10 +582,10 @@ The obtained RMS and peak to peak values of the measured noises are shown in Tab
</table>
<p>
The Amplitude Spectral Density of the measured noise is now computed and shown in Figure <a href="#org7bcb803">11</a>.
The Amplitude Spectral Density of the measured noise is now computed and shown in Figure <a href="#orgf1636b6">11</a>.
</p>
<div id="org7bcb803" class="figure">
<div id="orgf1636b6" class="figure">
<p><img src="figs/asd_noise_3uF_warmup.png" alt="asd_noise_3uF_warmup.png" />
</p>
<p><span class="figure-number">Figure 11: </span>Amplitude Spectral Density of the measured noise</p>
@ -598,11 +593,11 @@ The Amplitude Spectral Density of the measured noise is now computed and shown i
</div>
</div>
<div id="outline-container-org77f4d34" class="outline-3">
<h3 id="org77f4d34"><span class="section-number-3">5.6</span> DAC noise measurement</h3>
<div id="outline-container-orgc9e047f" class="outline-3">
<h3 id="orgc9e047f"><span class="section-number-3">5.6</span> DAC noise measurement</h3>
<div class="outline-text-3" id="text-5-6">
<p>
<a id="org30c83b3"></a>
<a id="org7739514"></a>
</p>
<p>
@ -626,33 +621,33 @@ And it is verify that the Amplitude Spectral Density of \(n_{da}\) is much large
\end{equation}
<div id="org744e44a" class="figure">
<div id="org0f39f6d" class="figure">
<p><img src="figs/noise_measure_setup_dac.png" alt="noise_measure_setup_dac.png" />
</p>
<p><span class="figure-number">Figure 12: </span>Sources of noise in the experimental setup</p>
</div>
<div id="orgc0933a7" class="figure">
<div id="org531aca4" class="figure">
<p><img src="figs/asd_noise_dac.png" alt="asd_noise_dac.png" />
</p>
</div>
</div>
</div>
<div id="outline-container-orgb297da3" class="outline-3">
<h3 id="orgb297da3"><span class="section-number-3">5.7</span> Total noise measurement</h3>
<div id="outline-container-orgd156ba1" class="outline-3">
<h3 id="orgd156ba1"><span class="section-number-3">5.7</span> Total noise measurement</h3>
<div class="outline-text-3" id="text-5-7">
<p>
<a id="org0d900c3"></a>
<a id="org1920758"></a>
</p>
<p>
Let&rsquo;s now analyze the measurement of the setup in Figure <a href="#org8801056">6</a>.
Let&rsquo;s now analyze the measurement of the setup in Figure <a href="#orgb873ca1">6</a>.
</p>
<p>
The PSD of the measured noise is computed and the ASD is shown in Figure <a href="#org929789a">14</a>.
The PSD of the measured noise is computed and the ASD is shown in Figure <a href="#orge63d88b">14</a>.
</p>
<div class="org-src-container">
<pre class="src src-matlab">win = hanning(ceil(0.5<span class="org-type">/</span>Ts));
@ -666,13 +661,13 @@ The PSD of the measured noise is computed and the ASD is shown in Figure <a href
</div>
<div id="org929789a" class="figure">
<div id="orge63d88b" class="figure">
<p><img src="figs/asd_noise_tot.png" alt="asd_noise_tot.png" />
</p>
<p><span class="figure-number">Figure 14: </span>Amplitude Spectral Density of the measured noise and of the individual sources of noise</p>
</div>
<div class="important" id="org623c3d1">
<div class="important" id="orge883835">
<p>
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.
@ -683,17 +678,17 @@ SSI2V DACs will be used to verify that.
</div>
</div>
<div id="outline-container-org41977eb" class="outline-3">
<h3 id="org41977eb"><span class="section-number-3">5.8</span> 20bits DAC noise measurement</h3>
<div id="outline-container-org802b093" class="outline-3">
<h3 id="org802b093"><span class="section-number-3">5.8</span> 20bits DAC noise measurement</h3>
<div class="outline-text-3" id="text-5-8">
<p>
<a id="org576bf2a"></a>
<a id="orgf336d8b"></a>
Let&rsquo;s now measure the noise of another DAC called the &ldquo;SSI2V&rdquo; (<a href="doc/[SSI2V]Datasheet.pdf">doc</a>).
It is a 20bits DAC with an output of +/-10.48 V and a very low noise.
</p>
<p>
The measurement setup is the same as the one in Figure <a href="#org744e44a">12</a>.
The measurement setup is the same as the one in Figure <a href="#org0f39f6d">12</a>.
</p>
<div class="org-src-container">
@ -706,18 +701,18 @@ ssi2v.f = f;
</div>
<p>
The obtained noise of the SSI2V DAC is shown in Figure <a href="#orgd5ecb95">15</a> and compared with the noise of the 16bits DAC.
The obtained noise of the SSI2V DAC is shown in Figure <a href="#orge2b8a18">15</a> and compared with the noise of the 16bits DAC.
It is shown to be much smaller (~1 order of magnitude).
</p>
<div id="orgd5ecb95" class="figure">
<div id="orge2b8a18" class="figure">
<p><img src="figs/asd_ssi2v_noise.png" alt="asd_ssi2v_noise.png" />
</p>
<p><span class="figure-number">Figure 15: </span>Amplitude Spectral Density of the SSI2V DAC&rsquo;s noise</p>
</div>
<div class="important" id="org3ec30db">
<div class="important" id="org665f8e4">
<p>
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.
@ -728,18 +723,18 @@ The limiting factor should then be the noise of the PD200 itself.
</div>
</div>
<div id="outline-container-org311b8b4" class="outline-2">
<h2 id="org311b8b4"><span class="section-number-2">6</span> Transfer Function measurement</h2>
<div id="outline-container-orga87a250" class="outline-2">
<h2 id="orga87a250"><span class="section-number-2">6</span> Transfer Function measurement</h2>
<div class="outline-text-2" id="text-6">
</div>
<div id="outline-container-org032d612" class="outline-3">
<h3 id="org032d612"><span class="section-number-3">6.1</span> Setup</h3>
<div id="outline-container-org2b82bca" class="outline-3">
<h3 id="org2b82bca"><span class="section-number-3">6.1</span> Setup</h3>
<div class="outline-text-3" id="text-6-1">
<p>
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 <a href="#orga5c58e5">16</a> is used.
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 <a href="#org45f7f26">16</a> is used.
</p>
<div class="note" id="org44386ba">
<div class="note" id="orgaa21e8d">
<p>
Here are the documentation of the equipment used for this test bench:
</p>
@ -756,7 +751,7 @@ For this measurement, the sampling frequency of the Speedgoat ADC should be as h
</p>
<div id="orga5c58e5" class="figure">
<div id="org45f7f26" class="figure">
<p><img src="figs/setup-dynamics-measurement.png" alt="setup-dynamics-measurement.png" />
</p>
<p><span class="figure-number">Figure 16: </span>Schematic of the test bench to estimate the dynamics from voltage input \(V_{in}\) to voltage output \(V_{out}\)</p>
@ -764,8 +759,8 @@ For this measurement, the sampling frequency of the Speedgoat ADC should be as h
</div>
</div>
<div id="outline-container-orgcaa9498" class="outline-3">
<h3 id="orgcaa9498"><span class="section-number-3">6.2</span> Maximum Frequency/Voltage to not overload the amplifier</h3>
<div id="outline-container-orgdf952ce" class="outline-3">
<h3 id="orgdf952ce"><span class="section-number-3">6.2</span> Maximum Frequency/Voltage to not overload the amplifier</h3>
<div class="outline-text-3" id="text-6-2">
<p>
The maximum current is 1A [rms] which corresponds to 0.7A in amplitude of the sin wave.
@ -777,145 +772,79 @@ The impedance of the capacitance is:
</p>
<p>
Therefore the relation between the output current and the output voltage is (in amplitude):
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} \]
</p>
<p>
There is a gain of 20 between the input voltage and the output voltage:
Moreover, there is a gain of 20 between the input voltage and the output voltage:
\[ 20 V_{in} = \frac{1}{C\omega} I_{out} \]
</p>
<p>
For a specified voltage input amplitude \(V_{in}\), the maximum frequency is then:
For a specified voltage input amplitude \(V_{in}\), the maximum frequency at which the output current reaches its maximum value is:
\[ \omega_{\text{max}} = \frac{1}{20 C V_{in}} I_{out,\text{max}} \]
</p>
<div class="org-src-container">
<pre class="src src-matlab">Iout_max = 0.57; <span class="org-comment">% Maximum output current [A]</span>
C = 2.7e<span class="org-type">-</span>6; <span class="org-comment">% Load Capacitance [F]</span>
<p>
\(\omega_max\) as a function of \(V_{in}\) is shown in Figure <a href="#orga03c37f">17</a>.
</p>
V_in = linspace(0, 5, 100); <span class="org-comment">% Input Voltage [V]</span>
w_max = 1<span class="org-type">./</span>(20<span class="org-type">*</span>C<span class="org-type">*</span>V_in) <span class="org-type">*</span> Iout_max; <span class="org-comment">% [rad/s]</span>
<span class="org-type">figure</span>;
plot(V_in, w_max<span class="org-type">/</span>2<span class="org-type">/</span><span class="org-constant">pi</span>);
xlabel(<span class="org-string">'Input Voltage Amplitude [V]'</span>);
ylabel(<span class="org-string">'Maximum Frequency [Hz]'</span>);
<span class="org-type">set</span>(<span class="org-variable-name">gca</span>, <span class="org-string">'yscale'</span>, <span class="org-string">'log'</span>);
</pre>
<div id="orga03c37f" class="figure">
<p><img src="figs/max_frequency_voltage.png" alt="max_frequency_voltage.png" />
</p>
<p><span class="figure-number">Figure 17: </span>Maximum frequency as a function of the excitation voltage amplitude</p>
</div>
</div>
</div>
<div id="outline-container-org2323f70" class="outline-3">
<h3 id="org2323f70"><span class="section-number-3">6.3</span> Results</h3>
<div id="outline-container-org05f8a88" class="outline-3">
<h3 id="org05f8a88"><span class="section-number-3">6.3</span> Obtained Transfer Functions</h3>
<div class="outline-text-3" id="text-6-3">
<p>
Several identifications using sweep sin were performed with input voltage amplitude ranging from 0.1V to 4V.
</p>
<p>
The obtained frequency response functions are shown in Figure <a href="#org16bc426">18</a>.
As the input voltage increases, the voltage drop is increasing.
</p>
<div id="org16bc426" class="figure">
<p><img src="figs/pd200_tf_voltage.png" alt="pd200_tf_voltage.png" />
</p>
<p><span class="figure-number">Figure 18: </span>Transfer function for the PD200 amplitude between \(V_{in}\) and \(V_{out}\) for multiple voltage amplitudes</p>
</div>
<div id="outline-container-orge73cc45" class="outline-4">
<h4 id="orge73cc45"><span class="section-number-4">6.3.1</span> First test</h4>
<div class="outline-text-4" id="text-6-3-1">
<p>
The small signal transfer function of the amplifier can be approximated by a first order low pass filter.
</p>
<div class="org-src-container">
<pre class="src src-matlab">pd200_1V_1 = load(<span class="org-string">'mat/tf_pd200_7_1V.mat'</span>, <span class="org-string">'t'</span>, <span class="org-string">'Vin'</span>, <span class="org-string">'Vout'</span>, <span class="org-string">'Iout'</span>);
<pre class="src src-matlab">Gp = 19.95<span class="org-type">/</span>(1 <span class="org-type">+</span> s<span class="org-type">/</span>2<span class="org-type">/</span><span class="org-constant">pi</span><span class="org-type">/</span>35e3);
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab">Ts = (pd200_1V_1.t(end) <span class="org-type">-</span> pd200_1V_1.t(1))<span class="org-type">/</span>(length(pd200_1V_1.t)<span class="org-type">-</span>1);
Fs = 1<span class="org-type">/</span>Ts;
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab">win = hanning(ceil(1<span class="org-type">*</span>Fs));
[tf_1, f] = tfestimate(pd200_1V_1.Vin, pd200_1V_1.Vout, win, [], [], 1<span class="org-type">/</span>Ts);
</pre>
</div>
</div>
</div>
<div id="outline-container-orgeb520e4" class="outline-4">
<h4 id="orgeb520e4"><span class="section-number-4">6.3.2</span> Results</h4>
<div class="outline-text-4" id="text-6-3-2">
<div class="org-src-container">
<pre class="src src-matlab">Ts = (pd200{1}.t(end) <span class="org-type">-</span> pd200{1}.t(1))<span class="org-type">/</span>(length(pd200{1}.t)<span class="org-type">-</span>1);
Fs = 1<span class="org-type">/</span>Ts;
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab">win = hanning(ceil(0.5<span class="org-type">*</span>Fs));
<span class="org-keyword">for</span> <span class="org-variable-name"><span class="org-constant">i</span></span> = <span class="org-constant">1:length(pd200)</span>
[tf_est, f] = tfestimate(pd200{<span class="org-constant">i</span>}.Vin, 20<span class="org-type">*</span>pd200{<span class="org-constant">i</span>}.Vout, win, [], [], 1<span class="org-type">/</span>Ts);
pd200{<span class="org-constant">i</span>}.tf = tf_est(f <span class="org-type">&lt;</span> 0.99<span class="org-type">*</span>pd200{<span class="org-constant">i</span>}.notes.pd200.f_max);
pd200{<span class="org-constant">i</span>}.f = f(f <span class="org-type">&lt;</span> 0.99<span class="org-type">*</span>pd200{<span class="org-constant">i</span>}.notes.pd200.f_max);
<span class="org-keyword">end</span>
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab">f_max = zeros(1, length(pd200));
Vin_ampl = zeros(1, length(pd200));
<span class="org-keyword">for</span> <span class="org-variable-name"><span class="org-constant">i</span></span> = <span class="org-constant">1:length(pd200)</span>
f_max(<span class="org-constant">i</span>) = pd200{<span class="org-constant">i</span>}.notes.pd200.f_max;
Vin_ampl(<span class="org-constant">i</span>) = pd200{<span class="org-constant">i</span>}.notes.pd200.Vin;
<span class="org-keyword">end</span>
</pre>
</div>
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<p>
The comparison from the model and measurements are shown in Figure <a href="#org1ae50fe">19</a>.
</p>
<colgroup>
<col class="org-right" />
<col class="org-right" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-right">Vin</th>
<th scope="col" class="org-right">Fmax</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-right">0.1</td>
<td class="org-right">5000.0</td>
</tr>
<tr>
<td class="org-right">0.5</td>
<td class="org-right">3801.3</td>
</tr>
<tr>
<td class="org-right">1.0</td>
<td class="org-right">1900.7</td>
</tr>
<tr>
<td class="org-right">2.0</td>
<td class="org-right">950.3</td>
</tr>
<tr>
<td class="org-right">4.0</td>
<td class="org-right">475.2</td>
</tr>
</tbody>
</table>
<div id="org1ae50fe" class="figure">
<p><img src="figs/tf_pd200_model.png" alt="tf_pd200_model.png" />
</p>
<p><span class="figure-number">Figure 19: </span>Comparison of the model transfer function and the measured frequency response function</p>
</div>
</div>
</div>
</div>
<div id="outline-container-orgad3a328" class="outline-2">
<h2 id="orgad3a328"><span class="section-number-2">7</span> Conclusion</h2>
<div id="outline-container-org5f03b6e" class="outline-2">
<h2 id="org5f03b6e"><span class="section-number-2">7</span> Conclusion</h2>
<div class="outline-text-2" id="text-7">
<table id="org4bb2717" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<table id="org039c233" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<caption class="t-above"><span class="table-number">Table 4:</span> Measured characteristics, Manual characterstics and specified ones</caption>
<colgroup>
@ -1005,7 +934,7 @@ Vin_ampl = zeros(1, length(pd200));
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2021-01-22 ven. 23:44</p>
<p class="date">Created: 2021-01-23 sam. 15:38</p>
</div>
</body>
</html>

190
index.org
View File

@ -1397,39 +1397,7 @@ For this measurement, the sampling frequency of the Speedgoat ADC should be as h
#+caption: Schematic of the test bench to estimate the dynamics from voltage input $V_{in}$ to voltage output $V_{out}$
[[file:figs/setup-dynamics-measurement.png]]
** Maximum Frequency/Voltage to not overload the amplifier
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 and the output voltage is (in amplitude):
\[ V_{out} = \frac{1}{C\omega} I_{out} \]
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 is then:
\[ \omega_{\text{max}} = \frac{1}{20 C V_{in}} I_{out,\text{max}} \]
#+begin_src matlab
Iout_max = 0.57; % Maximum output current [A]
C = 2.7e-6; % Load Capacitance [F]
V_in = linspace(0, 5, 100); % Input Voltage [V]
w_max = 1./(20*C*V_in) * Iout_max; % [rad/s]
figure;
plot(V_in, w_max/2/pi);
xlabel('Input Voltage Amplitude [V]');
ylabel('Maximum Frequency [Hz]');
set(gca, 'yscale', 'log');
#+end_src
** Results
*** Matlab Init :noexport:ignore:
** Matlab Init :noexport:ignore:
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
<<matlab-dir>>
#+end_src
@ -1447,49 +1415,51 @@ addpath('./matlab/');
addpath('./mat/');
#+end_src
*** First test
#+begin_src matlab
pd200_1V_1 = load('mat/tf_pd200_7_1V.mat', 't', 'Vin', 'Vout', 'Iout');
#+end_src
** Maximum Frequency/Voltage to not overload the amplifier
#+begin_src matlab
Ts = (pd200_1V_1.t(end) - pd200_1V_1.t(1))/(length(pd200_1V_1.t)-1);
Fs = 1/Ts;
#+end_src
The maximum current is 1A [rms] which corresponds to 0.7A in amplitude of the sin wave.
#+begin_src matlab
win = hanning(ceil(1*Fs));
The impedance of the capacitance is:
\[ Z_C(\omega) = \frac{1}{jC\omega} \]
[tf_1, f] = tfestimate(pd200_1V_1.Vin, pd200_1V_1.Vout, win, [], [], 1/Ts);
#+end_src
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:
\[ \omega_{\text{max}} = \frac{1}{20 C V_{in}} I_{out,\text{max}} \]
$\omega_max$ as a function of $V_{in}$ is shown in Figure [[fig:max_frequency_voltage]].
#+begin_src matlab :exports none
Iout_max = 0.57; % Maximum output current [A]
C = 2.7e-6; % Load Capacitance [F]
V_in = linspace(0, 5, 100); % Input Voltage [V]
w_max = 1./(20*C*V_in) * Iout_max; % [rad/s]
figure;
tiledlayout(3, 1, 'TileSpacing', 'None', 'Padding', 'None');
ax1 = nexttile([2,1]);
hold on;
plot(f, abs(tf_1));
hold off;
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
ylabel('Amplitude $V_{out}/V_{in}$ [V/V]'); set(gca, 'XTickLabel',[]);
hold off;
ylim([1e-1, 1e1]);
ax2 = nexttile;
hold on;
plot(f, 180/pi*angle(tf_1));
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin');
yticks(-360:15:360);
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
hold off;
ylim([-45, 15]);
linkaxes([ax1,ax2],'x');
xlim([1, 2e3]);
plot(V_in, w_max/2/pi);
xlabel('Input Voltage Amplitude [V]');
ylabel('Maximum Frequency [Hz]');
set(gca, 'yscale', 'log');
#+end_src
*** Results
#+begin_src matlab :tangle no :exports results :results file replace
exportFig('figs/max_frequency_voltage.pdf', 'width', 'wide', 'height', 'normal');
#+end_src
#+name: fig:max_frequency_voltage
#+caption: Maximum frequency as a function of the excitation voltage amplitude
#+RESULTS:
[[file:figs/max_frequency_voltage.png]]
** Obtained Transfer Functions
Several identifications using sweep sin were performed with input voltage amplitude ranging from 0.1V to 4V.
#+begin_src matlab :exports none
%% Load all the measurements
Vin_ampl = {'0_1', '0_5', '1', '2', '4'};
@ -1500,14 +1470,17 @@ for i = 1:length(Vin_ampl)
end
#+end_src
#+begin_src matlab
#+begin_src matlab :exports none
% Compute sampling Frequency
Ts = (pd200{1}.t(end) - pd200{1}.t(1))/(length(pd200{1}.t)-1);
Fs = 1/Ts;
#+end_src
#+begin_src matlab
#+begin_src matlab :exports none
% Hannning Windows
win = hanning(ceil(0.5*Fs));
% Compute all the transfer functions
for i = 1:length(pd200)
[tf_est, f] = tfestimate(pd200{i}.Vin, 20*pd200{i}.Vout, win, [], [], 1/Ts);
pd200{i}.tf = tf_est(f < 0.99*pd200{i}.notes.pd200.f_max);
@ -1515,6 +1488,9 @@ for i = 1:length(pd200)
end
#+end_src
The obtained frequency response functions are shown in Figure [[fig:pd200_tf_voltage]].
As the input voltage increases, the voltage drop is increasing.
#+begin_src matlab :exports none
figure;
tiledlayout(2, 1, 'TileSpacing', 'None', 'Padding', 'None');
@ -1546,27 +1522,65 @@ linkaxes([ax1,ax2],'x');
xlim([10, 5e3]);
#+end_src
#+begin_src matlab
f_max = zeros(1, length(pd200));
Vin_ampl = zeros(1, length(pd200));
for i = 1:length(pd200)
f_max(i) = pd200{i}.notes.pd200.f_max;
Vin_ampl(i) = pd200{i}.notes.pd200.Vin;
end
#+end_src
#+begin_src matlab :exports results :results value table replace :tangle no :post addhdr(*this*)
data2orgtable([Vin_ampl; f_max]', {}, {'Vin', 'Fmax'}, ' %.1f ');
#+begin_src matlab :tangle no :exports results :results file replace
exportFig('figs/pd200_tf_voltage.pdf', 'width', 'wide', 'height', 'tall');
#+end_src
#+name: fig:pd200_tf_voltage
#+caption: Transfer function for the PD200 amplitude between $V_{in}$ and $V_{out}$ for multiple voltage amplitudes
#+RESULTS:
| Vin | Fmax |
|-----+--------|
| 0.1 | 5000.0 |
| 0.5 | 3801.3 |
| 1.0 | 1900.7 |
| 2.0 | 950.3 |
| 4.0 | 475.2 |
[[file:figs/pd200_tf_voltage.png]]
The small signal transfer function of the amplifier can be approximated by a first order low pass filter.
#+begin_src matlab
Gp = 19.95/(1 + s/2/pi/35e3);
#+end_src
The comparison from the model and measurements are shown in Figure [[fig:tf_pd200_model]].
#+begin_src matlab :exports none
freqs = logspace(1, 4, 1000);
figure;
tiledlayout(2, 1, 'TileSpacing', 'None', 'Padding', 'None');
ax1 = nexttile;
hold on;
for i = 1:length(pd200)
plot(pd200{i}.f, abs(pd200{i}.tf))
end
plot(freqs, abs(squeeze(freqresp(Gp, freqs, 'Hz'))), 'k--');
hold off;
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
ylabel('Amplitude $V_{out}/V_{in}$ [V/V]'); set(gca, 'XTickLabel',[]);
hold off;
ylim([19, 21]);
ax2 = nexttile;
hold on;
for i = 1:length(pd200)
plot(pd200{i}.f, 180/pi*angle(pd200{i}.tf), 'DisplayName', sprintf('$V_{in} = %.1f [V]$', pd200{i}.notes.pd200.Vin))
end
plot(freqs, 180/pi*angle(squeeze(freqresp(Gp, freqs, 'Hz'))), 'k--', 'DisplayName', '$G_p(j\omega)$');
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin');
yticks(-5:1:5);
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
hold off;
ylim([-3, 1]);
legend('location', 'southwest');
linkaxes([ax1,ax2],'x');
xlim([10, 1e3]);
#+end_src
#+begin_src matlab :tangle no :exports results :results file replace
exportFig('figs/tf_pd200_model.pdf', 'width', 'wide', 'height', 'tall');
#+end_src
#+name: fig:tf_pd200_model
#+caption: Comparison of the model transfer function and the measured frequency response function
#+RESULTS:
[[file:figs/tf_pd200_model.png]]
* Conclusion