nass-micro-station-measurem.../slip-ring-noise-turning/index.html

1071 lines
57 KiB
HTML

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2019-05-16 jeu. 13:34 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Measurements On the Slip-Ring</title>
<meta name="generator" content="Org mode" />
<meta name="author" content="Dehaeze Thomas" />
<style type="text/css">
<!--/*--><![CDATA[/*><!--*/
.title { text-align: center;
margin-bottom: .2em; }
.subtitle { text-align: center;
font-size: medium;
font-weight: bold;
margin-top:0; }
.todo { font-family: monospace; color: red; }
.done { font-family: monospace; color: green; }
.priority { font-family: monospace; color: orange; }
.tag { background-color: #eee; font-family: monospace;
padding: 2px; font-size: 80%; font-weight: normal; }
.timestamp { color: #bebebe; }
.timestamp-kwd { color: #5f9ea0; }
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
.underline { text-decoration: underline; }
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
p.verse { margin-left: 3%; }
pre {
border: 1px solid #ccc;
box-shadow: 3px 3px 3px #eee;
padding: 8pt;
font-family: monospace;
overflow: auto;
margin: 1.2em;
}
pre.src {
position: relative;
overflow: visible;
padding-top: 1.2em;
}
pre.src:before {
display: none;
position: absolute;
background-color: white;
top: -10px;
right: 10px;
padding: 3px;
border: 1px solid black;
}
pre.src:hover:before { display: inline;}
/* Languages per Org manual */
pre.src-asymptote:before { content: 'Asymptote'; }
pre.src-awk:before { content: 'Awk'; }
pre.src-C:before { content: 'C'; }
/* pre.src-C++ doesn't work in CSS */
pre.src-clojure:before { content: 'Clojure'; }
pre.src-css:before { content: 'CSS'; }
pre.src-D:before { content: 'D'; }
pre.src-ditaa:before { content: 'ditaa'; }
pre.src-dot:before { content: 'Graphviz'; }
pre.src-calc:before { content: 'Emacs Calc'; }
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
pre.src-fortran:before { content: 'Fortran'; }
pre.src-gnuplot:before { content: 'gnuplot'; }
pre.src-haskell:before { content: 'Haskell'; }
pre.src-hledger:before { content: 'hledger'; }
pre.src-java:before { content: 'Java'; }
pre.src-js:before { content: 'Javascript'; }
pre.src-latex:before { content: 'LaTeX'; }
pre.src-ledger:before { content: 'Ledger'; }
pre.src-lisp:before { content: 'Lisp'; }
pre.src-lilypond:before { content: 'Lilypond'; }
pre.src-lua:before { content: 'Lua'; }
pre.src-matlab:before { content: 'MATLAB'; }
pre.src-mscgen:before { content: 'Mscgen'; }
pre.src-ocaml:before { content: 'Objective Caml'; }
pre.src-octave:before { content: 'Octave'; }
pre.src-org:before { content: 'Org mode'; }
pre.src-oz:before { content: 'OZ'; }
pre.src-plantuml:before { content: 'Plantuml'; }
pre.src-processing:before { content: 'Processing.js'; }
pre.src-python:before { content: 'Python'; }
pre.src-R:before { content: 'R'; }
pre.src-ruby:before { content: 'Ruby'; }
pre.src-sass:before { content: 'Sass'; }
pre.src-scheme:before { content: 'Scheme'; }
pre.src-screen:before { content: 'Gnu Screen'; }
pre.src-sed:before { content: 'Sed'; }
pre.src-sh:before { content: 'shell'; }
pre.src-sql:before { content: 'SQL'; }
pre.src-sqlite:before { content: 'SQLite'; }
/* additional languages in org.el's org-babel-load-languages alist */
pre.src-forth:before { content: 'Forth'; }
pre.src-io:before { content: 'IO'; }
pre.src-J:before { content: 'J'; }
pre.src-makefile:before { content: 'Makefile'; }
pre.src-maxima:before { content: 'Maxima'; }
pre.src-perl:before { content: 'Perl'; }
pre.src-picolisp:before { content: 'Pico Lisp'; }
pre.src-scala:before { content: 'Scala'; }
pre.src-shell:before { content: 'Shell Script'; }
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
/* additional language identifiers per "defun org-babel-execute"
in ob-*.el */
pre.src-cpp:before { content: 'C++'; }
pre.src-abc:before { content: 'ABC'; }
pre.src-coq:before { content: 'Coq'; }
pre.src-groovy:before { content: 'Groovy'; }
/* additional language identifiers from org-babel-shell-names in
ob-shell.el: ob-shell is the only babel language using a lambda to put
the execution function name together. */
pre.src-bash:before { content: 'bash'; }
pre.src-csh:before { content: 'csh'; }
pre.src-ash:before { content: 'ash'; }
pre.src-dash:before { content: 'dash'; }
pre.src-ksh:before { content: 'ksh'; }
pre.src-mksh:before { content: 'mksh'; }
pre.src-posh:before { content: 'posh'; }
/* Additional Emacs modes also supported by the LaTeX listings package */
pre.src-ada:before { content: 'Ada'; }
pre.src-asm:before { content: 'Assembler'; }
pre.src-caml:before { content: 'Caml'; }
pre.src-delphi:before { content: 'Delphi'; }
pre.src-html:before { content: 'HTML'; }
pre.src-idl:before { content: 'IDL'; }
pre.src-mercury:before { content: 'Mercury'; }
pre.src-metapost:before { content: 'MetaPost'; }
pre.src-modula-2:before { content: 'Modula-2'; }
pre.src-pascal:before { content: 'Pascal'; }
pre.src-ps:before { content: 'PostScript'; }
pre.src-prolog:before { content: 'Prolog'; }
pre.src-simula:before { content: 'Simula'; }
pre.src-tcl:before { content: 'tcl'; }
pre.src-tex:before { content: 'TeX'; }
pre.src-plain-tex:before { content: 'Plain TeX'; }
pre.src-verilog:before { content: 'Verilog'; }
pre.src-vhdl:before { content: 'VHDL'; }
pre.src-xml:before { content: 'XML'; }
pre.src-nxml:before { content: 'XML'; }
/* add a generic configuration mode; LaTeX export needs an additional
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
pre.src-conf:before { content: 'Configuration File'; }
table { border-collapse:collapse; }
caption.t-above { caption-side: top; }
caption.t-bottom { caption-side: bottom; }
td, th { vertical-align:top; }
th.org-right { text-align: center; }
th.org-left { text-align: center; }
th.org-center { text-align: center; }
td.org-right { text-align: right; }
td.org-left { text-align: left; }
td.org-center { text-align: center; }
dt { font-weight: bold; }
.footpara { display: inline; }
.footdef { margin-bottom: 1em; }
.figure { padding: 1em; }
.figure p { text-align: center; }
.equation-container {
display: table;
text-align: center;
width: 100%;
}
.equation {
vertical-align: middle;
}
.equation-label {
display: table-cell;
text-align: right;
vertical-align: middle;
}
.inlinetask {
padding: 10px;
border: 2px solid gray;
margin: 10px;
background: #ffffcc;
}
#org-div-home-and-up
{ text-align: right; font-size: 70%; white-space: nowrap; }
textarea { overflow-x: auto; }
.linenr { font-size: smaller }
.code-highlighted { background-color: #ffff00; }
.org-info-js_info-navigation { border-style: none; }
#org-info-js_console-label
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
.org-info-js_search-highlight
{ background-color: #ffff00; color: #000000; font-weight: bold; }
.org-svg { width: 90%; }
/*]]>*/-->
</style>
<link rel="stylesheet" type="text/css" href="../css/htmlize.css"/>
<link rel="stylesheet" type="text/css" href="../css/readtheorg.css"/>
<link rel="stylesheet" type="text/css" href="../css/zenburn.css"/>
<script type="text/javascript" src="../js/jquery.min.js"></script>
<script type="text/javascript" src="../js/bootstrap.min.js"></script>
<script type="text/javascript" src="../js/jquery.stickytableheaders.min.js"></script>
<script type="text/javascript" src="../js/readtheorg.js"></script>
<script type="text/javascript">
/*
@licstart The following is the entire license notice for the
JavaScript code in this tag.
Copyright (C) 2012-2019 Free Software Foundation, Inc.
The JavaScript code in this tag is free software: you can
redistribute it and/or modify it under the terms of the GNU
General Public License (GNU GPL) as published by the Free Software
Foundation, either version 3 of the License, or (at your option)
any later version. The code is distributed WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
As additional permission under GNU GPL version 3 section 7, you
may distribute non-source (e.g., minimized or compacted) forms of
that code without the copy of the GNU GPL normally required by
section 4, provided you include this license notice and a URL
through which recipients can access the Corresponding Source.
@licend The above is the entire license notice
for the JavaScript code in this tag.
*/
<!--/*--><![CDATA[/*><!--*/
function CodeHighlightOn(elem, id)
{
var target = document.getElementById(id);
if(null != target) {
elem.cacheClassElem = elem.className;
elem.cacheClassTarget = target.className;
target.className = "code-highlighted";
elem.className = "code-highlighted";
}
}
function CodeHighlightOff(elem, id)
{
var target = document.getElementById(id);
if(elem.cacheClassElem)
elem.className = elem.cacheClassElem;
if(elem.cacheClassTarget)
target.className = elem.cacheClassTarget;
}
/*]]>*///-->
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
displayAlign: "center",
displayIndent: "0em",
"HTML-CSS": { scale: 100,
linebreaks: { automatic: "false" },
webFont: "TeX"
},
SVG: {scale: 100,
linebreaks: { automatic: "false" },
font: "TeX"},
NativeMML: {scale: 100},
TeX: { equationNumbers: {autoNumber: "AMS"},
MultLineWidth: "85%",
TagSide: "right",
TagIndent: ".8em"
}
});
</script>
<script type="text/javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS_HTML"></script>
</head>
<body>
<div id="org-div-home-and-up">
<a accesskey="h" href="../index.html"> UP </a>
|
<a accesskey="H" href="../index.html"> HOME </a>
</div><div id="content">
<h1 class="title">Measurements On the Slip-Ring</h1>
<div id="table-of-contents">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#orgc988f31">1. Effect of the rotation of the Slip-Ring - Noise</a>
<ul>
<li><a href="#org9c881d4">1.1. Measurement Description</a></li>
<li><a href="#org9671811">1.2. Load data</a></li>
<li><a href="#orgf569f1a">1.3. Analysis</a></li>
<li><a href="#orgf938632">1.4. Conclusion</a></li>
</ul>
</li>
<li><a href="#org038eeb5">2. Measure of the noise induced by the Slip-Ring using voltage amplifiers - Noise</a>
<ul>
<li><a href="#orgfecfa5c">2.1. Measurement Description</a></li>
<li><a href="#org93676c7">2.2. Load data</a></li>
<li><a href="#org5c0f846">2.3. Time Domain</a></li>
<li><a href="#org3cf58bf">2.4. Frequency Domain</a></li>
<li><a href="#orgfb3a7be">2.5. Conclusion</a></li>
</ul>
</li>
<li><a href="#orgf6e4281">3. Measure of the noise induced by the Slip-Ring rotation - LPF added</a>
<ul>
<li><a href="#org7da9e34">3.1. Measurement description</a></li>
<li><a href="#org62f4c0b">3.2. Load data</a></li>
<li><a href="#orgebd2a5c">3.3. Time Domain</a></li>
<li><a href="#org3866b73">3.4. Frequency Domain - Direct Signal</a></li>
<li><a href="#org9c9986f">3.5. Frequency Domain - Slip-Ring Signal</a></li>
<li><a href="#org9d90d36">3.6. Conclusion</a></li>
</ul>
</li>
</ul>
</div>
</div>
<p>
We determine if the slip-ring add some noise to the signal when it is turning:
</p>
<ul class="org-ul">
<li>Section <a href="#orgb74a552">1</a>:
<ul class="org-ul">
<li>Noise is generated by the Speedgoat DAC and goes trough the slip-ring two times</li>
<li>We measure the signal when it is OFF, ON but not turning and ON and turning</li>
<li>However, the measurement is limited by the ADC noise</li>
</ul></li>
<li>Section <a href="#org73e12a6">2</a>:
<ul class="org-ul">
<li>Voltage amplifiers are added, and the same measurements are done</li>
<li>However, the voltage amplifiers are saturating because of high frequency noise</li>
</ul></li>
<li>Section <a href="#org6764371">3</a>:
<ul class="org-ul">
<li>Low pass filter are added at the input of the voltage amplifier and the same measurement is done</li>
</ul></li>
</ul>
<div id="outline-container-orgc988f31" class="outline-2">
<h2 id="orgc988f31"><span class="section-number-2">1</span> Effect of the rotation of the Slip-Ring - Noise</h2>
<div class="outline-text-2" id="text-1">
<p>
<a id="orgb74a552"></a>
</p>
<div class="note">
<p>
All the files (data and Matlab scripts) are accessible <a href="data/meas_effect_sr.zip">here</a>.
</p>
</div>
</div>
<div id="outline-container-org9c881d4" class="outline-3">
<h3 id="org9c881d4"><span class="section-number-3">1.1</span> Measurement Description</h3>
<div class="outline-text-3" id="text-1-1">
<p>
<b>Setup</b>:
Random Signal is generated by one SpeedGoat DAC.
</p>
<p>
The signal going out of the DAC is split into two:
</p>
<ul class="org-ul">
<li>one BNC cable is directly connected to one ADC of the SpeedGoat</li>
<li>one BNC cable goes two times in the Slip-Ring (from bottom to top and then from top to bottom) and then is connected to one ADC of the SpeedGoat</li>
</ul>
<p>
All the stages are turned OFF except the Slip-Ring.
</p>
<p>
<b>Goal</b>:
The goal is to determine if the signal is altered when the spindle is rotating.
</p>
<p>
<b>Measurements</b>:
</p>
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
<col class="org-left" />
<col class="org-left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left">Data File</th>
<th scope="col" class="org-left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left"><code>mat/data_001.mat</code></td>
<td class="org-left">Slip-ring not turning but ON</td>
</tr>
<tr>
<td class="org-left"><code>mat/data_002.mat</code></td>
<td class="org-left">Slip-ring turning at 1rpm</td>
</tr>
</tbody>
</table>
<p>
For each measurement, the measured signals are:
</p>
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
<col class="org-left" />
<col class="org-left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left">Variable</th>
<th scope="col" class="org-left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left"><code>t</code></td>
<td class="org-left">Time vector</td>
</tr>
<tr>
<td class="org-left"><code>x1</code></td>
<td class="org-left">Direct signal</td>
</tr>
<tr>
<td class="org-left"><code>x2</code></td>
<td class="org-left">Signal going through the Slip-Ring</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="outline-container-org9671811" class="outline-3">
<h3 id="org9671811"><span class="section-number-3">1.2</span> Load data</h3>
<div class="outline-text-3" id="text-1-2">
<p>
We load the data of the z axis of two geophones.
</p>
<div class="org-src-container">
<pre class="src src-matlab">sr_off = load<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'mat/data_001.mat', 't', 'x1', 'x2'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
sr_on = load<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'mat/data_002.mat', 't', 'x1', 'x2'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
</pre>
</div>
</div>
</div>
<div id="outline-container-orgf569f1a" class="outline-3">
<h3 id="orgf569f1a"><span class="section-number-3">1.3</span> Analysis</h3>
<div class="outline-text-3" id="text-1-3">
<p>
Let's first look at the signal produced by the DAC (figure <a href="#org9d6d3d5">1</a>).
</p>
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-type">figure</span>;
hold on;
plot<span class="org-rainbow-delimiters-depth-1">(</span>sr_on.t, sr_on.x1<span class="org-rainbow-delimiters-depth-1">)</span>;
hold off;
xlabel<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Time </span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">[</span></span><span class="org-string">s</span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">]</span></span><span class="org-string">'</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">)</span></span><span class="org-string">; ylabel</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">(</span></span><span class="org-string">'Voltage </span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">[</span></span><span class="org-string">V</span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">]</span></span><span class="org-string">'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">[</span><span class="org-highlight-numbers-number">0</span> <span class="org-highlight-numbers-number">10</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>;
</pre>
</div>
<div id="org9d6d3d5" class="figure">
<p><img src="figs/random_signal.png" alt="random_signal.png" />
</p>
<p><span class="figure-number">Figure 1: </span>Random signal produced by the DAC</p>
</div>
<p>
We now look at the difference between the signal directly measured by the ADC and the signal that goes through the slip-ring (figure <a href="#orgfb12ded">2</a>).
</p>
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-type">figure</span>;
hold on;
plot<span class="org-rainbow-delimiters-depth-1">(</span>sr_on.t, sr_on.x1 <span class="org-type">-</span> sr_on.x2, <span class="org-string">'DisplayName', '</span>Slip<span class="org-type">-</span>Ring <span class="org-type">-</span> $<span class="org-type">\</span>omega = <span class="org-highlight-numbers-number">1rpm$</span>'<span class="org-rainbow-delimiters-depth-1">)</span>;
plot<span class="org-rainbow-delimiters-depth-1">(</span>sr_off.t, sr_off.x1 <span class="org-type">-</span> sr_off.x2,<span class="org-string">'DisplayName', 'Slip-Ring off'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
hold off;
xlabel<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Time </span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">[</span></span><span class="org-string">s</span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">]</span></span><span class="org-string">'</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">)</span></span><span class="org-string">; ylabel</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">(</span></span><span class="org-string">'Voltage </span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">[</span></span><span class="org-string">V</span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">]</span></span><span class="org-string">'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">[</span><span class="org-highlight-numbers-number">0</span> <span class="org-highlight-numbers-number">10</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>;
legend<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Location', 'northeast'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
</pre>
</div>
<div id="orgfb12ded" class="figure">
<p><img src="figs/slipring_comp_signals.png" alt="slipring_comp_signals.png" />
</p>
<p><span class="figure-number">Figure 2: </span>Alteration of the signal when the slip-ring is turning</p>
</div>
<div class="org-src-container">
<pre class="src src-matlab">dt = sr_on.t<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-highlight-numbers-number">2</span><span class="org-rainbow-delimiters-depth-1">)</span> <span class="org-type">-</span> sr_on.t<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-highlight-numbers-number">1</span><span class="org-rainbow-delimiters-depth-1">)</span>;
Fs = <span class="org-highlight-numbers-number">1</span><span class="org-type">/</span>dt; <span class="org-comment">% [Hz]</span>
win = hanning<span class="org-rainbow-delimiters-depth-1">(</span>ceil<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-highlight-numbers-number">1</span><span class="org-type">*</span>Fs<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>;
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-rainbow-delimiters-depth-1">[</span>pxx_on, f<span class="org-rainbow-delimiters-depth-1">]</span> = pwelch<span class="org-rainbow-delimiters-depth-1">(</span>sr_on.x1 <span class="org-type">-</span> sr_on.x2, win, <span class="org-rainbow-delimiters-depth-2">[]</span>, <span class="org-rainbow-delimiters-depth-2">[]</span>, Fs<span class="org-rainbow-delimiters-depth-1">)</span>;
<span class="org-rainbow-delimiters-depth-1">[</span>pxx_off, <span class="org-type">~</span><span class="org-rainbow-delimiters-depth-1">]</span> = pwelch<span class="org-rainbow-delimiters-depth-1">(</span>sr_off.x1 <span class="org-type">-</span> sr_off.x2, win, <span class="org-rainbow-delimiters-depth-2">[]</span>, <span class="org-rainbow-delimiters-depth-2">[]</span>, Fs<span class="org-rainbow-delimiters-depth-1">)</span>;
</pre>
</div>
<div id="orgacfda5a" class="figure">
<p><img src="figs/psd_noise.png" alt="psd_noise.png" />
</p>
<p><span class="figure-number">Figure 3: </span>ASD of the measured noise</p>
</div>
</div>
</div>
<div id="outline-container-orgf938632" class="outline-3">
<h3 id="orgf938632"><span class="section-number-3">1.4</span> Conclusion</h3>
<div class="outline-text-3" id="text-1-4">
<div class="note">
<ul class="org-ul">
<li>The measurement is mostly limited by the resolution of the Speedgoat DAC (16bits over \(\pm 10 V\))</li>
<li>In section <a href="#org73e12a6">2</a>, the same measurement is done but voltage amplifiers are added to amplify the noise</li>
</ul>
</div>
</div>
</div>
</div>
<div id="outline-container-org038eeb5" class="outline-2">
<h2 id="org038eeb5"><span class="section-number-2">2</span> Measure of the noise induced by the Slip-Ring using voltage amplifiers - Noise</h2>
<div class="outline-text-2" id="text-2">
<p>
<a id="org73e12a6"></a>
</p>
<div class="note">
<p>
All the files (data and Matlab scripts) are accessible <a href="data/meas_slip_ring.zip">here</a>.
</p>
</div>
</div>
<div id="outline-container-orgfecfa5c" class="outline-3">
<h3 id="orgfecfa5c"><span class="section-number-3">2.1</span> Measurement Description</h3>
<div class="outline-text-3" id="text-2-1">
<p>
<b>Goal</b>:
</p>
<ul class="org-ul">
<li>Determine the noise induced by the slip-ring when turned ON and when rotating</li>
</ul>
<p>
<b>Setup</b>:
</p>
<ul class="org-ul">
<li>0V is generated by one Speedgoat DAC</li>
<li>Using a T, one part goes directly to one Speedgoat ADC</li>
<li>The other part goes to the slip-ring 2 times and then to one voltage amplifier before going to the ADC</li>
<li>The parameters of the Voltage Amplifier are:
<ul class="org-ul">
<li>gain of 80dB</li>
<li>AC/DC option to AC (it adds an high pass filter at 1.5Hz at the input of the voltage amplifier)</li>
<li>Output Low pass filter set at 1kHz</li>
</ul></li>
<li>Every stage of the station is OFF</li>
</ul>
<p>
First column: Direct measure
Second column: Slip-ring measure
</p>
<p>
<b>Measurements</b>:
</p>
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
<col class="org-left" />
<col class="org-left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left">Data File</th>
<th scope="col" class="org-left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left"><code>mat/data_008.mat</code></td>
<td class="org-left">Slip-Ring OFF</td>
</tr>
<tr>
<td class="org-left"><code>mat/data_009.mat</code></td>
<td class="org-left">Slip-Ring ON</td>
</tr>
<tr>
<td class="org-left"><code>mat/data_010.mat</code></td>
<td class="org-left">Slip-Ring ON and omega=6rpm</td>
</tr>
<tr>
<td class="org-left"><code>mat/data_011.mat</code></td>
<td class="org-left">Slip-Ring ON and omega=60rpm</td>
</tr>
</tbody>
</table>
<p>
Each of the measurement <code>mat</code> file contains one <code>data</code> array with 3 columns:
</p>
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
<col class="org-right" />
<col class="org-left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-right">Column number</th>
<th scope="col" class="org-left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-right">1</td>
<td class="org-left">Signal going directly to the ADC</td>
</tr>
<tr>
<td class="org-right">2</td>
<td class="org-left">Signal going through the Slip-Ring</td>
</tr>
<tr>
<td class="org-right">3</td>
<td class="org-left">Time</td>
</tr>
</tbody>
</table>
<div id="org1e3b32c" class="figure">
<p><img src="./img/VID_20190503_160831.gif" alt="VID_20190503_160831.gif" />
</p>
<p><span class="figure-number">Figure 4: </span>Slip-Ring rotating at 6rpm</p>
</div>
<div id="org3cea729" class="figure">
<p><img src="./img/VID_20190503_161401.gif" alt="VID_20190503_161401.gif" />
</p>
<p><span class="figure-number">Figure 5: </span>Slip-Ring rotating at 60rpm</p>
</div>
</div>
</div>
<div id="outline-container-org93676c7" class="outline-3">
<h3 id="org93676c7"><span class="section-number-3">2.2</span> Load data</h3>
<div class="outline-text-3" id="text-2-2">
<p>
We load the data of the z axis of two geophones.
</p>
<div class="org-src-container">
<pre class="src src-matlab">sr_off = load<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'mat/data_008.mat', 'data'</span><span class="org-rainbow-delimiters-depth-1">)</span>; sr_off = sr_off.data;
sr_on = load<span class="org-rainbow-delimiters-depth-1">(</span>'mat<span class="org-type">/</span>data_009.mat', <span class="org-string">'data'</span><span class="org-rainbow-delimiters-depth-1">)</span>; sr_on = sr_on.data;
sr_6r = load<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'mat/data_010.mat', 'data'</span><span class="org-rainbow-delimiters-depth-1">)</span>; sr_6r = sr_6r.data;
sr_60r = load<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'mat/data_011.mat', 'data'</span><span class="org-rainbow-delimiters-depth-1">)</span>; sr_60r = sr_60r.data;
</pre>
</div>
</div>
</div>
<div id="outline-container-org5c0f846" class="outline-3">
<h3 id="org5c0f846"><span class="section-number-3">2.3</span> Time Domain</h3>
<div class="outline-text-3" id="text-2-3">
<p>
We plot the time domain data for the direct measurement (figure <a href="#orgb38ee7b">6</a>) and for the signal going through the slip-ring (figure <a href="#orgb1b1fc7">7</a>);
</p>
<div id="orgb38ee7b" class="figure">
<p><img src="figs/sr_direct_time.png" alt="sr_direct_time.png" />
</p>
<p><span class="figure-number">Figure 6: </span>Direct measurement</p>
</div>
<div id="orgb1b1fc7" class="figure">
<p><img src="figs/sr_slipring_time.png" alt="sr_slipring_time.png" />
</p>
<p><span class="figure-number">Figure 7: </span>Measurement of the signal going through the Slip-Ring</p>
</div>
</div>
</div>
<div id="outline-container-org3cf58bf" class="outline-3">
<h3 id="org3cf58bf"><span class="section-number-3">2.4</span> Frequency Domain</h3>
<div class="outline-text-3" id="text-2-4">
<p>
We first compute some parameters that will be used for the PSD computation.
</p>
<div class="org-src-container">
<pre class="src src-matlab">dt = sr_off<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-highlight-numbers-number">2</span>, <span class="org-highlight-numbers-number">3</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-type">-</span>sr_off<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-highlight-numbers-number">1</span>, <span class="org-highlight-numbers-number">3</span><span class="org-rainbow-delimiters-depth-1">)</span>;
Fs = <span class="org-highlight-numbers-number">1</span><span class="org-type">/</span>dt; <span class="org-comment">% [Hz]</span>
win = hanning<span class="org-rainbow-delimiters-depth-1">(</span>ceil<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-highlight-numbers-number">10</span><span class="org-type">*</span>Fs<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>;
</pre>
</div>
<p>
Then we compute the Power Spectral Density using <code>pwelch</code> function.
</p>
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-rainbow-delimiters-depth-1">[</span>pxdir, f<span class="org-rainbow-delimiters-depth-1">]</span> = pwelch<span class="org-rainbow-delimiters-depth-1">(</span>sr_off<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">1</span><span class="org-rainbow-delimiters-depth-2">)</span>, win, <span class="org-rainbow-delimiters-depth-2">[]</span>, <span class="org-rainbow-delimiters-depth-2">[]</span>, Fs<span class="org-rainbow-delimiters-depth-1">)</span>;
<span class="org-rainbow-delimiters-depth-1">[</span>pxoff, <span class="org-type">~</span><span class="org-rainbow-delimiters-depth-1">]</span> = pwelch<span class="org-rainbow-delimiters-depth-1">(</span>sr_off<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">2</span><span class="org-rainbow-delimiters-depth-2">)</span>, win, <span class="org-rainbow-delimiters-depth-2">[]</span>, <span class="org-rainbow-delimiters-depth-2">[]</span>, Fs<span class="org-rainbow-delimiters-depth-1">)</span>;
<span class="org-rainbow-delimiters-depth-1">[</span>pxon, <span class="org-type">~</span><span class="org-rainbow-delimiters-depth-1">]</span> = pwelch<span class="org-rainbow-delimiters-depth-1">(</span>sr_on<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">2</span><span class="org-rainbow-delimiters-depth-2">)</span>, win, <span class="org-rainbow-delimiters-depth-2">[]</span>, <span class="org-rainbow-delimiters-depth-2">[]</span>, Fs<span class="org-rainbow-delimiters-depth-1">)</span>;
<span class="org-rainbow-delimiters-depth-1">[</span>px6r, <span class="org-type">~</span><span class="org-rainbow-delimiters-depth-1">]</span> = pwelch<span class="org-rainbow-delimiters-depth-1">(</span>sr_6r<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">2</span><span class="org-rainbow-delimiters-depth-2">)</span>, win, <span class="org-rainbow-delimiters-depth-2">[]</span>, <span class="org-rainbow-delimiters-depth-2">[]</span>, Fs<span class="org-rainbow-delimiters-depth-1">)</span>;
<span class="org-rainbow-delimiters-depth-1">[</span>px60r, <span class="org-type">~</span><span class="org-rainbow-delimiters-depth-1">]</span> = pwelch<span class="org-rainbow-delimiters-depth-1">(</span>sr_60r<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">2</span><span class="org-rainbow-delimiters-depth-2">)</span>, win, <span class="org-rainbow-delimiters-depth-2">[]</span>, <span class="org-rainbow-delimiters-depth-2">[]</span>, Fs<span class="org-rainbow-delimiters-depth-1">)</span>;
</pre>
</div>
<p>
And we plot the ASD of the measured signals (figure <a href="#org15417d9">8</a>);
</p>
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-type">figure</span>;
hold on;
plot<span class="org-rainbow-delimiters-depth-1">(</span>f, sqrt<span class="org-rainbow-delimiters-depth-2">(</span>pxoff<span class="org-rainbow-delimiters-depth-2">)</span>, <span class="org-string">'DisplayName', 'OFF'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
plot<span class="org-rainbow-delimiters-depth-1">(</span>f, sqrt<span class="org-rainbow-delimiters-depth-2">(</span>pxon<span class="org-rainbow-delimiters-depth-2">)</span>, <span class="org-string">'DisplayName', 'ON'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
plot<span class="org-rainbow-delimiters-depth-1">(</span>f, sqrt<span class="org-rainbow-delimiters-depth-2">(</span>px6r<span class="org-rainbow-delimiters-depth-2">)</span>, 'DisplayName', '<span class="org-highlight-numbers-number">6rpm</span>'<span class="org-rainbow-delimiters-depth-1">)</span>;
plot<span class="org-rainbow-delimiters-depth-1">(</span>f, sqrt<span class="org-rainbow-delimiters-depth-2">(</span>px60r<span class="org-rainbow-delimiters-depth-2">)</span>, 'DisplayName', '<span class="org-highlight-numbers-number">60rpm</span>'<span class="org-rainbow-delimiters-depth-1">)</span>;
plot<span class="org-rainbow-delimiters-depth-1">(</span>f, sqrt<span class="org-rainbow-delimiters-depth-2">(</span>pxdir<span class="org-rainbow-delimiters-depth-2">)</span>, <span class="org-string">'k-', 'DisplayName', 'Direct'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
hold off;
<span class="org-type">set</span><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-variable-name">gca</span>, <span class="org-string">'xscale', 'log'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
<span class="org-type">set</span><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-variable-name">gca</span>, <span class="org-string">'yscale', 'log'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
xlabel<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Frequency </span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">[</span></span><span class="org-string">Hz</span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">]</span></span><span class="org-string">'</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">)</span></span><span class="org-string">; ylabel</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">(</span></span><span class="org-string">'</span>ASD of the measured Voltage $<span class="org-type">\</span>left<span class="org-rainbow-delimiters-depth-2">[</span><span class="org-type">\</span>frac<span class="org-rainbow-delimiters-depth-3">{</span>V<span class="org-rainbow-delimiters-depth-3">}{</span><span class="org-type">\</span>sqrt<span class="org-rainbow-delimiters-depth-4">{</span>Hz<span class="org-rainbow-delimiters-depth-4">}</span><span class="org-rainbow-delimiters-depth-3">}</span><span class="org-type">\</span>right<span class="org-rainbow-delimiters-depth-2">]</span>$'<span class="org-rainbow-delimiters-depth-1">)</span>
legend<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Location', 'northeast'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">[</span><span class="org-highlight-numbers-number">0</span>.<span class="org-highlight-numbers-number">1</span>, <span class="org-highlight-numbers-number">500</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>;
</pre>
</div>
<div id="org15417d9" class="figure">
<p><img src="figs/sr_psd_compare.png" alt="sr_psd_compare.png" />
</p>
<p><span class="figure-number">Figure 8: </span>Comparison of the ASD of the measured signals when the slip-ring is ON, OFF and turning</p>
</div>
<div class="note">
<p>
<b>Questions:</b>
</p>
<ul class="org-ul">
<li>Why is there some sharp peaks? Can this be due to aliasing?</li>
<li>It is possible that the amplifiers were saturating during the measurements. This saturation could be due to high frequency noise.</li>
</ul>
</div>
</div>
</div>
<div id="outline-container-orgfb3a7be" class="outline-3">
<h3 id="orgfb3a7be"><span class="section-number-3">2.5</span> Conclusion</h3>
<div class="outline-text-3" id="text-2-5">
<div class="important">
<ul class="org-ul">
<li>The measurements are re-done using an additional low pass filter at the input of the voltage amplifier</li>
</ul>
</div>
</div>
</div>
</div>
<div id="outline-container-orgf6e4281" class="outline-2">
<h2 id="orgf6e4281"><span class="section-number-2">3</span> Measure of the noise induced by the Slip-Ring rotation - LPF added</h2>
<div class="outline-text-2" id="text-3">
<p>
<a id="org6764371"></a>
</p>
<div class="note">
<p>
All the files (data and Matlab scripts) are accessible <a href="data/meas_slip_ring_lpf.zip">here</a>.
</p>
</div>
</div>
<div id="outline-container-org7da9e34" class="outline-3">
<h3 id="org7da9e34"><span class="section-number-3">3.1</span> Measurement description</h3>
<div class="outline-text-3" id="text-3-1">
<p>
<b>Setup</b>:
Voltage amplifier:
</p>
<ul class="org-ul">
<li>60db</li>
<li>AC</li>
<li>1kHz</li>
</ul>
<p>
Additionnal LPF at 1kHz
</p>
<p>
<b>Goal</b>:
</p>
<p>
<b>Measurements</b>:
</p>
<p>
Three measurements are done:
</p>
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
<col class="org-left" />
<col class="org-left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left">Measurement File</th>
<th scope="col" class="org-left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left"><code>mat/data_030.mat</code></td>
<td class="org-left">All off</td>
</tr>
<tr>
<td class="org-left"><code>mat/data_031.mat</code></td>
<td class="org-left">Slip-Ring on</td>
</tr>
<tr>
<td class="org-left"><code>mat/data_032.mat</code></td>
<td class="org-left">Slip-Ring 6rpm</td>
</tr>
<tr>
<td class="org-left"><code>mat/data_033.mat</code></td>
<td class="org-left">Slip-Ring 60rpm</td>
</tr>
</tbody>
</table>
<p>
Each of the measurement <code>mat</code> file contains one <code>data</code> array with 3 columns:
</p>
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup>
<col class="org-right" />
<col class="org-left" />
</colgroup>
<thead>
<tr>
<th scope="col" class="org-right">Column number</th>
<th scope="col" class="org-left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-right">1</td>
<td class="org-left">Direct Measure</td>
</tr>
<tr>
<td class="org-right">2</td>
<td class="org-left">Slip-Ring</td>
</tr>
<tr>
<td class="org-right">3</td>
<td class="org-left">Time</td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="outline-container-org62f4c0b" class="outline-3">
<h3 id="org62f4c0b"><span class="section-number-3">3.2</span> Load data</h3>
<div class="outline-text-3" id="text-3-2">
<p>
We load the data of the z axis of two geophones.
</p>
<div class="org-src-container">
<pre class="src src-matlab">sr_of = load<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'mat/data_030.mat', 'data'</span><span class="org-rainbow-delimiters-depth-1">)</span>; sr_of = sr_of.data;
sr_on = load<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'mat/data_031.mat', 'data'</span><span class="org-rainbow-delimiters-depth-1">)</span>; sr_on = sr_on.data;
sr_6r = load<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'mat/data_032.mat', 'data'</span><span class="org-rainbow-delimiters-depth-1">)</span>; sr_6r = sr_6r.data;
sr_60 = load<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'mat/data_033.mat', 'data'</span><span class="org-rainbow-delimiters-depth-1">)</span>; sr_60 = sr_60.data;
</pre>
</div>
</div>
</div>
<div id="outline-container-orgebd2a5c" class="outline-3">
<h3 id="orgebd2a5c"><span class="section-number-3">3.3</span> Time Domain</h3>
<div class="outline-text-3" id="text-3-3">
<p>
We plot the time domain data for the direct measurement (figure <a href="#org5cb534e">9</a>) and for the signal going through the slip-ring (figure <a href="#org2958b47">11</a>);
</p>
<div id="org5cb534e" class="figure">
<p><img src="figs/sr_direct_1khz_time.png" alt="sr_direct_1khz_time.png" />
</p>
<p><span class="figure-number">Figure 9: </span>Direct measurement</p>
</div>
<div class="org-src-container">
<pre class="src src-matlab">xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">[</span><span class="org-highlight-numbers-number">0</span>, <span class="org-highlight-numbers-number">0</span>.<span class="org-highlight-numbers-number">2</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>; ylim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">[</span><span class="org-type">-</span><span class="org-highlight-numbers-number">2e</span><span class="org-type">-</span><span class="org-highlight-numbers-number">3</span>, <span class="org-highlight-numbers-number">2e</span><span class="org-type">-</span><span class="org-highlight-numbers-number">3</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>;
</pre>
</div>
<div id="orgc1ab96f" class="figure">
<p><img src="figs/sr_direct_1khz_time_zoom.png" alt="sr_direct_1khz_time_zoom.png" />
</p>
<p><span class="figure-number">Figure 10: </span>Direct measurement - Zoom</p>
</div>
<div id="org2958b47" class="figure">
<p><img src="figs/sr_slipring_1khz_time.png" alt="sr_slipring_1khz_time.png" />
</p>
<p><span class="figure-number">Figure 11: </span>Measurement of the signal going through the Slip-Ring</p>
</div>
</div>
</div>
<div id="outline-container-org3866b73" class="outline-3">
<h3 id="org3866b73"><span class="section-number-3">3.4</span> Frequency Domain - Direct Signal</h3>
<div class="outline-text-3" id="text-3-4">
<p>
We first compute some parameters that will be used for the PSD computation.
</p>
<div class="org-src-container">
<pre class="src src-matlab">dt = sr_of<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-highlight-numbers-number">2</span>, <span class="org-highlight-numbers-number">3</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-type">-</span>sr_of<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-highlight-numbers-number">1</span>, <span class="org-highlight-numbers-number">3</span><span class="org-rainbow-delimiters-depth-1">)</span>;
Fs = <span class="org-highlight-numbers-number">1</span><span class="org-type">/</span>dt; <span class="org-comment">% [Hz]</span>
win = hanning<span class="org-rainbow-delimiters-depth-1">(</span>ceil<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-highlight-numbers-number">10</span><span class="org-type">*</span>Fs<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>;
</pre>
</div>
<p>
Then we compute the Power Spectral Density using <code>pwelch</code> function.
</p>
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-rainbow-delimiters-depth-1">[</span>px_d_of, f<span class="org-rainbow-delimiters-depth-1">]</span> = pwelch<span class="org-rainbow-delimiters-depth-1">(</span>sr_of<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">1</span><span class="org-rainbow-delimiters-depth-2">)</span>, win, <span class="org-rainbow-delimiters-depth-2">[]</span>, <span class="org-rainbow-delimiters-depth-2">[]</span>, Fs<span class="org-rainbow-delimiters-depth-1">)</span>;
<span class="org-rainbow-delimiters-depth-1">[</span>px_d_on, <span class="org-type">~</span><span class="org-rainbow-delimiters-depth-1">]</span> = pwelch<span class="org-rainbow-delimiters-depth-1">(</span>sr_on<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">1</span><span class="org-rainbow-delimiters-depth-2">)</span>, win, <span class="org-rainbow-delimiters-depth-2">[]</span>, <span class="org-rainbow-delimiters-depth-2">[]</span>, Fs<span class="org-rainbow-delimiters-depth-1">)</span>;
<span class="org-rainbow-delimiters-depth-1">[</span>px_d_6r, <span class="org-type">~</span><span class="org-rainbow-delimiters-depth-1">]</span> = pwelch<span class="org-rainbow-delimiters-depth-1">(</span>sr_6r<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">1</span><span class="org-rainbow-delimiters-depth-2">)</span>, win, <span class="org-rainbow-delimiters-depth-2">[]</span>, <span class="org-rainbow-delimiters-depth-2">[]</span>, Fs<span class="org-rainbow-delimiters-depth-1">)</span>;
<span class="org-rainbow-delimiters-depth-1">[</span>px_d_60, <span class="org-type">~</span><span class="org-rainbow-delimiters-depth-1">]</span> = pwelch<span class="org-rainbow-delimiters-depth-1">(</span>sr_60<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">1</span><span class="org-rainbow-delimiters-depth-2">)</span>, win, <span class="org-rainbow-delimiters-depth-2">[]</span>, <span class="org-rainbow-delimiters-depth-2">[]</span>, Fs<span class="org-rainbow-delimiters-depth-1">)</span>;
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-type">figure</span>;
hold on;
plot<span class="org-rainbow-delimiters-depth-1">(</span>f, sqrt<span class="org-rainbow-delimiters-depth-2">(</span>px_d_of<span class="org-rainbow-delimiters-depth-2">)</span>, <span class="org-string">'DisplayName', 'OFF'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
plot<span class="org-rainbow-delimiters-depth-1">(</span>f, sqrt<span class="org-rainbow-delimiters-depth-2">(</span>px_d_on<span class="org-rainbow-delimiters-depth-2">)</span>, <span class="org-string">'DisplayName', 'ON'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
plot<span class="org-rainbow-delimiters-depth-1">(</span>f, sqrt<span class="org-rainbow-delimiters-depth-2">(</span>px_d_6r<span class="org-rainbow-delimiters-depth-2">)</span>, 'DisplayName', '<span class="org-highlight-numbers-number">6rpm</span>'<span class="org-rainbow-delimiters-depth-1">)</span>;
plot<span class="org-rainbow-delimiters-depth-1">(</span>f, sqrt<span class="org-rainbow-delimiters-depth-2">(</span>px_d_60<span class="org-rainbow-delimiters-depth-2">)</span>, 'DisplayName', '<span class="org-highlight-numbers-number">60rpm</span>'<span class="org-rainbow-delimiters-depth-1">)</span>;
hold off;
<span class="org-type">set</span><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-variable-name">gca</span>, <span class="org-string">'xscale', 'log'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
<span class="org-type">set</span><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-variable-name">gca</span>, <span class="org-string">'yscale', 'log'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
xlabel<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Frequency </span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">[</span></span><span class="org-string">Hz</span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">]</span></span><span class="org-string">'</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">)</span></span><span class="org-string">; ylabel</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">(</span></span><span class="org-string">'</span>ASD of the measured Voltage $<span class="org-type">\</span>left<span class="org-rainbow-delimiters-depth-2">[</span><span class="org-type">\</span>frac<span class="org-rainbow-delimiters-depth-3">{</span>V<span class="org-rainbow-delimiters-depth-3">}{</span><span class="org-type">\</span>sqrt<span class="org-rainbow-delimiters-depth-4">{</span>Hz<span class="org-rainbow-delimiters-depth-4">}</span><span class="org-rainbow-delimiters-depth-3">}</span><span class="org-type">\</span>right<span class="org-rainbow-delimiters-depth-2">]</span>$'<span class="org-rainbow-delimiters-depth-1">)</span>
legend<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Location', 'northeast'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">[</span><span class="org-highlight-numbers-number">0</span>.<span class="org-highlight-numbers-number">1</span>, <span class="org-highlight-numbers-number">5000</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>;
</pre>
</div>
<div id="org861f9e3" class="figure">
<p><img src="figs/sr_psd_1khz_direct.png" alt="sr_psd_1khz_direct.png" />
</p>
<p><span class="figure-number">Figure 12: </span>Amplitude Spectral Density of the signal going directly to the ADC</p>
</div>
</div>
</div>
<div id="outline-container-org9c9986f" class="outline-3">
<h3 id="org9c9986f"><span class="section-number-3">3.5</span> Frequency Domain - Slip-Ring Signal</h3>
<div class="outline-text-3" id="text-3-5">
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-rainbow-delimiters-depth-1">[</span>px_sr_of, f<span class="org-rainbow-delimiters-depth-1">]</span> = pwelch<span class="org-rainbow-delimiters-depth-1">(</span>sr_of<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">2</span><span class="org-rainbow-delimiters-depth-2">)</span>, win, <span class="org-rainbow-delimiters-depth-2">[]</span>, <span class="org-rainbow-delimiters-depth-2">[]</span>, Fs<span class="org-rainbow-delimiters-depth-1">)</span>;
<span class="org-rainbow-delimiters-depth-1">[</span>px_sr_on, <span class="org-type">~</span><span class="org-rainbow-delimiters-depth-1">]</span> = pwelch<span class="org-rainbow-delimiters-depth-1">(</span>sr_on<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">2</span><span class="org-rainbow-delimiters-depth-2">)</span>, win, <span class="org-rainbow-delimiters-depth-2">[]</span>, <span class="org-rainbow-delimiters-depth-2">[]</span>, Fs<span class="org-rainbow-delimiters-depth-1">)</span>;
<span class="org-rainbow-delimiters-depth-1">[</span>px_sr_6r, <span class="org-type">~</span><span class="org-rainbow-delimiters-depth-1">]</span> = pwelch<span class="org-rainbow-delimiters-depth-1">(</span>sr_6r<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">2</span><span class="org-rainbow-delimiters-depth-2">)</span>, win, <span class="org-rainbow-delimiters-depth-2">[]</span>, <span class="org-rainbow-delimiters-depth-2">[]</span>, Fs<span class="org-rainbow-delimiters-depth-1">)</span>;
<span class="org-rainbow-delimiters-depth-1">[</span>px_sr_60, <span class="org-type">~</span><span class="org-rainbow-delimiters-depth-1">]</span> = pwelch<span class="org-rainbow-delimiters-depth-1">(</span>sr_60<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-type">:</span>, <span class="org-highlight-numbers-number">2</span><span class="org-rainbow-delimiters-depth-2">)</span>, win, <span class="org-rainbow-delimiters-depth-2">[]</span>, <span class="org-rainbow-delimiters-depth-2">[]</span>, Fs<span class="org-rainbow-delimiters-depth-1">)</span>;
</pre>
</div>
<div class="org-src-container">
<pre class="src src-matlab"><span class="org-type">figure</span>;
hold on;
plot<span class="org-rainbow-delimiters-depth-1">(</span>f, sqrt<span class="org-rainbow-delimiters-depth-2">(</span>px_sr_of<span class="org-rainbow-delimiters-depth-2">)</span>, <span class="org-string">'DisplayName', 'OFF'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
plot<span class="org-rainbow-delimiters-depth-1">(</span>f, sqrt<span class="org-rainbow-delimiters-depth-2">(</span>px_sr_on<span class="org-rainbow-delimiters-depth-2">)</span>, <span class="org-string">'DisplayName', 'ON'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
plot<span class="org-rainbow-delimiters-depth-1">(</span>f, sqrt<span class="org-rainbow-delimiters-depth-2">(</span>px_sr_6r<span class="org-rainbow-delimiters-depth-2">)</span>, 'DisplayName', '<span class="org-highlight-numbers-number">6rpm</span>'<span class="org-rainbow-delimiters-depth-1">)</span>;
plot<span class="org-rainbow-delimiters-depth-1">(</span>f, sqrt<span class="org-rainbow-delimiters-depth-2">(</span>px_sr_60<span class="org-rainbow-delimiters-depth-2">)</span>, 'DisplayName', '<span class="org-highlight-numbers-number">60rpm</span>'<span class="org-rainbow-delimiters-depth-1">)</span>;
plot<span class="org-rainbow-delimiters-depth-1">(</span>f, sqrt<span class="org-rainbow-delimiters-depth-2">(</span>px_d_of<span class="org-rainbow-delimiters-depth-2">)</span>, <span class="org-string">'-k', 'DisplayName', 'Direct'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
hold off;
<span class="org-type">set</span><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-variable-name">gca</span>, <span class="org-string">'xscale', 'log'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
<span class="org-type">set</span><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-variable-name">gca</span>, <span class="org-string">'yscale', 'log'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
xlabel<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Frequency </span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">[</span></span><span class="org-string">Hz</span><span class="org-string"><span class="org-rainbow-delimiters-depth-2">]</span></span><span class="org-string">'</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">)</span></span><span class="org-string">; ylabel</span><span class="org-string"><span class="org-rainbow-delimiters-depth-1">(</span></span><span class="org-string">'</span>ASD of the measured Voltage $<span class="org-type">\</span>left<span class="org-rainbow-delimiters-depth-2">[</span><span class="org-type">\</span>frac<span class="org-rainbow-delimiters-depth-3">{</span>V<span class="org-rainbow-delimiters-depth-3">}{</span><span class="org-type">\</span>sqrt<span class="org-rainbow-delimiters-depth-4">{</span>Hz<span class="org-rainbow-delimiters-depth-4">}</span><span class="org-rainbow-delimiters-depth-3">}</span><span class="org-type">\</span>right<span class="org-rainbow-delimiters-depth-2">]</span>$'<span class="org-rainbow-delimiters-depth-1">)</span>
legend<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">'Location', 'northeast'</span><span class="org-rainbow-delimiters-depth-1">)</span>;
xlim<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-rainbow-delimiters-depth-2">[</span><span class="org-highlight-numbers-number">0</span>.<span class="org-highlight-numbers-number">1</span>, <span class="org-highlight-numbers-number">5000</span><span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>;
</pre>
</div>
<div id="org29ed3a7" class="figure">
<p><img src="figs/sr_psd_1khz_slipring.png" alt="sr_psd_1khz_slipring.png" />
</p>
<p><span class="figure-number">Figure 13: </span>Amplitude Spectral Density of the signal going through the slip-ring</p>
</div>
</div>
</div>
<div id="outline-container-org9d90d36" class="outline-3">
<h3 id="org9d90d36"><span class="section-number-3">3.6</span> Conclusion</h3>
<div class="outline-text-3" id="text-3-6">
<div class="important">
<ul class="org-ul">
<li>We observe peaks at 12Hz and its harmonics for the signal going through the slip-ring when it is turning at 60rpm.</li>
<li>Apart from that, the noise of the signal is the same when the slip-ring is off/on and turning</li>
<li>The noise of the signal going through the slip-ring is much higher that the direct signal from the DAC to the ADC</li>
<li>A peak is obverse at 11.5Hz on the direct signal as soon as the slip-ring is turned ON. Can this be due to high frequency noise and Aliasing? As there is no LPF to filter the noise on the direct signal, this effect could be more visible on the direct signal.</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: Dehaeze Thomas</p>
<p class="date">Created: 2019-05-16 jeu. 13:34</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>
</html>